The old method was designed for 0.4 compatibility. Since 5.0
there appears to be a flag we can just check to see if the item
is still moving according to physics or settled.
When removing a stack, if there is a stack above, move it
immediately into place of the removed stack. This works
recursively, so stack nodes never have a chance to break out
into item entities, fall to the bottom and make a huge mess.
Unfortunately there isn't a very good visual for the stack
shifting down yet, but at least the gameplay is there.
When a leaf node is displaced by crushing by a falling node,
instead of ejecting an item, try to place the node itself within
a reasonable distance.
This shoudl reduce the number of stack nodes generated from tree
canopy decay, and should alleviate the inconsistency of leaves
falling sometimes as nodes and sometimes as stacks.
- Make handhold nodes glow, to visually simulate the player
character's now "familarity" with them by feel. We have to
represent it synesthetically because the game only gives us
sight and sound to work with.
- Make floors "scalable" so that they glow, even though they
don't affect maneuverability.
The effect of this is to allow a player who has fallen into a dark
cavern to navigate, slowly, by feel, allowing more extensive
self-rescue possibilities.
These are similar to wooden shelves, except:
- They are not flammable and protect all contents from fire.
- They can be accessed from the top as well, so can be used for
e.g. floor storage.
Stone, lode, and lux tools now all have their handles burn, and
eject the non-flammable portions of the tool.
Now using a unified on_ignite hook for when flammable things catch
fire. The call is made BEFORE the node is replaced, and has an
opportunity to look at node metadata and eject anything
non-flammable.
It can be a function, e.g. for shelves, or a static value in the
same format that the function would return (e.g. for lode tools
which need string values for temper substitutions).
If it returns a string or itemstack, it will eject that from the
position where the node burned. If it returns a table it will
eject all the values of that table.
Comb through issues. Shelve some of them. Fix a couple.
Add some ideas and reorganize/recombine others.
Lux tools should infuse in any open container, so shelves should
work fine too.
- 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.