diff --git a/mesecons/util.lua b/mesecons/util.lua index 55519a4..2fea137 100644 --- a/mesecons/util.lua +++ b/mesecons/util.lua @@ -8,11 +8,10 @@ end -- An on_rotate callback for mesecons components. function mesecon.on_rotate(pos, node, user, mode, new_param2) - minetest.swap_node(pos, {name = "air"}) + local new_node = {name = node.name, param1 = node.param1, param2 = new_param2} + minetest.swap_node(pos, new_node) mesecon.on_dignode(pos, node) - node.param2 = new_param2 - minetest.swap_node(pos, node) - mesecon.on_placenode(pos, node) + mesecon.on_placenode(pos, new_node) minetest.check_for_falling(pos) return true end diff --git a/mesecons_receiver/init.lua b/mesecons_receiver/init.lua index ea30638..c0f4fdb 100644 --- a/mesecons_receiver/init.lua +++ b/mesecons_receiver/init.lua @@ -263,12 +263,11 @@ minetest.register_on_placenode(function (pos, node) end) function mesecon.buttonlike_onrotate(pos, node, user, mode, new_param2) - minetest.swap_node(pos, {name = "air"}) + local new_node = {name = node.name, param1 = node.param1, param2 = new_param2} + minetest.swap_node(pos, new_node) mesecon.receiver_remove(pos, node) mesecon.on_dignode(pos, node) - node.param2 = new_param2 - minetest.swap_node(pos, node) - mesecon.on_placenode(pos, node) + mesecon.on_placenode(pos, new_node) mesecon.receiver_place(pos) minetest.check_for_falling(pos) return true