Further spawn adjustments.

master
James Stevenson 2018-12-26 05:20:01 -05:00
parent 7c37b939b6
commit 4cc01a5d96
1 changed files with 14 additions and 14 deletions

View File

@ -77,25 +77,25 @@ minetest.register_node("mobs:spawner", {
end
local mob = mobs[random(#mobs)]
local colbox = minetest.registered_entities[mob].collisionbox
local p1 = {
x = pos.x + floor(colbox[1]),
y = pos.y + floor(colbox[2]),
z = pos.z + floor(colbox[3]),
}
local p2 = {
x = pos.x + ceil(colbox[4]),
y = pos.y + ceil(colbox[5]),
z = pos.z + ceil(colbox[6]),
}
local _, s = minetest.find_nodes_in_area(p1, p2, "air", true)
if s["air"] < 12 then
return minetest.set_node(pos, {name = "air"})
end
local spawn_pos = {
x = pos.x,
y = pos.y + 1.6,
z = pos.z,
}
local p1 = {
x = spawn_pos.x + floor(colbox[1]),
y = spawn_pos.y + floor(colbox[2]),
z = spawn_pos.z + floor(colbox[3]),
}
local p2 = {
x = spawn_pos.x + ceil(colbox[4]),
y = spawn_pos.y + ceil(colbox[5]),
z = spawn_pos.z + ceil(colbox[6]),
}
local _, s = minetest.find_nodes_in_area(p1, p2, "air", true)
if s["air"] < 9 then
return minetest.set_node(pos, {name = "air"})
end
minetest.add_entity(spawn_pos, mob)
return minetest.set_node(pos, {name = "air"})
else