initial everything

This commit is contained in:
flux 2023-07-19 16:07:27 -07:00
parent c7ae5135f4
commit f18e089bac
Signed by: flux
GPG Key ID: 9333B27816848A15
23 changed files with 1182 additions and 134 deletions

18
caverealms_lite.lua Normal file
View File

@ -0,0 +1,18 @@
spawnit.register({
entity_name = "mobs_monster:dungeon_master",
chance = 300 * 7000 / 6000,
on = {"caverealms:hot_cobble"},
max_y = -8000,
max_light = 12,
max_in_area = 2,
min_player_distance = 12,
spawn_in_protected = false,
after_spawn = function(pos, obj)
local ent = obj:get_luaentity()
ent.hp_max = 70
ent.health = 70
ent.damage = 5
ent.shoot_interval = 1.5
ent.dogshoot_switch = 0
end,
})

19
flower_cow.lua Normal file
View File

@ -0,0 +1,19 @@
local BASE_CHANCE = 300 -- one every 5 minutes
local BASE_CHANCE_RATIO = 60 * 8000 -- cow
local MAX_IN_AREA = 1
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity_name = "flower_cow:flower_cow",
chance = BASE_CHANCE * (60 * 80000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:grass" },
min_y = 5,
max_y = 200,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})

1
mob_core.lua Normal file
View File

@ -0,0 +1 @@
mob_core.spawn_enabled = false -- note that this doesn't disable the ABM, but nothing will spawn

View File

