Fix TNT drops being placed inside nodes

This commit is contained in:
ShadowNinja 2015-10-18 22:06:53 -04:00 committed by paramat
parent 0472e61a9d
commit c76a91943c

View File

@ -29,8 +29,20 @@ minetest.after(0, function()
end) end)
local function rand_pos(center, pos, radius) local function rand_pos(center, pos, radius)
pos.x = center.x + math.random(-radius, radius) local def
pos.z = center.z + math.random(-radius, radius) 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 end
local function eject_drops(drops, pos, radius) local function eject_drops(drops, pos, radius)