-
- --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))
+ end
+ end
+ return(counter)
+end
+
+
+local pos
+local mobs
+local spawner
+local mob_spawning
+local light_level
+local function spawn_mobs(player)
+ pos = player:get_pos()
+
+ mobs = get_mobs_in_radius(pos)
+
+ if mobs > spawn_goal_per_player then
+ return
+ end
+
+ pos = position_calculation(pos)
+
+ spawner = {}
+ if pos.y >= 21000 then
+ spawner = minetest.find_nodes_in_area_under_air(vector.new(pos.x,pos.y-find_node_height,pos.z), vector.new(pos.x,pos.y+find_node_height,pos.z), {"aether:grass"})
+ elseif pos.y <= -10033 and pos.y >= -20112 then
+ spawner = minetest.find_nodes_in_area_under_air(vector.new(pos.x,pos.y-find_node_height,pos.z), vector.new(pos.x,pos.y+find_node_height,pos.z), {"nether:netherrack"})
+ else
+ spawner = minetest.find_nodes_in_area_under_air(vector.new(pos.x,pos.y-find_node_height,pos.z), vector.new(pos.x,pos.y+find_node_height,pos.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
+ 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
+ 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)
+ else
+ light_level = minetest.get_node_light(spawner[1])
+
+ if weather_type == 1 then
+ if light_level < 10 then
+ mob_spawning = snow_dark_spawn_table[math.random(1,table.getn(snow_dark_spawn_table))]
+ --print("Snow Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))