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)