From c6eed377295c07a1ef281e131d161d0b443cf22a Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 26 Dec 2014 17:15:26 -0500 Subject: [PATCH] use node timers instead of abms --- init.lua | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/init.lua b/init.lua index 6f33cca..60675f1 100644 --- a/init.lua +++ b/init.lua @@ -261,6 +261,12 @@ for i in ipairs(sides) do walkable = true, use_texture_alpha = texalpha, selection_box = selectboxes_bottom, + on_timer = function(pos, elapsed) + if not getClosed(pos) then + local node = minetest.get_node(pos) + autoclose_doors.flip_door(pos, node, nil, doorname, side, false) + end + end, node_box = { type = "fixed", fixed = nodeboxes_bottom @@ -303,17 +309,6 @@ for i in ipairs(sides) do } } }) - - minetest.register_abm({ - nodenames = {"autoclose_doors:"..doorname.."_bottom_"..side}, - chance = 1, - interval = 10, - action = function(pos, node, active_object_count, active_object_count_wider) - if not getClosed(pos) then - autoclose_doors.flip_door(pos, node, nil, doorname, side, false) - end - end - }) end end @@ -429,5 +424,10 @@ function autoclose_doors.flip_door(pos, node, player, name, side, isClosed) minetest.add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "autoclose_doors:"..name.."_top_"..rside, param2=nfdir}) addDoorNode(pos,{ name = "autoclose_doors:"..name.."_bottom_"..rside, param2=nfdir },isClosed) + + local timer = minetest.get_node_timer(pos) + if not isClosed then + timer:start(10) + end end