1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-01-23 00:10:25 +01:00

added selective spawning in area if mobs.protected enabled

This commit is contained in:
crabman77 2015-07-21 21:57:32 +02:00
parent 5da3f5bfab
commit ffd79152fd
27 changed files with 32 additions and 31 deletions

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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", {

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)