diff options
| -rw-r--r-- | mesecons_pistons/init.lua | 14 | 
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 | 
