Don't reuse damage_per_second for damage on punch and radiant
damage. This allows these to be defined separately, i.e. no longer
assuming that all damage is from "heat" and can radiate. This
allows for things like thorny plants that hurt if you touch them
or stand in them but not if you stand near them.
Thanks to WintersKnight94 for reporting this.
- Lenses no longer produce light from sun at all;
artificial light is always needed.
- Grass and trees survive, don't do dual-time check.
- Breeze sounds work in twilight.
- Sponge drying only requires twilight, now also can
happen under artificial light.
- Peat to grass happens under twilight.
- No day/night cycle, no sun/moon.
- Get rid of clouds too.
- Skybox is now 100% texture-packable.
- Natural light diminishes with depth.
Night-time no longer disrupts gameplay topside, but
skylights are no longer useful to an infinite depth and
artificial light is necessary for all deep mining.
- Register def tables instead of bare funcs.
- Add labels for mod logic use.
- Automatically skip for singlenode mapgens,
e.g. for the skyblock modpack.
Treat all API mods as a "layer", and use the new
nc_api_all registration to indicate that a mod depends
on the NC API (which ALL NC mods assume they do).
This means that each non-API mod does not need to
worry about which API mods it really needs and which
it does not, nor will they need to be updated for any
internal API restructures.
This is a game, not a modpack, so all mods will be
loaded anyway, and we only care about order. That
means that we don't really need to worry about
having excess dependencies because any mod we
don't actually need will be needed by something that's
loaded anyway. If somebody wants to reuse a
component elsewhere, they're likely to need to do
some work to untangle it anyway, because of the
amount that NodeCore mechanics interact and
interdepend.
This created a ton of dependency inversions, which
necessitated moving a number of API functions up into
higher layers, and restructuring dependency lists for
a number of mods.
BOLO: non-deterministic load errors due to missed
dependencies.
Sponges die more easily when in itemstack form,
for transport. Make them a bit less likely to die
from air exposure when in node form, to reduce
the number dying from temporary air bubbles after
neighoring sponges have been harvested.
This should reduce the chance that sponges are
killed by a transient, like the absence of water caused
by digging sand out from under one. It's still a bit
risky though.
Sponges grow way too slow for the new cultivation
mechanics. Extremely slow growth is no longer
necessary to prevent colony explosion due to the
introduction in gen2 of total colony size inhibition.
- Sponge mod now depends on optics/glass.
- Living sponges die to wet sponges rapidly in air.
- Living sponges are preserved by water, or a
water-tight container.
- Glass tanks with a watertight lid preserve sponges.
- Glass tanks inside a packed tote preserve sponges.
- Sponges have about a 2 second half-life in air.
The net effect is that capturing living sponges is no
longer a frustrating, probabilistic exercise, but now
transporting them involves significant technological and
problem-solving work.
AISM's now tick against stacks, including in piles, shelves,
and player inventories, (hopefully) efficiently compared to
the old way with separate ABMs. Item entity support is also
possible, but not necessary yet.
This started out as a bugfix for being able to put a torch inside a
shelf, which didn't make much sense gameplay-wise. It ended up
going quite a bit further.
- Aggregate now gets wet in stack form. Swimming with dry
concrete now has consequences.
- Lux reactions, radiation, and infusion should now behave more
consistently.
- Sponges can now wet or dry in stack form, including inside
containers.
- Torch ignition, quenching, and extinguishing is now more
consistent regardless of context, and torches are now more
dangerous, and can ignite things in more contexts.
Reinstate sponges spawning as mature colonies, and match mapgen
colonies to expected end-state of natural regrowth. This should
make it harder to distinguish an "old growth" area where players
have been hanging around a long time from pristine sponges.
- Inhibit sponge colony growth beyond a maximum size. Players
will have to prune colonies (or, smarter yet, split them) to
grow more sponges.
- Allow sponge colony transplantation. Sponges near the "core"
of a colony (i.e. surrounded by more sponges) are more viable
and more able to survive the player's crude harvesting.
- Collapse all nodecore "core" mods in the /mods listing, so it's
easier to find the actual add-on mods.
- Parameterize in-game branding to make renaming derivatives just
a little easier.
Bash gravel down into ash to produce dry aggregate.
Dampen the aggregate to produce wet aggregate. The ash chemically
reacts with gravel to produce a cement.
Let the wet aggregate dry and it will cure into smooth-stone.
It will tend to flow and wander if left uncontained though.
Water is now squeezed out, can be reabsorbed, BUT might disappear
before being reabsorbed anyway. The original sponge can be
removed, though, and the water will just disappear on its own
after the timeout.
Pummel a sponge and it will release water if there is space
nearby, though it will be reabsorbed by the sponge in a few
seconds.
This CAN be used to wet other sponges (i.e. to have a managed
supply of water if working far from oceans) but CANNOT be used
to create infinite springs.
If the original sponge is removed (and there is no other sponge
to absorb the water) then the water will be removed as well.