From bbf17c9ecabe3e6f8782d1faf91c34ece361026b Mon Sep 17 00:00:00 2001
From: Auke Kok <sofar@foo-projects.org>
Date: Sat, 13 Feb 2016 20:00:37 -0800
Subject: [PATCH] Allow building doors on buildable_to nodes.

This code never allowed placing a door on e.g. a grass
plant. The code to handle this isn't that complex. With
this code, doors can be placed on flowers and on normal
node surfaces without issues.
---
 mods/doors/init.lua | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/mods/doors/init.lua b/mods/doors/init.lua
index 925c94e8..b1a04cc7 100644
--- a/mods/doors/init.lua
+++ b/mods/doors/init.lua
@@ -183,8 +183,15 @@ function doors.register(name, def)
 		inventory_image = def.inventory_image,
 
 		on_place = function(itemstack, placer, pointed_thing)
-			local pos = pointed_thing.above
-			local node = minetest.get_node(pos)
+			local pos = nil
+
+			local node = minetest.get_node(pointed_thing.under)
+			if minetest.registered_nodes[node.name].buildable_to then
+				pos = pointed_thing.under
+			else
+				pos = pointed_thing.above
+				node = minetest.get_node(pos)
+			end
 
 			if not minetest.registered_nodes[node.name].buildable_to then
 				return itemstack
-- 
GitLab