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.
ABM action calls are delayed until a background timer picks them
up, but it passes in the original args and assumes that the nodes
haven't changed. In addition, it bypasses our bug #8378 hack,
because that check is done in the abm action call but NOT the
background worker timer.
Do a check in the worker to make sure the node to be acted on has
not changed since the call was queued, and just let the call miss
and waste in that case.
Note that this automatically implicitly handles any #8378 issues
that may still be present since it has to force a fresh check of
the node to be operated on anyway.
- Move design principles back into docs (needs cleanup).
- New player-oriented README content.
- Clean up issue/wishlist docs a bit (some things are no longer
relevant).
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.
We actually haven't been testing in 0.4 at all for quite a while
now. Since this is a standalone base game without complex
interdependency relationships, there isn't really any need to
maintain compat with old versions of the engine. Players can
upgrade to play; keeping a separate copy just to play on old 0.4
servers is even still an option.
There is some internal cruft that has been building up to support
0.4, and this allows us to purge most of it. The larger benefit
may come when we're able to remove line_of_sight in favor of the
more efficient raycast (still yet to be done).
- Included new content.
- Partially converted to base on recipes instead of just items.
- Added support for group and toolcap checks.
Fixed a number of small bugs elsewhere in the process.
Hopefully calling minetest.get_node_or_nil() again for all ABM's
will bypass the broken node cache. We should see warning messages
in the logs if this is the case.
- Don't generate in high terrain above y = 32 at all.
- Increase concentraion through 7 different strata moving downwards
up until max concentration at y = -4096. This creates incentives
for digging deep instead of just staying at surface.