From dfee51c21e1131c9c80fc7382b000954962f8b49 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Fri, 11 Mar 2016 22:11:39 -0800 Subject: [PATCH] Clean up door tops if fire destroys bottom. Fixes #909. Door tops are never flammable. This doesn't guard yet against a voxelmanip removing the top node, but that is less of an issue since if a voxelmanip removes the top, then the bottom part remains functional and visibly intact. If the voxelmanip removes the bottom part, but not the top, then this patch makes it clean up the top just fine. --- mods/doors/init.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mods/doors/init.lua b/mods/doors/init.lua index e5962bd3..9300e6ff 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -339,6 +339,10 @@ function doors.register(name, def) end end + def.on_destruct = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + end + minetest.register_node(":" .. name .. "_a", { description = def.description, visual = "mesh", @@ -361,6 +365,7 @@ function doors.register(name, def) can_dig = def.can_dig, on_rotate = def.on_rotate, on_blast = def.on_blast, + on_destruct = def.on_destruct, selection_box = { type = "fixed", fixed = { -1/2,-1/2,-1/2,1/2,3/2,-6/16} @@ -393,6 +398,7 @@ function doors.register(name, def) can_dig = def.can_dig, on_rotate = def.on_rotate, on_blast = def.on_blast, + on_destruct = def.on_destruct, selection_box = { type = "fixed", fixed = { -1/2,-1/2,-1/2,1/2,3/2,-6/16} -- 2.25.1