summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesecons_pistons/init.lua14
1 files changed, 10 insertions, 4 deletions
diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua
index 49710d3..474f621 100644
--- a/mesecons_pistons/init.lua
+++ b/mesecons_pistons/init.lua
@@ -117,10 +117,16 @@ local piston_orientate = function(pos, placer)
local node = minetest.get_node(pos)
local pistonspec = minetest.registered_nodes[node.name].mesecons_piston
- if pitch > 55 then --looking upwards
- minetest.set_node(pos, {name=pistonspec.piston_down})
- elseif pitch < -55 then --looking downwards
- minetest.set_node(pos, {name=pistonspec.piston_up})
+
+ -- looking upwards (pitch > 55) / looking downwards (pitch < -55)
+ local nn = nil
+ if pitch > 55 then nn = {name = pistonspec.piston_down} end
+ if pitch < -55 then nn = {name = pistonspec.piston_up} end
+
+ if nn then
+ minetest.set_node(pos, nn)
+ -- minetest.after, because on_placenode for unoriented piston must be processed first
+ minetest.after(0, mesecon.on_placenode, pos, nn)
end
end