Fix TNT drops being placed inside nodes

master
ShadowNinja 2015-10-18 22:06:53 -04:00 committed by paramat
parent 0472e61a9d
commit c76a91943c
1 changed files with 14 additions and 2 deletions

View File

@ -29,8 +29,20 @@ minetest.after(0, function()
end)
local function rand_pos(center, pos, radius)
pos.x = center.x + math.random(-radius, radius)
pos.z = center.z + math.random(-radius, radius)
local def
local reg_nodes = minetest.registered_nodes
local i = 0
repeat
-- Give up and use the center if this takes too long
if i > 4 then
pos.x, pos.z = center.x, center.z
break
end
pos.x = center.x + math.random(-radius, radius)
pos.z = center.z + math.random(-radius, radius)
def = reg_nodes[minetest.get_node(pos).name]
i = i + 1
until def and not def.walkable
end
local function eject_drops(drops, pos, radius)