From aff9c28eed5536ac886734d41c33a84bac5fcbaf Mon Sep 17 00:00:00 2001 From: VitaliyShar <111154840+VitaliyShar@users.noreply.github.com> Date: Thu, 18 Aug 2022 12:02:24 +0300 Subject: [PATCH] Improve stair placement rotation for bridging (#2979) Co-authored-by: sfan5 --- mods/stairs/init.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua index 4ba854fa..fabd9642 100644 --- a/mods/stairs/init.lua +++ b/mods/stairs/init.lua @@ -32,7 +32,13 @@ local function rotate_and_place(itemstack, placer, pointed_thing) if placer then local placer_pos = placer:get_pos() if placer_pos then - param2 = minetest.dir_to_facedir(vector.subtract(p1, placer_pos)) + local diff = vector.subtract(p1, placer_pos) + param2 = minetest.dir_to_facedir(diff) + -- The player places a node on the side face of the node he is standing on + if p0.y == p1.y and math.abs(diff.x) <= 0.5 and math.abs(diff.z) <= 0.5 and diff.y < 0 then + -- reverse node direction + param2 = (param2 + 2) % 4 + end end local finepos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)