From eba3ce1308346732598b83652fc7a301c760e5e7 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Wed, 11 Sep 2019 15:17:19 -0400 Subject: [PATCH] fix incorrect "onpole" activation when placing on top/bottom of post --- api.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/api.lua b/api.lua index 80e545b..5a14a74 100644 --- a/api.lua +++ b/api.lua @@ -579,13 +579,20 @@ function signs_lib.check_for_pole(pos, pointed_thing) local pnode = minetest.get_node(ppos) local pdef = minetest.registered_items[pnode.name] - if signs_lib.allowed_poles[pnode.name] + print(dump(pos)) + print(dump(ppos)) + + if (signs_lib.allowed_poles[pnode.name] or (pdef and pdef.drawtype == "fencelike") or string.find(pnode.name, "default:fence_") or string.find(pnode.name, "_post") or string.find(pnode.name, "fencepost") or (pnode.name == "streets:bigpole" and pnode.param2 < 4) - or (pnode.name == "streets:bigpole" and pnode.param2 > 19 and pnode.param2 < 24) then + or (pnode.name == "streets:bigpole" and pnode.param2 > 19 and pnode.param2 < 24) + ) + and + (pos.x ~= ppos.x or pos.z ~= ppos.z) then + print("signs_lib.check_for_pole returned true") return true end end