Aaron Suen 91e5c615c2 ABM delay, prevent "prompt critical" ignition
During processing of the flammable ignition ABM,
nodes could ignite, causing the new ember nodes
created by this ignition to trigger fire propagation
instantly during the same tick by nodes still yet
to be processed for ABM checks during the same
scan.  This often caused large areas of flammable
nodes, like wooden plank skyblocks, to be ignited
instantly in a specific direction from any source
ignition.  This led to some "cheap shots" where
players were ruined by fire far more rapidly than
they should be.

Instead of processing flammability checks in
sync, delay them until the next tick, so that we
find all flammables to check before any new
igniters are created.  This should tame fire
spreading back down to normal levels.
2022-01-22 16:20:10 -05:00

26 lines
675 B
Lua

-- LUALOCALS < ---------------------------------------------------------
local include, minetest, nodecore
= include, minetest, nodecore
-- LUALOCALS > ---------------------------------------------------------
nodecore.amcoremod()
nodecore.register_limited_abm = function(...)
nodecore.log("warning", "deprecated register_limited_abm in "
.. (minetest.get_current_modname() or "unknown mod"))
return minetest.register_abm(...)
end
include("abmmux")
include("abmdelay")
include("abminvert")
include("abmarea")
include("stasis")
include("dnts")
include("aism")
include("soaking")
include("ambiance")
include("playerstep")
include("dynalight")
include("fluidwander")