Aaron Suen 135701f4f8 Remove soaking neighbor checks
These cause some issues, like the ability to soak
dirt under water for a short time to initialize the
soaking metadata, then remove the water flow,
then add it in and have leaching complete instantly
because the neighbor check prevented the soaking
ABM from firing to detect that the water was
removed.

In the course of investigating why ABMs are so slow
to begin with, it was discovered that having neighbor
checks can slow an ABM down by a factor of something
like 7x, so clearly the assumption that the neigbor check
being done in C++ as "efficient" was false.  This means
that we may be better off just always firing the ABM and
letting Lua check only a couple of relevant nodes (e.g.
for water flows in the space above) instead for
performance.

The main performance concern was dirt leaching, since
dirt generates naturally in the world in bulk, but if the
single check for water above may be faster than checking
all 26 neighbors in C++ anyway, we might as well let the
soaking API run for it so that it can detect the water having
been removed and reset the counters.
2021-07-10 11:23:09 -04:00
..
2020-02-05 07:16:22 -05:00
2021-07-10 11:09:44 -04:00
2021-07-10 11:09:44 -04:00
2020-09-26 14:55:15 -04:00
2021-07-10 11:09:44 -04:00
2020-12-28 20:54:57 -05:00
2021-03-15 00:11:05 -04:00
2020-09-28 23:07:43 -04:00
2021-07-10 11:09:44 -04:00
2021-07-10 11:23:09 -04:00
2021-07-02 15:40:52 -04:00