This commit is contained in:
flux 2023-07-16 22:30:18 -07:00
commit 467515d41c
Signed by: flux
GPG Key ID: 9333B27816848A15
4 changed files with 472 additions and 0 deletions

5
init.lua Normal file
View File

@ -0,0 +1,5 @@
yl_spawnit = fmod.create()
for mod in pairs(yl_spawnit.has) do
yl_spawnit.dofile(mod)
end

0
mobs_animal.lua Normal file
View File

4
mod.conf Normal file
View File

@ -0,0 +1,4 @@
name = spawn_things
version = 2023-07-16
depends = fmod, spawnit
optional_depends = petz, mobs_animal

463
petz.lua Normal file
View File

@ -0,0 +1,463 @@
-- disable petz spawning
petz.settings.spawn_interval = math.huge
local BASE_CHANCE = 300 -- one every 5 minutes
local DAWN = 4500 / 24000
local DUSK = 19500 / 24000
spawnit.register({
entity = "petz:bat",
chance = BASE_CHANCE,
within = { "breathable airlike" },
on = { "any" },
min_time_of_day = DUSK,
max_time_of_day = DAWN,
max_y = 5000,
})
spawnit.register({
entity = "petz:beaver",
chance = BASE_CHANCE / 0.6,
within = { "default:river_water_source" },
on = { "any" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:bunny",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:butterfly",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "any" },
near = { "group:flower" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:calf",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:camel",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:sand", "default:desert_sandstone", "default:sandstone" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "petz:clownfish",
chance = BASE_CHANCE,
cluster = 3,
within = { "default:water_source" },
on = { "any" },
near = { "group:coral" },
min_y = -100,
max_y = 5000,
})
spawnit.register({
entity = "petz:dolphin",
chance = BASE_CHANCE,
cluster = 3,
within = { "default:water_source" },
on = { "any" },
min_y = -100,
max_y = 5000,
})
spawnit.register({
entity = "petz:ducky",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil", "group:water" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "petz:foxy",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:frog",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "default:dirt_with_grass","default: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,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "petz:goat",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:grizzly",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:dirt_with_grass","default: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,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity = "petz:hamster",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "group:sand","default:desert_sandstone","default:sandstone" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:hen",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:kitty",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:lamb",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity = "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,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity = "petz:moth",
chance = BASE_CHANCE / 0.8,
within = { "breathable" },
on = { "any" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:mr_pumpkin",
chance = BASE_CHANCE / 0.1,
within = { "breathable" },
on = { "group:soil","group:stone" },
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
should_spawn = function()
return os.date("*t").month == 10
end
})
spawnit.register({
entity = "petz:panda",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "ethereal:bamboo_dirt" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "petz:penguin",
chance = BASE_CHANCE,
cluster = 3,
within = { "breathable" },
on = { "default:snowblock","default:ice","default:dirt_with_snow","default:snow" },
min_y = -32,
max_y = 10,
})
spawnit.register({
entity = "petz:pigeon",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "any" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:piggy",
chance = BASE_CHANCE / 0.6,
cluster = 3,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:polar_bear",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "default:snowblock","default:ice","default:dirt_with_snow","default:snow" },
min_y = -32,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity = "petz:pony",
chance = BASE_CHANCE / 0.6,
cluster = 5,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:puppy",
chance = BASE_CHANCE / 0.6,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:queen_ant",
chance = BASE_CHANCE / 0.4,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:queen_bee",
chance = BASE_CHANCE / 0.4,
within = { "breathable" },
on = { "any" },
near = { "group:flower" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity = "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,
min_player_distance = 12,
spawn_in_protected = false,
should_spawn = function()
return os.date("*t").month == 12
end
})
spawnit.register({
entity = "petz:silkworm",
chance = BASE_CHANCE,
within = { "breathable" },
on = { "group:leaves" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
min_player_distance = 12,
spawn_in_protected = false,
})
spawnit.register({
entity = "petz:squirrel",
chance = BASE_CHANCE / 0.8,
cluster = 3,
within = { "breathable" },
on = { "group:leaves", "group:tree" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "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,
spawn_in_protected = false,
})
spawnit.register({
entity = "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,
max_y = 5000,
})
spawnit.register({
entity = "petz:tropicalfish",
chance = BASE_CHANCE,
within = { "default:water_source" },
on = { "any" },
near = { "group:coral" },
min_y = -32,
max_y = 5000,
})
spawnit.register({
entity = "petz:turtle",
chance = BASE_CHANCE / 0.6,
within = { "group:water" },
on = { "any" },
min_y = -100,
max_y = 5000,
})
spawnit.register({
entity = "petz:wolf",
chance = BASE_CHANCE,
cluster = 4,
within = { "breathable" },
on = { "group:soil" },
min_y = -32,
max_y = 5000,
min_player_distance = 12,
spawn_in_protected = false,
})