summaryrefslogtreecommitdiff
path: root/builtin/falling.lua
diff options
context:
space:
mode:
authorWeblate <42@minetest.ru>2013-03-30 19:49:52 +0100
committerWeblate <42@minetest.ru>2013-03-30 19:49:52 +0100
commita0566270d9fa075afa36a7e3e68c690b1b23ba90 (patch)
tree6bc88127ee67b7bf4d6a2d6f9d0a9e5f997d1dd1 /builtin/falling.lua
parent0d83bdc3aa9f1077836aacb833ac4ad9bbb9a4f4 (diff)
parent1aa50b13622c1e264044839ecdf0152670dae6ce (diff)
downloadminetest-a0566270d9fa075afa36a7e3e68c690b1b23ba90.tar.gz
minetest-a0566270d9fa075afa36a7e3e68c690b1b23ba90.tar.bz2
minetest-a0566270d9fa075afa36a7e3e68c690b1b23ba90.zip
Merge remote branch 'origin/master'
Diffstat (limited to 'builtin/falling.lua')
-rw-r--r--builtin/falling.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/builtin/falling.lua b/builtin/falling.lua
index d3af36f29..1c09f9856 100644
--- a/builtin/falling.lua
+++ b/builtin/falling.lua
@@ -57,6 +57,10 @@ minetest.register_entity("__builtin:falling_node", {
-- Note: walkable is in the node definition, not in item groups
if minetest.registered_nodes[bcn.name] and
minetest.registered_nodes[bcn.name].walkable then
+ if minetest.registered_nodes[bcn.name].buildable_to then
+ minetest.env:remove_node(bcp)
+ return
+ end
local np = {x=bcp.x, y=bcp.y+1, z=bcp.z}
-- Check what's here
local n2 = minetest.env:get_node(np)
@@ -80,6 +84,7 @@ minetest.register_entity("__builtin:falling_node", {
-- Create node and remove entity
minetest.env:add_node(np, {name=self.nodename})
self.object:remove()
+ nodeupdate(np)
else
-- Do nothing
end
@@ -144,7 +149,8 @@ function nodeupdate_single(p)
n_bottom = minetest.env:get_node(p_bottom)
-- Note: walkable is in the node definition, not in item groups
if minetest.registered_nodes[n_bottom.name] and
- not minetest.registered_nodes[n_bottom.name].walkable then
+ (not minetest.registered_nodes[n_bottom.name].walkable or
+ minetest.registered_nodes[n_bottom.name].buildable_to) then
minetest.env:remove_node(p)
spawn_falling_node(p, n.name)
nodeupdate(p)