* Remove `leaves` group from mangrove roots node registration. Mangrove
roots should not decay like leaves do.
* Fix some formatting weirdness.
* Add a "fixme" comment to some duplicated code that causes luacheck to
complain.
* This group is no longer used and is removed from leaves node groups.
* Since it was never added to GROUPS.md, nothing needs changed there.
* Remove the `leafdecay_distance` parameter from node registrations.
* The leaf decay ABM no longer scans all leaves nodes. Now only
"orphaned" leaves are decayed. These nodes are placed by callbacks
in tree trunk nodes upon their destruction.
* This commit also removes the tree trunk node caching system and an
abm throttling mechanism and its associated globalstep function.
* Add "orphaned" leaves nodes, these are copies of the regular leaves
nodes whose sole purpose is to replace leaves nodes when no more tree
trunks are present nearby. The orphaned nodes are swapped in by a
callback on destruction of tree trunk nodes and will be decayed by a
dedicated abm that processes all nodes in `group:leaves_orphan`.
* Add `mcl_core.update_leaves()` function, a `after_destruct` callback
handler for tree trunk nodes. The function finds leaves nodes nearby
destroyed tree trunk nodes and swaps these for orphaned leaves nodes
if no other tree trunk nodes remain near them.
* Add `after_destruct` callbacks to tree trunk node registrations in
mcl_core/nodes_trees.lua and mcl_mangrove/init.lua to update orphaned
leaves.
* Add entry for group `leaves_orphan` to GROUPS.md
* Also add entry for group `leaves` to GROUPS.md (it was missing).
* Put calculations that are only used conditionally inside the
related `if` block.
* Make code logic more explicit.
* Take logging statement out of return value assignment.
* Remove duplicate assignment.
* Fix a typo in the function's description.
Missing features:
* Slimes should not only spawn in caves, but also at night in swamps.
* Slimes should only spawn on 10% of the map ("slime chunks").
* There are no spawn eggs registered for small and tiny slimes and magma
cubes.
When a slime or magma cube dies, it should spawn between 2 to 4 smaller
children. The code was always spawning 4 children (3 for big magma
cubes). This commit makes the following changes to the function
`spawn_children_on_die`:
* Make the number of children spawned a random number between 2 and 4.
* No longer accept the `children_count` as an argument, because this
number should always be a random number between 2 and 4 anyway.
* Update all callers accordingly.