- --local mob_number = math.random(0,2)
-
- local int = {-1,1}
- local pos = vector.floor(vector.add(player:getpos(),0.5))
-
- local x,z
-
- --this is used to determine the axis buffer from the player
- local axis = math.random(0,1)
-
- --cast towards the direction
- if axis == 0 then --x
- x = pos.x + math.random(inner,outer)*int[math.random(1,2)]
- z = pos.z + math.random(-outer,outer)
- else --z
- z = pos.z + math.random(inner,outer)*int[math.random(1,2)]
- x = pos.x + math.random(-outer,outer)
- end
-
- local spawner
- if pos.y >= 21000 then
- spawner = minetest.find_nodes_in_area_under_air(vector.new(x,pos.y-32,z), vector.new(x,pos.y+32,z), {"aether:grass"})
+ local x,z
+
+ --this is used to determine the axis buffer from the player
+ local axis = math.random(0,1)
+
+ --cast towards the direction
+ if axis == 0 then --x
+ x = pos.x + math.random(inner,outer)*int[math.random(1,2)]
+ z = pos.z + math.random(-outer,outer)
+ else --z
+ z = pos.z + math.random(inner,outer)*int[math.random(1,2)]
+ x = pos.x + math.random(-outer,outer)
+ end
+
+ local spawner = {}
+ if pos.y >= 21000 then
+ spawner = minetest.find_nodes_in_area_under_air(vector.new(x,pos.y-find_node_height,z), vector.new(x,pos.y+find_node_height,z), {"aether:grass"})
+ elseif pos.y <= -10033 and pos.y >= -20112 then
+ spawner = minetest.find_nodes_in_area_under_air(vector.new(x,pos.y-find_node_height,z), vector.new(x,pos.y+find_node_height,z), {"nether:netherrack"})
+ else
+ spawner = minetest.find_nodes_in_area_under_air(vector.new(x,pos.y-find_node_height,z), vector.new(x,pos.y+find_node_height,z), {"main:grass","main:sand","main:water"})
+ end
+
+ --print(dump(spawner))
+ if table.getn(spawner) > 0 then
+ local mob_pos = spawner[1]
+ mob_pos.y = mob_pos.y + 1
+ --aether spawning
+ if mob_pos.y >= 21000 then
+ local mob_spawning = aether_spawn_table[math.random(1,table.getn(aether_spawn_table))]
+ print("Aether Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
+ minetest.add_entity(mob_pos,"mob:"..mob_spawning)
+ elseif mob_pos.y <= -10033 and mob_pos.y >= -20112 then
+ local mob_spawning = nether_spawn_table[math.random(1,table.getn(nether_spawn_table))]
+ print("Nether Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
+ minetest.add_entity(mob_pos,"mob:"..mob_spawning)