summaryrefslogtreecommitdiff
path: root/mesecons/services.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons/services.lua')
-rw-r--r--mesecons/services.lua19
1 files changed, 18 insertions, 1 deletions
diff --git a/mesecons/services.lua b/mesecons/services.lua
index cf3b78b..4cf615e 100644
--- a/mesecons/services.lua
+++ b/mesecons/services.lua
@@ -6,7 +6,24 @@ minetest.register_on_dignode(
end
if mesecon:is_receptor_node(oldnode.name) then
- mesecon:receptor_off(pos)
+ mesecon:receptor_off(pos, mesecon:receptor_get_rules(oldnode))
+ end
+ end
+)
+
+minetest.register_on_placenode(
+ function (pos, node)
+ if mesecon:is_receptor_node(node.name) then
+ mesecon:receptor_on(pos, mesecon:receptor_get_rules(node))
+ end
+
+ if mesecon:is_powered(pos) then
+ if mesecon:is_conductor_off(node.name) then
+ mesecon:turnon(pos)
+ else
+ mesecon:changesignal(pos)
+ mesecon:activate(pos)
+ end
end
end
)