From 6dcf541f6e4d0b03d57d36766e7e87641e551837 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Sat, 14 Jan 2017 21:39:17 -0800 Subject: [PATCH] Revert "Doors: Remove ..." and "Doors: Allow the screwdriver to ..." This reverts commit 5e4a6e8ac68b92c7394b80bb67839b71b4a4a00b, and commit 60cf3f85b6e661482ec2705cadbdc1b04e388d19. The original door API rewrite I posted had all rotation disabled using the correct on_rotate() handler returning `false`. Two subsequent changes attempting first to enable simple rotation and second disabling that again changed the callback handler to a boolean `false`, which is incorrect use in the screwdriver API, and actually allows rotation. The proper way to disable rotation for facedir nodes it to use a full callback handler that does `return false`. --- mods/doors/init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mods/doors/init.lua b/mods/doors/init.lua index ae257fb6..61d48c1d 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -376,7 +376,9 @@ function doors.register(name, def) minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) minetest.check_for_falling({x = pos.x, y = pos.y + 1, z = pos.z}) end - def.on_rotate = false + def.on_rotate = function(pos, node, user, mode, new_param2) + return false + end if def.protected then def.can_dig = can_dig_door