diff --git a/mods/ITEMS/REDSTONE/mesecons/services.lua b/mods/ITEMS/REDSTONE/mesecons/services.lua index 7d1fce2d8..d13c6091e 100644 --- a/mods/ITEMS/REDSTONE/mesecons/services.lua +++ b/mods/ITEMS/REDSTONE/mesecons/services.lua @@ -21,7 +21,13 @@ function mesecon.on_placenode(pos, node) end mesecon.receptor_on (pos, mesecon.conductor_get_rules(node)) elseif mesecon.is_conductor_on(node) then - minetest.swap_node(pos, {name = mesecon.get_conductor_off(node)}) + local offstate = mesecon.get_conductor_off(node) + if type(offstate) == "function" then + local res = offstate(pos, node) + core.swap_node(pos, {name = res[1], param2 = res[2]}) + else + core.swap_node(pos, {name = offstate}) + end end end