Improve stair placement rotation for bridging (#2979)

Co-authored-by: sfan5 <sfan5@live.de>
This commit is contained in:
VitaliyShar 2022-08-18 12:02:24 +03:00 committed by GitHub
parent e903b1f6d0
commit aff9c28eed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -32,7 +32,13 @@ local function rotate_and_place(itemstack, placer, pointed_thing)
if placer then if placer then
local placer_pos = placer:get_pos() local placer_pos = placer:get_pos()
if placer_pos then 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 end
local finepos = minetest.pointed_thing_to_face_pos(placer, pointed_thing) local finepos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)