From fe9c6871de5db8add9ef196a088b975ed51a4eba Mon Sep 17 00:00:00 2001 From: Jeija Date: Mon, 15 Feb 2016 16:35:38 +0100 Subject: [PATCH] Fix pistons not connecting to wire and not activating when placing up/down pistons from certain directions --- mesecons_pistons/init.lua | 14 ++++++++++---- 1 file 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