diff options
Diffstat (limited to 'mesecons/services.lua')
-rw-r--r-- | mesecons/services.lua | 19 |
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 ) |