diff options
Diffstat (limited to 'mesecons/services.lua')
-rw-r--r-- | mesecons/services.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mesecons/services.lua b/mesecons/services.lua index d549cb0..0cf94d2 100644 --- a/mesecons/services.lua +++ b/mesecons/services.lua @@ -1,6 +1,8 @@ -- Dig and place services mesecon.on_placenode = function (pos, node) + mesecon.update_autoconnect(pos, node) + -- Receptors: Send on signal when active if mesecon:is_receptor_on(node.name) then mesecon:receptor_on(pos, mesecon:receptor_get_rules(node)) @@ -18,7 +20,7 @@ mesecon.on_placenode = function (pos, node) mesecon:turnon(pos, rule) end --mesecon:receptor_on (pos, mesecon:conductor_get_rules(node)) - elseif mesecon:is_conductor_off(node.name) then + elseif mesecon:is_conductor_on(node) then minetest.swap_node(pos, {name = mesecon:get_conductor_off(node)}) end end @@ -41,8 +43,11 @@ mesecon.on_dignode = function (pos, node) elseif mesecon:is_receptor_on(node.name) then mesecon:receptor_off(pos, mesecon:receptor_get_rules(node)) end + mesecon.queue:add_action(pos, "update_autoconnect", {node}) end +mesecon.queue:add_function("update_autoconnect", mesecon.update_autoconnect) + minetest.register_on_placenode(mesecon.on_placenode) minetest.register_on_dignode(mesecon.on_dignode) |