From 2dc5f134b3abc3842f8b6dd4628d07b20ede6df8 Mon Sep 17 00:00:00 2001 From: Bas Date: Thu, 11 Apr 2013 02:48:46 +0300 Subject: [PATCH] Add special group hanging_node - hanging_node: drops node(s) beneath it if they contain hanging_node group. Can only place node when top node is haning_node or walkable true --- builtin/falling.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/builtin/falling.lua b/builtin/falling.lua index f6491991..5a50b51b 100644 --- a/builtin/falling.lua +++ b/builtin/falling.lua @@ -161,6 +161,17 @@ function nodeupdate_single(p, delay) end end + if minetest.get_node_group(n.name, "hanging_node") ~= 0 then + p_top = {x=p.x, y=p.y+1, z=p.z} + n_top = minetest.env:get_node(p_top) + if minetest.registered_nodes[n_top.name].walkable == true then return end + if minetest.get_node_group(n_top.name, "hanging_node") ~= 0 == false then + drop_attached_node(p) + nodeupdate(p) + end + return + end + if minetest.get_node_group(n.name, "attached_node") ~= 0 then if not check_attached_node(p, n) then drop_attached_node(p)