]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/mob/spawning.lua
Tune spiders eyes more and enable spawning
[Crafter.git] / mods / mob / spawning.lua
index ce289bc3307eee02d7ab5c8273a8dab6a270cc2e..c271ccb0665a7a1fb138b17c86b8dc137444acee 100644 (file)
@@ -1,7 +1,9 @@
 --this is where mob spawning is defined
 
 --spawn mob in a square doughnut shaped radius
-local chance = 20
+local timer = 6
+--the amount of mobs that the game will try to spawn
+local spawn_goal = 14
 --inner and outer part of square donut radius
 local inner = 24
 local outer = 80
@@ -11,14 +13,14 @@ local find_node_height = 32
 --for debug testing to isolate mobs
 local spawn = true
 
-local spawn_table = {"pig","chicken"}
-local snow_spawn_table = {"snowman"}
-local dark_spawn_table = {"creeper","spider","big_slime","medium_slime","small_slime"}
+local spawn_table = {"pig","chicken","sheep"}
+local snow_spawn_table = {"snowman","snoider","sneeper",}
+local dark_spawn_table = {"creeper","creeper","creeper","spider","spider","spider","big_slime","medium_slime","small_slime"}
 local nether_spawn_table = {"nitro_creeper"}
 local aether_spawn_table = {"phyg"}
 
 local function spawn_mobs()
-       print("---------------------------------------------")
+       --print("---------------------------------------------")
        if spawn and global_mob_amount < mob_limit then
                --check through players
                for _,player in ipairs(minetest.get_connected_players()) do                     
@@ -55,34 +57,37 @@ local function spawn_mobs()
                                --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))
+                                       --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))
+                                       --print("Nether Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
                                        minetest.add_entity(mob_pos,"mob:"..mob_spawning)
                                else
                                        local light_level = minetest.get_node_light(spawner[1])
                                        if weather_type == 1 then
                                                local mob_spawning = snow_spawn_table[math.random(1,table.getn(snow_spawn_table))]
-                                               print("Snow Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
+                                               --print("Snow Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
                                                minetest.add_entity(mob_pos,"mob:"..mob_spawning)
                                        elseif light_level < 10 then
                                                local mob_spawning = dark_spawn_table[math.random(1,table.getn(dark_spawn_table))]
-                                               print("Dark Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
+                                               --print("Dark Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
                                                minetest.add_entity(mob_pos,"mob:"..mob_spawning)
                                        else
                                                local mob_spawning = spawn_table[math.random(1,table.getn(spawn_table))]
-                                               print("Light Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
+                                               --print("Light Spawning "..mob_spawning.." at: "..minetest.pos_to_string(mob_pos))
                                                minetest.add_entity(mob_pos,"mob:"..mob_spawning)
                                        end
                                end
                        end
                end
        end
-       minetest.after(6, function()
+       minetest.after(global_mob_amount/spawn_goal, function()
                spawn_mobs()
        end)
 end
-
-spawn_mobs()
\ No newline at end of file
+minetest.register_on_mods_loaded(function()
+       minetest.after(0,function()
+               spawn_mobs()
+       end)
+end)