Default, fire: Disable catch-up in some ABMs
authorparamat <mat.gregory@virginmedia.com>
Thu, 5 Nov 2015 01:17:13 +0000 (01:17 +0000)
committerparamat <mat.gregory@virginmedia.com>
Sat, 14 Nov 2015 04:49:03 +0000 (04:49 +0000)
To avoid processing spikes where catch-up is non-essential
Disable in: Lavacooling, grass growing, grass removal
and all fire mod ABMs

mods/default/functions.lua
mods/fire/init.lua

index 7ba71fece66f1a1fad8adfd06caa8cf3af30eb7d..ef4ea55be1752faecb9e51d46afc2c37bc4267c8 100644 (file)
@@ -105,6 +105,7 @@ minetest.register_abm({
        neighbors = {"group:water"},
        interval = 1,
        chance = 2,
+       catch_up = false,
        action = function(...)
                default.cool_lava_flowing(...)
        end,
@@ -115,6 +116,7 @@ minetest.register_abm({
        neighbors = {"group:water"},
        interval = 1,
        chance = 2,
+       catch_up = false,
        action = function(...)
                default.cool_lava_source(...)
        end,
@@ -313,6 +315,7 @@ minetest.register_abm({
        nodenames = {"default:dirt"},
        interval = 2,
        chance = 200,
+       catch_up = false,
        action = function(pos, node)
                local above = {x = pos.x, y = pos.y + 1, z = pos.z}
                local name = minetest.get_node(above).name
@@ -338,6 +341,7 @@ minetest.register_abm({
        nodenames = {"default:dirt_with_grass", "default:dirt_with_dry_grass"},
        interval = 2,
        chance = 20,
+       catch_up = false,
        action = function(pos, node)
                local above = {x = pos.x, y = pos.y + 1, z = pos.z}
                local name = minetest.get_node(above).name
index 7c65c5bb717e8fe96344c4c3d30ef1854fa3bbab..fc55b8dd8570ac6adba69a7c6566afd6f8c3ff83 100644 (file)
@@ -171,6 +171,7 @@ minetest.register_abm({
        neighbors = {"group:puts_out_fire"},
        interval = 3,
        chance = 2,
+       catch_up = false,
        action = function(p0, node, _, _)
                minetest.remove_node(p0)
                minetest.sound_play("fire_extinguish_flame",
@@ -189,6 +190,7 @@ if minetest.setting_getbool("disable_fire") then
                nodenames = {"fire:basic_flame"},
                interval = 7,
                chance = 2,
+               catch_up = false,
                action = function(p0, node, _, _)
                        minetest.remove_node(p0)
                end,
@@ -203,6 +205,7 @@ else
                neighbors = {"group:igniter"},
                interval = 7,
                chance = 16,
+               catch_up = false,
                action = function(p0, node, _, _)
                        -- If there is water or stuff like that around node, don't ignite
                        if fire.flame_should_extinguish(p0) then
@@ -221,6 +224,7 @@ else
                nodenames = {"fire:basic_flame"},
                interval = 5,
                chance = 16,
+               catch_up = false,
                action = function(p0, node, _, _)
                        -- If there are no flammable nodes around flame, remove flame
                        if not minetest.find_node_near(p0, 1, {"group:flammable"}) then