minetest.register_abm({ label = "Sponge Loop", nodenames = {"pyutest_core:sponge"}, neighbors = {"group:liquid"}, interval = 0, chance = 1, action = function (pos) local range = 4 local function replace(npos) local node = minetest.get_node(npos) if node.name == "air" then return end local def = minetest.registered_nodes[node.name] if def.groups["liquid"] == 1 then minetest.remove_node(npos) end end PyuTestCore.dorange(pos, range, function(p) replace(p) end) end }) minetest.register_abm({ label = "Contagious Acid Spread", nodenames = {"group:acid_vulnerable"}, neighbors = {"pyutest_core:contagious_acid"}, interval = 3.4, chance = 3.7, catchup = true, action = function (pos) minetest.set_node(pos, { name = "pyutest_core:contagious_acid" }) end }) minetest.register_abm({ label = "Fire Spread", nodenames = {"group:flammable"}, neighbors = {"pyutest_core:fire"}, interval = 1, chance = 4, action = function (pos) minetest.set_node(pos, { name = "pyutest_core:fire" }) end })