diff options
author | Thomas Rudin <thomas@rudin.io> | 2019-10-14 20:13:35 +0200 |
---|---|---|
committer | Thomas Rudin <thomas@rudin.io> | 2019-10-14 20:13:35 +0200 |
commit | 53935e81eef563986b3182c3c94f92d614d9ea27 (patch) | |
tree | 44dc0d94375b240a22d4a2f34f96fc5c6629b9bb | |
parent | 7b6d776051582176e357ca364f82143ca4818dac (diff) | |
download | mesecons_debug-53935e81eef563986b3182c3c94f92d614d9ea27.tar.gz mesecons_debug-53935e81eef563986b3182c3c94f92d614d9ea27.zip |
add luac penalty
-rw-r--r-- | init.lua | 1 | ||||
-rw-r--r-- | luacontroller.lua | 45 | ||||
-rw-r--r-- | mod.conf | 2 |
3 files changed, 47 insertions, 1 deletions
@@ -12,6 +12,7 @@ mesecons_debug = { dofile(MP.."/privs.lua") dofile(MP.."/flush.lua") dofile(MP.."/overrides.lua") +dofile(MP.."/luacontroller.lua") dofile(MP.."/chatcommands.lua") dofile(MP.."/hud.lua") diff --git a/luacontroller.lua b/luacontroller.lua new file mode 100644 index 0000000..615e4c6 --- /dev/null +++ b/luacontroller.lua @@ -0,0 +1,45 @@ + +local function override_node_timer(node_name) + local def = minetest.registered_nodes[node_name] + local old_node_timer = def.on_timer + def.on_timer = function(pos) + local ctx = mesecons_debug.get_context(pos) + if ctx.penalty > 0 then + -- defer + local timer = minetest.get_node_timer(pos) + local meta = minetest.get_meta(pos) + local is_defered = meta:get_int("_defered") == 1 + + if is_defered then + -- already delayed + meta:set_int("_defered", 0) + return old_node_timer(pos) + else + -- start timer + meta:set_int("_defered", 1) + timer:start(ctx.penalty) + end + else + -- immediate + return old_node_timer(pos) + end + end +end + +-- luaC +local BASENAME = "mesecons_luacontroller:luacontroller" +for a = 0, 1 do -- 0 = off 1 = on +for b = 0, 1 do +for c = 0, 1 do +for d = 0, 1 do + local cid = tostring(d)..tostring(c)..tostring(b)..tostring(a) + local node_name = BASENAME..cid + override_node_timer(node_name) +end +end +end +end + +-- blinky +override_node_timer("mesecons_blinkyplant:blinky_plant_off") +override_node_timer("mesecons_blinkyplant:blinky_plant_on") @@ -1,3 +1,3 @@ name = mesecons_debug depends = mesecons -optional_depends = mesecons_blinkyplant, pipeworks, technic +optional_depends = mesecons_blinkyplant, mesecons_luacontroller, pipeworks, technic |