diff --git a/mods/mobs/api.lua b/mods/mobs/api.lua index de0bc049..055e3807 100755 --- a/mods/mobs/api.lua +++ b/mods/mobs/api.lua @@ -1199,7 +1199,7 @@ end mobs.spawning_mobs = {} -function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height) +function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height, spawn_in_area) mobs.spawning_mobs[name] = true minetest.register_abm({ nodenames = nodes, @@ -1219,7 +1219,8 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, inter -- mobs cannot spawn inside protected areas if enabled if mobs.protected == 1 - and minetest.is_protected(pos, "") then + and minetest.is_protected(pos, "") + and not spawn_in_area then return end diff --git a/mods/mobs/bee.lua b/mods/mobs/bee.lua index 06e55c95..9e52214c 100755 --- a/mods/mobs/bee.lua +++ b/mods/mobs/bee.lua @@ -50,7 +50,7 @@ mobs:register_mob("mobs:bee", { end, }) -- spawn on group:flowers between 4 and 20 light, 1 in 5000 chance, 1 bee in area up to 31000 in height -mobs:spawn_specific("mobs:bee", {"group:flower"}, {"air"}, 4, 20, 30, 5000, 1, -31000, 31000) +mobs:spawn_specific("mobs:bee", {"group:flower"}, {"air"}, 4, 20, 30, 5000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:bee", "Bee", "mobs_bee_inv.png", 0) diff --git a/mods/mobs/bunny.lua b/mods/mobs/bunny.lua index 899ae501..0be7f4ed 100755 --- a/mods/mobs/bunny.lua +++ b/mods/mobs/bunny.lua @@ -94,5 +94,5 @@ mobs:register_mob("mobs:bunny", { attack_type = "dogfight", damage = 5, }) -mobs:spawn_specific("mobs:bunny", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:bunny", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000, true) mobs:register_egg("mobs:bunny", "Bunny", "mobs_bunny_inv.png", 0) diff --git a/mods/mobs/chicken.lua b/mods/mobs/chicken.lua index 34b78fa1..2bc50fb2 100755 --- a/mods/mobs/chicken.lua +++ b/mods/mobs/chicken.lua @@ -98,7 +98,7 @@ mobs:register_mob("mobs:chicken", { end, }) -- spawn on default or bamboo grass between 8 and 20 light, 1 in 10000 change, 1 chicken in area up to 31000 in height -mobs:spawn_specific("mobs:chicken", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:chicken", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:chicken", "Chicken", "mobs_chicken_inv.png", 0) diff --git a/mods/mobs/cow.lua b/mods/mobs/cow.lua index bb3f44e5..789e7bc6 100755 --- a/mods/mobs/cow.lua +++ b/mods/mobs/cow.lua @@ -119,7 +119,7 @@ mobs:register_mob("mobs:cow", { -- spawn on default;green;prairie grass between 0 and 20 light, 1 in 11000 chance, 1 cow in area up to 31000 in height -mobs:spawn_specific("mobs:cow", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:cow", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:cow", "Cow", "default_grass.png", 1) diff --git a/mods/mobs/creeper.lua b/mods/mobs/creeper.lua index f75da8cd..af28ec6e 100755 --- a/mods/mobs/creeper.lua +++ b/mods/mobs/creeper.lua @@ -52,5 +52,5 @@ mobs:register_mob("mobs:creeper", { speed_normal = 15, speed_run = 15, }, }) -mobs:spawn_specific("mobs:creeper", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 20000, 1, -31000, 31000) +mobs:spawn_specific("mobs:creeper", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 20000, 1, -31000, 31000, false) mobs:register_egg("mobs:creeper", "Creeper", "mobs_creeper_inv.png", 1) diff --git a/mods/mobs/dirtmonster.lua b/mods/mobs/dirtmonster.lua index 7e95700a..5c2da588 100755 --- a/mods/mobs/dirtmonster.lua +++ b/mods/mobs/dirtmonster.lua @@ -51,6 +51,6 @@ mobs:register_mob("mobs:dirt_monster", { }, }) -- spawn on dirt_with_grass and drygrass between -1 and 5 light, 1 in 10000 change, 1 dirt monster in area up to 31000 in height -mobs:spawn_specific("mobs:dirt_monster", {"default:dirt_with_grass", "watershed:drygrass"}, {"air"}, -1, 5, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:dirt_monster", {"default:dirt_with_grass", "watershed:drygrass"}, {"air"}, -1, 5, 30, 10000, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:dirt_monster", "Dirt Monster", "default_dirt.png", 1) diff --git a/mods/mobs/dungeonmaster.lua b/mods/mobs/dungeonmaster.lua index 8ad46203..6b75a494 100755 --- a/mods/mobs/dungeonmaster.lua +++ b/mods/mobs/dungeonmaster.lua @@ -68,7 +68,7 @@ mobs:register_mob("mobs:dungeon_master", { }, }) -- spawn on stone between 20 and -1 light, 1 in 7000 chance, 1 dungeon master in area starting at -100 and below -mobs:spawn_specific("mobs:dungeon_master", {"default:stone", "default:sandstone", "nether:netherrack"}, {"air"}, -1, 20, 30, 7000, 1, -31000, -250) +mobs:spawn_specific("mobs:dungeon_master", {"default:stone", "default:sandstone", "nether:netherrack"}, {"air"}, -1, 20, 30, 7000, 1, -31000, -250, false) -- register spawn egg mobs:register_egg("mobs:dungeon_master", "Dungeon Master", "fire_basic_flame.png", 1) diff --git a/mods/mobs/goat.lua b/mods/mobs/goat.lua index 0bb33fa7..626aa68e 100755 --- a/mods/mobs/goat.lua +++ b/mods/mobs/goat.lua @@ -61,6 +61,6 @@ mobs:register_mob("mobs:goat", { replace_with = "air", }) -- spawn on dirt_with_grass between -1 and 20 light, 1 in 20000 chance, 1 goat in area up to 31000 in height -mobs:spawn_specific("mobs:goat", {"default:dirt_with_grass"}, {"air"}, -1, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:goat", {"default:dirt_with_grass"}, {"air"}, -1, 20, 30, 10000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:goat", "Goat", "default_grass.png", 1) diff --git a/mods/mobs/greenslimes.lua b/mods/mobs/greenslimes.lua index 82f7d41f..545df6b0 100755 --- a/mods/mobs/greenslimes.lua +++ b/mods/mobs/greenslimes.lua @@ -158,8 +158,8 @@ mobs:register_mob("mobs:greenbig", { mobs:register_egg("mobs:greenbig", "Big Green Slime", "mobs_green_slime_egg.png", 1) --mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height) -mobs:spawn_specific("mobs:greenbig", {"default:acid_source"},{"default:acid_flowing"}, -1, 20, 30, 4000, 1, -32000, 32000) -mobs:spawn_specific("mobs:greenmedium", {"default:acid_source"},{"default:acid_flowing"},-1, 20, 30, 4000, 2, -32000, 32000) +mobs:spawn_specific("mobs:greenbig", {"default:acid_source"},{"default:acid_flowing"}, -1, 20, 30, 4000, 1, -32000, 32000, false) +mobs:spawn_specific("mobs:greenmedium", {"default:acid_source"},{"default:acid_flowing"},-1, 20, 30, 4000, 2, -32000, 32000, false) --mobs:spawn_specific("mobs:greensmall", {"default:acid_source"},{"default:acid_flowing"},-1, 20, 30, 10000, 2, -32000, 32000) --mobs:register_spawn(name, nodes, max_light, min_light, chance, active_object_count, max_height) diff --git a/mods/mobs/kitten.lua b/mods/mobs/kitten.lua index 6f2de90a..2b75639d 100755 --- a/mods/mobs/kitten.lua +++ b/mods/mobs/kitten.lua @@ -79,5 +79,5 @@ mobs:register_mob("mobs:kitten", { mobs:capture_mob(self, clicker, 50, 50, 90, false, nil) end }) -mobs:spawn_specific("mobs:kitten", {"default:dirt_with_grass"}, {"air"}, 0, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:kitten", {"default:dirt_with_grass"}, {"air"}, 0, 20, 30, 10000, 1, -31000, 31000, true) mobs:register_egg("mobs:kitten", "Kitten", "mobs_kitten_inv.png", 0) diff --git a/mods/mobs/lava_flan.lua b/mods/mobs/lava_flan.lua index ab773fdf..a7cd7cb4 100755 --- a/mods/mobs/lava_flan.lua +++ b/mods/mobs/lava_flan.lua @@ -56,7 +56,7 @@ mobs:register_mob("mobs:lava_flan", { end, }) -- spawns in lava between -1 and 20 light, 1 in 2000 chance, 3 in area below 31000 in height -mobs:spawn_specific("mobs:lava_flan", {"default:lava_source"}, {"air"}, -1, 20, 30, 2500, 3, -31000, 31000) +mobs:spawn_specific("mobs:lava_flan", {"default:lava_source"}, {"air"}, -1, 20, 30, 2500, 3, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:lava_flan", "Lava Flan", "default_lava.png", 1) diff --git a/mods/mobs/lavaslimes.lua b/mods/mobs/lavaslimes.lua index c6383566..cbb6bf58 100755 --- a/mods/mobs/lavaslimes.lua +++ b/mods/mobs/lavaslimes.lua @@ -165,9 +165,9 @@ mobs:register_mob("mobs:lavabig", { mobs:register_egg("mobs:lavabig", "Big Lava Slime", "mobs_lava_slime_egg.png", 1) --mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height) -mobs:spawn_specific("mobs:lavabig", {"default:lava_source"},{"default:lava_flowing"}, -1, 20, 30, 4000, 1, -32000, 32000) -mobs:spawn_specific("mobs:lavamedium", {"default:lava_source"},{"default:lava_flowing"}, -1, 20, 30, 4000, 2, -32000, 32000) ---mobs:spawn_specific("mobs:lavasmall", {"default:lava_source"},{"default:lava_flowing"}, -1, 20, 30, 10s000, 2, -32000, 32000) +mobs:spawn_specific("mobs:lavabig", {"default:lava_source"},{"default:lava_flowing"}, -1, 20, 30, 4000, 1, -32000, 32000, false) +mobs:spawn_specific("mobs:lavamedium", {"default:lava_source"},{"default:lava_flowing"}, -1, 20, 30, 4000, 2, -32000, 32000, false) +--mobs:spawn_specific("mobs:lavasmall", {"default:lava_source"},{"default:lava_flowing"}, -1, 20, 30, 10s000, 2, -32000, 32000, false) -- lava orb minetest.register_craftitem("mobs:lava_orb", { diff --git a/mods/mobs/mese_monster.lua b/mods/mobs/mese_monster.lua index c00b718e..2e1516eb 100755 --- a/mods/mobs/mese_monster.lua +++ b/mods/mobs/mese_monster.lua @@ -62,7 +62,7 @@ mobs:register_mob("mobs:mese_monster", { }, }) -- spawn on stone between 20 and -1 light, 1 in 7000 chance, 1 in area below -25 -mobs:spawn_specific("mobs:mese_monster", {"default:stone", "default:sandstone"}, {"air"}, -1, 20, 30, 7000, 1, -31000, -125) +mobs:spawn_specific("mobs:mese_monster", {"default:stone", "default:sandstone"}, {"air"}, -1, 20, 30, 7000, 1, -31000, -125, false) -- register spawn egg mobs:register_egg("mobs:mese_monster", "Mese Monster", "default_mese_block.png", 1) diff --git a/mods/mobs/minotaur.lua b/mods/mobs/minotaur.lua index 00f3bee6..5d8698d9 100755 --- a/mods/mobs/minotaur.lua +++ b/mods/mobs/minotaur.lua @@ -60,7 +60,7 @@ mobs:register_mob("mobs:minotaur", { }, }) -- spawns on desert sand between -1 and 20 light, 1 in 20000 chance, 1 Minotaur in area up to 31000 in height -mobs:spawn_specific("mobs:minotaur", {"watershed:drygrass"}, {"air"}, -1, 20, 30, 100000, 1, -31000, 31000) +mobs:spawn_specific("mobs:minotaur", {"watershed:drygrass"}, {"air"}, -1, 20, 30, 100000, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:minotaur", "Minotaur", "default_desert_sand.png", 1) diff --git a/mods/mobs/npc.lua b/mods/mobs/npc.lua index b4aef7b2..4e9e6e5e 100755 --- a/mods/mobs/npc.lua +++ b/mods/mobs/npc.lua @@ -125,6 +125,6 @@ mobs:register_mob("mobs:npc", { end, }) -- spawning enable for now -mobs:spawn_specific("mobs:npc", {"default:dirt_with_grass", "default:dirt", "default:junglegrass", "default:sand"}, {"air"}, -1, 20, 30, 50000, 1, -31000, 31000) +mobs:spawn_specific("mobs:npc", {"default:dirt_with_grass", "default:dirt", "default:junglegrass", "default:sand"}, {"air"}, -1, 20, 30, 50000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:npc", "Npc", "default_brick.png", 1) diff --git a/mods/mobs/oerkki.lua b/mods/mobs/oerkki.lua index 19d491b3..1b77c285 100755 --- a/mods/mobs/oerkki.lua +++ b/mods/mobs/oerkki.lua @@ -58,6 +58,6 @@ mobs:register_mob("mobs:oerkki", { replace_offset = -1, }) -- spawns on stone/sandstone between 5 and -1 light, 1 in 7000 chance, 1 in area starting at -10 and below -mobs:spawn_specific("mobs:oerkki", {"default:stone", "default:sandstone"}, {"air"}, -1, 5, 30, 7000, 1, -31000, -75) +mobs:spawn_specific("mobs:oerkki", {"default:stone", "default:sandstone"}, {"air"}, -1, 5, 30, 7000, 1, -31000, -75, false) -- register spawn egg mobs:register_egg("mobs:oerkki", "Oerkki", "default_obsidian.png", 1) diff --git a/mods/mobs/rat.lua b/mods/mobs/rat.lua index 35069c63..d50294e3 100755 --- a/mods/mobs/rat.lua +++ b/mods/mobs/rat.lua @@ -45,7 +45,7 @@ mobs:register_mob("mobs:rat", { ]] }) -- spawn on stone between 1 and 20 light, 1 in 7000 chance, 1 per area up to 31000 in height -mobs:spawn_specific("mobs:rat", {"default:stone", "default:sandstone"}, {"air"}, 0, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:rat", {"default:stone", "default:sandstone"}, {"air"}, 0, 20, 30, 10000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:rat", "Rat", "mobs_rat_inventory.png", 0) diff --git a/mods/mobs/sandmonster.lua b/mods/mobs/sandmonster.lua index 8d975ca7..b25ad3c4 100755 --- a/mods/mobs/sandmonster.lua +++ b/mods/mobs/sandmonster.lua @@ -52,6 +52,6 @@ mobs:register_mob("mobs:sand_monster", { }, }) -- spawns on desert sand between -1 and 20 light, 1 in 15000 chance, 1 sand monster in area up to 31000 in height -mobs:spawn_specific("mobs:sand_monster", {"default:desert_sand", "default:sand"}, {"air"}, -1, 20, 30, 20000, 1, -31000, 31000) +mobs:spawn_specific("mobs:sand_monster", {"default:desert_sand", "default:sand"}, {"air"}, -1, 20, 30, 20000, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:sand_monster", "Sand Monster", "default_desert_sand.png", 1) diff --git a/mods/mobs/sheep.lua b/mods/mobs/sheep.lua index 98e62065..a0b68c19 100755 --- a/mods/mobs/sheep.lua +++ b/mods/mobs/sheep.lua @@ -152,7 +152,7 @@ mobs:register_mob("mobs:sheep", { end, }) -- spawn on default;green grass between 20 and 8 light, 1 in 9000 chance, 1 sheep in area up to 31000 in height -mobs:spawn_specific("mobs:sheep", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:sheep", {"default:dirt_with_grass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:sheep", "Sheep", "wool_white.png", 1) diff --git a/mods/mobs/spider.lua b/mods/mobs/spider.lua index 06581fcb..54c1e0ae 100755 --- a/mods/mobs/spider.lua +++ b/mods/mobs/spider.lua @@ -58,7 +58,7 @@ mobs:register_mob("mobs:spider", { }, }) -- spawn on jungleleaves/jungletree, between 0 and 5 light, 1 in 10000 chance, 1 in area up to 31000 in height -mobs:spawn_specific("mobs:spider", {"default:jungleleaves", "default:jungletree"}, {"air"}, -1, 20, 30, 7000, 1, -31000, 31000) +mobs:spawn_specific("mobs:spider", {"default:jungleleaves", "default:jungletree"}, {"air"}, -1, 20, 30, 7000, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:spider", "Spider", "mobs_cobweb.png", 1) diff --git a/mods/mobs/stonemonster.lua b/mods/mobs/stonemonster.lua index 9f8bf844..3955967b 100755 --- a/mods/mobs/stonemonster.lua +++ b/mods/mobs/stonemonster.lua @@ -57,6 +57,6 @@ mobs:register_mob("mobs:stone_monster", { }, }) -- spawns on stone between -1 and 5 light, 1 in 7000 chance, 1 in area below -25 -mobs:spawn_specific("mobs:stone_monster", {"default:stone", "default:sandstone"}, {"air"}, -1, 5, 30, 7000, 1, -31000, -25) +mobs:spawn_specific("mobs:stone_monster", {"default:stone", "default:sandstone"}, {"air"}, -1, 5, 30, 7000, 1, -31000, -25, false) -- register spawn egg mobs:register_egg("mobs:stone_monster", "Stone Monster", "default_stone.png", 1) diff --git a/mods/mobs/treemonster.lua b/mods/mobs/treemonster.lua index fdb7fc28..9c68478d 100755 --- a/mods/mobs/treemonster.lua +++ b/mods/mobs/treemonster.lua @@ -58,7 +58,7 @@ mobs:register_mob("mobs:tree_monster", { }, }) -- spawn on leaves and beech_leaves, between 0 and 5 light, 1 in 8000 chance, 1 in area up to 31000 in height -mobs:spawn_specific("mobs:tree_monster", {"default:leaves", "moretrees:beech_leaves"}, {"air"}, 0, 5, 30, 8000, 1, -31000, 31000) +mobs:spawn_specific("mobs:tree_monster", {"default:leaves", "moretrees:beech_leaves"}, {"air"}, 0, 5, 30, 8000, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:tree_monster", "Tree Monster", "default_tree_top.png", 1) diff --git a/mods/mobs/warthog.lua b/mods/mobs/warthog.lua index aa4eabe1..1bf184ea 100755 --- a/mods/mobs/warthog.lua +++ b/mods/mobs/warthog.lua @@ -94,7 +94,7 @@ mobs:register_mob("mobs:pumba", { end, }) -- spawns on dirt or junglegrass, between 8 and 20 light, 1 in 10000 chance, 1 in area up to 31000 in height -mobs:spawn_specific("mobs:pumba", {"default:dirt", "default:junglegrass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:pumba", {"default:dirt", "default:junglegrass"}, {"air"}, 8, 20, 30, 10000, 1, -31000, 31000, true) -- register spawn egg mobs:register_egg("mobs:pumba", "Warthog", "wool_pink.png", 1) diff --git a/mods/mobs/wolf.lua b/mods/mobs/wolf.lua index 642b321d..e2c5abd4 100755 --- a/mods/mobs/wolf.lua +++ b/mods/mobs/wolf.lua @@ -67,5 +67,5 @@ mobs:register_mob("mobs:wolf", { end end }) -mobs:spawn_specific("mobs:wolf", {"default:dirt_with_grass"}, {"air"}, -1, 3, 30, 10000, 1, -31000, 31000) +mobs:spawn_specific("mobs:wolf", {"default:dirt_with_grass"}, {"air"}, -1, 3, 30, 10000, 1, -31000, 31000, false) mobs:register_egg("mobs:wolf", "Wolf", "mobs_wolf_inv.png", 1) diff --git a/mods/mobs/yeti.lua b/mods/mobs/yeti.lua index 37ebb152..59fdd344 100755 --- a/mods/mobs/yeti.lua +++ b/mods/mobs/yeti.lua @@ -58,7 +58,7 @@ mobs:register_mob("mobs:yeti", { }, }) -- spawn on stone between 20 and -1 light, 1 in 7000 chance, 1 in area below 31000 -mobs:spawn_specific("mobs:yeti", {"default:dirt_with_snow", "default:snow", "default:snowblock"}, {"air"}, -1, 20, 30, 30000, 1, -31000, 31000) +mobs:spawn_specific("mobs:yeti", {"default:dirt_with_snow", "default:snow", "default:snowblock"}, {"air"}, -1, 20, 30, 30000, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:yeti", "Yeti", "default_snow.png", 1) diff --git a/mods/mobs/zombie.lua b/mods/mobs/zombie.lua index 4837a563..75d2dd31 100755 --- a/mods/mobs/zombie.lua +++ b/mods/mobs/zombie.lua @@ -59,7 +59,7 @@ mobs:register_mob("mobs:zombie", { }) -- spawn in nether forest between -1 and 5 light, 1 in 6000 change, 1 zombie in area up to 31000 in height -mobs:spawn_specific("mobs:zombie", {"nether:dirt_top"}, {"air"}, -1, 5, 30, 6600, 1, -31000, 31000) +mobs:spawn_specific("mobs:zombie", {"nether:dirt_top"}, {"air"}, -1, 5, 30, 6600, 1, -31000, 31000, false) -- register spawn egg mobs:register_egg("mobs:zombie", "Zombie", "mobs_zombie_head.png", 1)