@ -0,0 +1,200 @@
local f = string.format
local BASE_CHANCE = 300 -- one every 5 minutes
local BASE_CHANCE_RATIO = 60 * 8000 -- cow
local MAX_IN_AREA = 5
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity_name = "mobs_animal:bee",
chance = BASE_CHANCE * (60 * 7000) / BASE_CHANCE_RATIO,
near = { "group:flower" },
on = { "any" },
min_y = 3,
max_y = 200,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:bunny",
chance = BASE_CHANCE * (60 * 8000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:grass" },
min_y = 5,
max_y = 200,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:chicken",
chance = BASE_CHANCE * (60 * 8000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:grass" },
min_y = 5,
max_y = 200,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:cow",
chance = BASE_CHANCE * (60 * 8000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:grass" },
min_y = 5,
max_y = 200,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:kitten",
chance = BASE_CHANCE * (60 * 10000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:grass" },
min_y = 5,
max_y = 50,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:panda",
chance = BASE_CHANCE * (60 * 8000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "ethereal:bamboo", "ethereal:bamboo_leaves", "ethereal:bamboo_sprout" },
min_y = 10,
max_y = 80,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:penguin",
chance = BASE_CHANCE * (60 * 20000) / BASE_CHANCE_RATIO,
on = { "default:snowblock", "default:ice" },
min_y = 0,
max_y = 10,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "mobs_animal:rat",
chance = BASE_CHANCE * (60 * 8000) / BASE_CHANCE_RATIO,
min_light = 3,
max_light = 9,
max_y = 0,
max_in_area = MAX_IN_AREA,
})
local function make_child(obj, ent)
local textures = ent.base_texture
-- using specific child texture (if found)
if ent.child_texture then
textures = ent.child_texture[1]
end
-- and resize to half height (multiplication is faster than division)
obj:set_properties({
textures = textures,
visual_size = {
x = ent.base_size.x * .5,
y = ent.base_size.y * .5
},
collisionbox = {
ent.base_colbox[1] * .5,
ent.base_colbox[2] * .5,
ent.base_colbox[3] * .5,
ent.base_colbox[4] * .5,
ent.base_colbox[5] * .5,
ent.base_colbox[6] * .5
},
selectionbox = {
ent.base_selbox[1] * .5,
ent.base_selbox[2] * .5,
ent.base_selbox[3] * .5,
ent.base_selbox[4] * .5,
ent.base_selbox[5] * .5,
ent.base_selbox[6] * .5
}
})
ent.child = true
end
local colors = {
black = "#212121b0",
brown = "#663300a0",
dark_grey = "#444444b0",
grey = "#919191b0",
white = "#ffffffc0",
}
local function after_spawn_sheep(pos, obj)
local ent = obj:get_luaentity()
if not ent then
return
end
local color = ent.name:match("^mobs_animal:sheep_(.*)$")
local horns = math.random(400) <= pos.y
local lamb = math.random(4) == 1
if horns and not lamb then
local texture = f("mobs_sheep_base.png^mobs_sheep_horns.png^(mobs_sheep_wool.png^[multiply:%s)",
colors[color]
)
obj:set_properties({ textures = { texture } })
ent.base_texture = { texture }
ent.attribute_horns = horns
elseif lamb then
make_child(obj, ent)
end
end
spawnit.register({
entity_name = {
["mobs_animal:sheep_white"] = 24,
["mobs_animal:sheep_black"] = 4,
["mobs_animal:sheep_brown"] = 2,
["mobs_animal:sheep_grey"] = 1,
["mobs_animal:sheep_dark_grey"] = 1,
},
chance = BASE_CHANCE * (60 * 12000) / BASE_CHANCE_RATIO,
cluster = 4,
on = { "group:soil" },
near = { "group:grass" },
min_y = 0,
max_y = 400,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
after_spawn = after_spawn_sheep,
})
spawnit.register({
entity_name = "mobs_animal:pumba",
chance = BASE_CHANCE * (60 * 8000) / BASE_CHANCE_RATIO,
on = { "default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass", "default:dirt_with_rainforest_litter", "ethereal:mushroom_dirt" },
near = { "group:mushroom", "group:grass" },
min_y = 0,
max_y = 200,
min_light = 2,
max_in_area = MAX_IN_AREA,
})

33
mobs_balrog.lua Normal file
View File

@ -0,0 +1,33 @@
local s = mobs_balrog.settings
local base_chance = 7200
spawnit.register({
entity_name = "mobs_balrog:balrog",
chance = base_chance,
within = { "breathable" },
on = { "node" },
min_y = s.min_height,
max_y = s.max_height,
min_light = s.min_light,
max_light = s.max_light,
max_in_area = 1,
max_in_area_radius = 128,
min_player_distance = 24,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_balrog:balrog",
chance = base_chance / 2,
within = { "breathable" },
on = { "node" },
min_y = s.min_height,
max_y = (3 * s.min_height + s.max_height) / 4,
min_light = s.min_light,
max_light = s.max_light,
max_in_area = 1,
max_in_area_radius = 128,
min_player_distance = 24,
spawn_in_protected = false,
})

11
mobs_banshee.lua Normal file
View File

@ -0,0 +1,11 @@
spawnit.register({
entity_name = "mobs_banshee:banshee",
chance = 300,
within = { "breathable" },
on = { "any" },
near = { "bones:bones"},
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})

10
mobs_gazer.lua Normal file
View File

@ -0,0 +1,10 @@
spawnit.register({
entity_name = "mobs_gazer:gazer" ,
chance = 300,
on = { "node" },
max_y = -500,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})

24
mobs_ghost_redo.lua Normal file
View File

@ -0,0 +1,24 @@
local ghost_bones_only = minetest.settings:get_bool("mobs_ghost_redo_bones_only", false)
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
local near
if ghost_bones_only then
near = {"bones:bones", "mobs_humans:human_bones"}
else
near = {"any"}
end
spawnit.register({
entity_name = "mobs_ghost_redo:ghost",
chance = 300,
within = { "any" },
on = { "any" },
near = near,
max_in_area = 2,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
min_player_distance = 12,
spawn_in_protected = false,
})

8
mobs_mime.lua Normal file
View File

@ -0,0 +1,8 @@
spawnit.register({
entity_name = "mobs_mime:mime",
chance = 300,
max_in_area = 1,
within = { "not walkable" },
min_player_distance = 12,
spawn_in_protected = false,
})

195
mobs_monster.lua Normal file
View File

@ -0,0 +1,195 @@
local BASE_CHANCE = 300 -- one every 5 minutes
local BASE_CHANCE_RATIO = 6000 -- dirt monster
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity_name = "mobs_monster:dirt_monster",
on = {"group:soil"},
chance = BASE_CHANCE * 6000 / BASE_CHANCE_RATIO,
min_y = 0,
max_light = 7,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
max_in_area = 2,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:dungeon_master",
chance = BASE_CHANCE * 9000 / BASE_CHANCE_RATIO,
max_y = -70,
max_light = 5,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
if yl_spawnit.has.nether and nether.DEPTH_FLOOR > -70 then
spawnit.register({
entity_name = "mobs_monster:dungeon_master",
chance = 300,
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_light = 5,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
end
spawnit.register({
entity_name = "mobs_monster:fire_spirit",
on = {"default:obsidian", "caverealms:hot_cobble"},
near = {"group:fire"},
chance = BASE_CHANCE * 1500 / BASE_CHANCE_RATIO,
max_y = -150,
min_light = 12,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:land_guard",
on = {
"default:snow", "default:ice", "default:stone",
"default:dry_dirt_with_dry_grass", "ethereal:dry_dirt"
},
chance = BASE_CHANCE * 25000 / BASE_CHANCE_RATIO,
min_y = 0,
max_light = 7,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:lava_flan",
within = {"default:lava_source"},
on = { "any" },
chance = BASE_CHANCE * 1500 / BASE_CHANCE_RATIO,
max_y = 0,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:mese_monster",
on = { "any" },
near = { "default:mese", "default:stone_with_mese"},
chance = BASE_CHANCE * 5000 / BASE_CHANCE_RATIO,
max_y = -20,
max_light = 7,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:oerkki",
on = { "group:cracky", "group:crumbly" },
chance = BASE_CHANCE * 6000 / BASE_CHANCE_RATIO,
max_y = -10,
max_light = 6,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:oerkki",
on = { "group:cracky", "group:crumbly" },
chance = BASE_CHANCE * 3000 / BASE_CHANCE_RATIO,
max_y = -10000,
max_light = 6,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:oerkki",
on = { "group:cracky", "group:crumbly" },
chance = BASE_CHANCE * 1000 / BASE_CHANCE_RATIO,
max_y = -25000,
max_light = 6,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:sand_monster",
on = {"default:desert_sand"},
chance = BASE_CHANCE * 7000 / BASE_CHANCE_RATIO,
min_y = 0,
max_light = 7,
max_in_area = 2,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:spider",
on = {"default:dirt_with_rainforest_litter", "default:snowblock",
"default:snow", "ethereal:crystal_dirt", "ethereal:cold_dirt"},
chance = BASE_CHANCE * 7000 / BASE_CHANCE_RATIO,
min_y = 25,
max_light = 8,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:spider",
chance = BASE_CHANCE * 7000 / BASE_CHANCE_RATIO,
max_y = -40,
max_light = 7,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:stone_monster",
chance = BASE_CHANCE * 7000 / BASE_CHANCE_RATIO,
on = {"default:stone", "default:desert_stone", "default:sandstone"},
max_y = 0,
max_light = 7,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:tree_monster",
chance = BASE_CHANCE * 7000 / BASE_CHANCE_RATIO,
on = {"group:soil"},
near = {"group:tree", "group:leaves"},
min_y = 0,
max_y = 5000,
max_light = 6,
max_in_area = 1,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "mobs_monster:tree_monster",
chance = BASE_CHANCE * 7000 / BASE_CHANCE_RATIO,
on = {"group:leaves"},
min_y = 0,
max_light = 7,
max_in_area = 1,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
min_player_distance = 12,
spawn_in_protected = false,
})

23
mobs_others.lua Normal file
View File

@ -0,0 +1,23 @@
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity_name = "mobs_others:snow_walker",
chance = 300,
on = {"default:dirt_with_snow",
"default:permafrost",
"default:permafrost_with_stones",
"default:permafrost_with_moss",
"default:snow",
"default:snowblock",
"default:ice",
"default:cave_ice"},
min_y = -15,
max_in_area = 2,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
min_player_distance = 12,
spawn_in_protected = false,
})
-- the ice monsters are automatically spawned w/ the snow walkers

9
mobs_redo.lua Normal file
View File

@ -0,0 +1,9 @@
-- here, we try to do the impossible and unregister mobs_redo spawns...
if minetest.settings:get_bool("mobs_spawn", true) then
minetest.settings:set_bool("mobs_spawn", false)
if not minetest.settings:write() then
error("cannot disable mobs_redo spawning")
end
error("mobs_redo spawning has been disabled; please restart, this error shouldn't occur again.")
end

1
mobs_skeletons.lua Normal file
View File

@ -0,0 +1 @@
-- these are disabled

9
mobs_umbra.lua Normal file
View File

@ -0,0 +1,9 @@
spawnit.register({
entity_name = "mobs_umbra:umbra",
chance = 300,
max_y = -300,
max_light = 5,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})

View File

@ -1,4 +1,27 @@
name = spawn_things
version = 2023-07-16
depends = fmod, spawnit
optional_depends = petz, mobs_animal
optional_depends = """
caverealms_lite,
flower_cow,
mob_core,
mobs_animal,
mobs_balrog,
mobs_banshee,
mobs_gazer,
mobs_ghost_redo,
mobs_mime,
mobs_monster,
mobs_others,
mobs_redo,
mobs_skeletons,
mobs_umbra,
nether,
petz,
nether_monsters,
scorpion,
water_life,
xocean,
yl_commons,
yl_nether_mobs,
"""

1
nether.lua Normal file
View File

@ -0,0 +1 @@
-- this space intentionally left blank

21
nether_monsters.lua Normal file
View File

@ -0,0 +1,21 @@
spawnit.register({
entity_name = "nether_mobs:dragon",
chance = 150000,
cluster = 1,
on = {"any"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
min_player_distance = 16,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "nether_mobs:netherman",
chance = 15,
cluster = 2,
on = {"nether:sand", "nether:rack"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
min_player_distance = 5,
spawn_in_protected = false,
})

298
petz.lua
View File

@ -8,81 +8,92 @@ local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity = "petz:bat",
entity_name = "petz:bat",
chance = BASE_CHANCE,
within = { "breathable airlike" },
on = { "any" },
max_y = 5000,
max_light = 5,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:beaver",
entity_name = "petz:beaver",
chance = BASE_CHANCE / 0.6,
within = { "default:river_water_source" },
on = { "any" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:bunny",
entity_name = "petz:bunny",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:butterfly",
entity_name = "petz:butterfly",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "any" },
near = { "group:flower" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:calf",
entity_name = "petz:calf",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:camel",
entity_name = "petz:camel",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:sand", "default:desert_sandstone", "default:sandstone" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:chimp",
entity_name = "petz:chimp",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_rainforest_litter", "ethereal:jungle_dirt", "default:jungleleaves", "moretrees:jungletree_leaves_yellow", "moretrees:jungletree_leaves_red", "ethereal:palmleaves", "moretrees:date_palm_leaves", "moretrees:palm_leaves" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 8,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:clownfish",
entity_name = "petz:clownfish",
chance = BASE_CHANCE,
cluster = 3,
within = { "default:water_source" },
@ -90,107 +101,115 @@ spawnit.register({
near = { "group:coral" },
min_y = -100,
max_y = 5000,
min_light = 2,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:dolphin",
entity_name = "petz:dolphin",
chance = BASE_CHANCE,
cluster = 3,
within = { "default:water_source" },
on = { "any" },
min_y = -100,
max_y = 5000,
min_light = 2,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:ducky",
entity_name = "petz:ducky",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil", "group:water" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:elephant",
entity_name = "petz:elephant",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_rainforest_litter","default:dirt_with_dry_grass","default:dry_dirt","default:dry_dirt_with_dry_grass","ethereal:dry_dirt","ethereal:jungle_dirt" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:elephant_female",
entity_name = "petz:elephant_female",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_rainforest_litter","default:dirt_with_dry_grass","default:dry_dirt","default:dry_dirt_with_dry_grass","ethereal:dry_dirt","ethereal:jungle_dirt" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:flamingo",
entity_name = "petz:flamingo",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "default:dirt_with_coniferous_litter","default:dirt_with_grass","default:dirt_with_dry_grass","default:dry_dirt","default:dry_dirt_with_dry_grass" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:foxy",
entity_name = "petz:foxy",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:frog",
entity_name = "petz:frog",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "default:dirt_with_grass","default:dirt_with_rainforest_litter","ethereal:bamboo_dirt","ethereal:grove_dirt","ethereal:jungle_dirt","ethereal:prairie_dirt","woodsoils:grass_with_leaves_1","woodsoils:grass_with_leaves_2" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 8,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:gecko",
entity_name = "petz:gecko",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "default:dirt_with_coniferous_litter","default:dirt_with_grass","default:dirt_with_dry_grass","default:dry_dirt","default:dry_dirt_with_dry_grass" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:goat",
entity_name = "petz:goat",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:grizzly",
entity_name = "petz:grizzly",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_grass","default:dirt_with_rainforest_litter","ethereal:bamboo_dirt","ethereal:grove_dirt","ethereal:jungle_dirt","ethereal:prairie_dirt","woodsoils:grass_with_leaves_1","woodsoils:grass_with_leaves_2" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
@ -198,52 +217,55 @@ spawnit.register({
})
spawnit.register({
entity = "petz:hamster",
entity_name = "petz:hamster",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "group:sand","default:desert_sandstone","default:sandstone" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:hen",
entity_name = "petz:hen",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:kitty",
entity_name = "petz:kitty",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_time_of_day = DUSK,
max_time_of_day = DAWN,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:lamb",
entity_name = "petz:lamb",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:leopard",
entity_name = "petz:leopard",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_dry_grass","default:dry_dirt","default:dry_dirt_with_dry_grass","ethereal:dry_dirt" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
@ -251,11 +273,10 @@ spawnit.register({
})
spawnit.register({
entity = "petz:lion",
entity_name = "petz:lion",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_dry_grass","default:dry_dirt","default:dry_dirt_with_dry_grass","ethereal:dry_dirt" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
@ -263,19 +284,19 @@ spawnit.register({
})
spawnit.register({
entity = "petz:moth",
entity_name = "petz:moth",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "any" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:mr_pumpkin",
entity_name = "petz:mr_pumpkin",
chance = BASE_CHANCE / 0.1,
within = { "breathable" },
on = { "group:soil","group:stone" },
max_y = 5000,
min_player_distance = 12,
@ -287,64 +308,68 @@ spawnit.register({
})
spawnit.register({
entity = "petz:panda",
entity_name = "petz:panda",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "ethereal:bamboo_dirt" },
min_y = -32,
on = {"group:soil"},
near = {"ethereal:bamboo", "ethereal:bamboo_leaves", "ethereal:bamboo_sprout"},
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:parrot",
entity_name = "petz:parrot",
chance = BASE_CHANCE/ 0.8,
within = { "breathable" },
on = { "any" },
near = { "default:jungleleaves","moretrees:jungletree_leaves_yellow","moretrees:jungletree_leaves_red","ethereal:palmleaves","moretrees:date_palm_leaves","moretrees:palm_leaves" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 10,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:penguin",
entity_name = "petz:penguin",
chance = BASE_CHANCE,
cluster = 3,
within = { "breathable" },
on = { "default:snowblock","default:ice","default:dirt_with_snow","default:snow" },
min_y = -32,
on = { "default:snowblock","default:ice" },
min_y = 0,
max_y = 10,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:pigeon",
entity_name = "petz:pigeon",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "any" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:piggy",
entity_name = "petz:piggy",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:polar_bear",
entity_name = "petz:polar_bear",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:snowblock","default:ice","default:dirt_with_snow","default:snow" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
@ -352,51 +377,55 @@ spawnit.register({
})
spawnit.register({
entity = "petz:pony",
entity_name = "petz:pony",
chance = BASE_CHANCE / 0.6,
cluster = 5,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:puppy",
entity_name = "petz:puppy",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity_name = "petz:queen_ant",
chance = BASE_CHANCE / 0.4,
on = { "group:soil" },
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:queen_ant",
entity_name = "petz:queen_bee",
chance = BASE_CHANCE / 0.4,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:queen_bee",
chance = BASE_CHANCE / 0.4,
within = { "breathable" },
on = { "any" },
near = { "group:flower" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:rat",
entity_name = "petz:rat",
chance = BASE_CHANCE / 0.2,
within = { "breathable" },
on = { "group:soil","group:stone","rainbow_source:black_water_source" },
max_y = 5000,
max_light = 10,
@ -406,9 +435,8 @@ spawnit.register({
})
spawnit.register({
entity = "petz:santa_killer",
entity_name = "petz:santa_killer",
chance = BASE_CHANCE / 0.1,
within = { "breathable" },
on = { "default:snowblock","default:ice","default:dirt_with_snow","default:snow" },
min_y = -32,
max_y = 10,
@ -421,19 +449,17 @@ spawnit.register({
})
spawnit.register({
entity = "petz:silkworm",
entity_name = "petz:silkworm",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "group:leaves" },
min_y = -32,
min_y = 0,
max_y = 5000,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:snow_leopard",
entity_name = "petz:snow_leopard",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:snowblock","default:ice","default:dirt_with_snow","default:snow" },
min_y = 20,
max_y = 5000,
@ -443,20 +469,21 @@ spawnit.register({
})
spawnit.register({
entity = "petz:squirrel",
entity_name = "petz:squirrel",
chance = BASE_CHANCE / 0.8,
cluster = 3,
within = { "breathable" },
on = { "group:leaves", "group:tree" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 8,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:tarantula",
entity_name = "petz:tarantula",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "group:stone","default:dirt_with_rainforest_litter","ethereal:jungle_dirt","default:jungleleaves","moretrees:jungletree_leaves_yellow","moretrees:jungletree_leaves_red","ethereal:palmleaves","moretrees:date_palm_leaves","moretrees:palm_leaves" },
max_y = 5000,
min_player_distance = 12,
@ -465,44 +492,49 @@ spawnit.register({
})
spawnit.register({
entity = "petz:toucan",
entity_name = "petz:toucan",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "any" },
near = { "default:jungleleaves","moretrees:jungletree_leaves_yellow","moretrees:jungletree_leaves_red","ethereal:palmleaves","moretrees:date_palm_leaves","moretrees:palm_leaves" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:tropicalfish",
entity_name = "petz:tropicalfish",
chance = BASE_CHANCE,
within = { "default:water_source" },
on = { "any" },
near = { "group:coral" },
min_y = -32,
min_y = -100,
max_y = 5000,
min_light = 2,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:turtle",
entity_name = "petz:turtle",
chance = BASE_CHANCE / 0.6,
within = { "group:water" },
on = { "any" },
min_y = -100,
max_y = 5000,
min_light = 8,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})
spawnit.register({
entity = "petz:wolf",
entity_name = "petz:wolf",
chance = BASE_CHANCE,
cluster = 4,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
min_y = 0,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,

34
scorpion.lua Normal file
View File

@ -0,0 +1,34 @@
spawnit.register({
entity_name = "scorpion:big",
chance = 500,
on = {"default:desert_sand"},
min_y = -10,
max_y = 150,
max_light = 14,
max_in_area = 5,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "scorpion:boss",
chance = 5000,
on = {"default:desert_stone"},
min_y = 0,
max_y = 150,
max_light = 10,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "scorpion:little",
chance = 300,
on = {"default:desert_sand", "default:dirt_with_rainforest_litter", "default:dry_dirt_with_dry_grass"},
min_y = -10,
max_y = 200,
max_in_area = 5,
min_player_distance = 12,
spawn_in_protected = false,
})

255
water_life.lua Normal file
View File

@ -0,0 +1,255 @@
local BASE_CHANCE = 300 -- one every 5 minutes
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
-- disable all spawns
table.insert_all(water_life.no_spawn_table, {
"water_life:alligator",
"water_life:beaver",
"water_life:clams",
"water_life:clownfish",
"water_life:coralfish",
"water_life:croc",
"water_life:gecko",
"water_life:gull",
"water_life:jellyfish",
"water_life:piranha",
"water_life:fish",
"water_life:urchin",
"water_life:shark",
"water_life:snake",
"water_life:whale",
})
if water_life.swampz then
spawnit.register({
entity_name = "water_life:alligator",
chance = BASE_CHANCE * 1,
within = {"default:river_water_source"},
on = {"default:river_water_source"},
min_y = -50,
max_y = 150,
min_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
min_player_distance = 12,
spawn_in_protected = false,
})
end
spawnit.register({
entity_name = "water_life:beaver",
chance = BASE_CHANCE * 1,
within = {"default:river_water_source"},
on = {"any"},
min_y = 20,
max_y = 150,
min_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
})
spawnit.register({
entity_name = "water_life:clams",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
near = {"water_life:seagrassgreen","water_life:seagrassred"},
min_y = -50,
max_y = 1,
max_in_area = 15,
})
spawnit.register({
entity_name = "water_life:clownfish",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
on = {"any"},
near = {
"group:coral",
"default:coral_brown",
"default:coral_cyan",
"default:coral_green",
"default:coral_pink",
"default:coral_orange",
"default:sand_with_kelp",
"water_life:kelpbrown",
"water_life:kelpgreen",
"water_life:seagrassgreen",
"water_life:seagrassred",
"water_life:coralmagenta",
"water_life:coralskyblue",
},
min_y = -50,
max_y = 1,
min_light = 12,
})
spawnit.register({
entity_name = "water_life:coralfish",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
min_y = -50,
max_y = 1,
max_in_area = 5,
on = {"any"},
near = {
"group:coral",
"default:coral_brown",
"default:coral_cyan",
"default:coral_green",
"default:coral_pink",
"default:coral_orange",
"default:sand_with_kelp",
"water_life:kelpbrown",
"water_life:kelpgreen",
"water_life:seagrassgreen",
"water_life:seagrassred",
"water_life:coralmagenta",
"water_life:coralskyblue",
},
})
spawnit.register({
entity_name = "water_life:croc",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
on = {"default:water_source"},
min_y = -50,
max_y = 150,
min_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "water_life:gecko",
chance = BASE_CHANCE * 1,
near = {"group:tree","group:leaves","default:junglegrass"},
min_y = 0,
max_y = 150,
min_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
})
spawnit.register({
entity_name = "water_life:gull",
chance = BASE_CHANCE * 1,
on = {"any"},
min_y = 0,
max_y = 150,
min_light = 12,
max_in_area = 3,
max_in_area_radius = 32,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
})
spawnit.register({
entity_name = "water_life:jellyfish",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
on = {"default:water_source"},
min_y = -50,
max_y = 1,
max_in_area = 5,
max_in_area_radius = 32,
})
spawnit.register({
entity_name = "water_life:piranha",
chance = BASE_CHANCE * 1,
within = {"default:river_water_source"},
on = {"any"},
min_y = 0,
max_y = 150,
max_in_area = 3,
max_in_area_radius = 32,
})
spawnit.register({
entity_name = "water_life:fish",
chance = BASE_CHANCE * 1,
within = {"default:river_water_source"},
on = {"default:river_water_source"},
min_y = 0,
max_y = 150,
max_in_area = 3,
max_in_area_radius = 32,
})
spawnit.register({
entity_name = "water_life:urchin",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
near = {
"group:coral",
"default:coral_brown",
"default:coral_cyan",
"default:coral_green",
"default:coral_pink",
"default:coral_orange",
"default:sand_with_kelp",
"water_life:kelpbrown",
"water_life:kelpgreen",
"water_life:seagrassgreen",
"water_life:seagrassred",
"water_life:coralmagenta",
"water_life:coralskyblue",
},
min_y = -50,
max_y = 1,
max_in_area = 16,
max_in_area_radius = 32,
})
spawnit.register({
entity_name = "water_life:shark",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
on = {"default:water_source"},
min_y = -50,
max_y = 1,
max_in_area = 1,
max_in_area_radius = 32,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "water_life:snake",
chance = BASE_CHANCE * 1,
on = {
"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass", "default:dirt_with_rainforest_litter",
"default:sand", "default:desert_sand", "default:sandstone", "default:desert_sandstone", "default:desert_stone",
},
min_y = 0,
max_y = 150,
min_light = 12,
max_in_area = 5,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
})
spawnit.register({
entity_name = "water_life:whale",
chance = BASE_CHANCE * 1,
within = {"default:water_source"},
on = {"default:water_source"},
min_y = -50,
max_y = 1,
max_in_area = 1,
max_in_area_radius = 32,
spawn_in_protected = false,
})

1
xocean.lua Normal file
View File

@ -0,0 +1 @@
-- these are disabled

19
yl_commons.lua Normal file
View File

@ -0,0 +1,19 @@
local BASE_CHANCE = 300 -- one every 5 minutes
local BASE_CHANCE_RATIO = 60 * 8000 -- cow
local MAX_IN_AREA = 1
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity_name = "yl_commons:biome_cow",
chance = BASE_CHANCE * (60 * 80000) / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:grass" },
min_y = 1,
max_y = 1000,
min_light = 12,
min_time_of_day = DAWN,
max_time_of_day = DUSK,
max_in_area = MAX_IN_AREA,
})

101
yl_nether_mobs.lua Normal file
View File

@ -0,0 +1,101 @@
spawnit.register({
entity_name = "yl_nether_mobs:blaze",
chance = 30.6,
cluster = 4,
on = {"nether:lava_crust"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 5,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:iron_golem",
chance = 13.7 * 2,
cluster = 4,
on = {"nether:rack_deep", "nether:rack"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 5,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:ogre",
chance = 13.3 * 2,
cluster = 5,
on = {"nether:rack_deep", "nether:rack"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 5,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:rat",
chance = 12.7 * 2,
cluster = 3,
on = {"nether:rack_deep", "nether:rack"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 5,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:witherskeleton",
chance = 20.1 * 2,
cluster = 6,
on = {"nether:rack", "nether:sand","nether:basalt", "nether:rack_deep"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 10,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:evoker",
chance = 27.3,
cluster = 3,
on = {
"nether:rack",
"nether:sand",
"nether:rack_deep",
"yl_nether:rack_deep_with_electrum",
"yl_nether:rack_deep_with_electrumite"
},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 10,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:whip",
chance = 20.3,
cluster = 5,
on = {"nether:rack_deep","yl_nether:rack_deep_with_electrum", "yl_nether:rack_deep_with_electrumite"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 9,
spawn_in_protected = false,
})
spawnit.register({
entity_name = "yl_nether_mobs:wither",
chance = 25.7,
cluster = 2,
on = {"nether:rack", "nether:sand", "nether:rack_deep", "nether:lava_crust"},
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
})