summaryrefslogtreecommitdiff
path: root/mesecons/services.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons/services.lua')
-rw-r--r--mesecons/services.lua7
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)