yl_spawnit/petz.lua

774 lines
18 KiB
Lua
Raw Permalink Normal View History

2023-07-17 07:30:18 +02:00
-- disable petz spawning
petz.settings.spawn_interval = math.huge
local function combine(...)
local ts = { ... }
local t = {}
for i = 1, #ts do
for j = 1, #ts[i] do
t[#t + 1] = ts[i][j]
end
end
return t
end
local grass = {
"default:dirt_with_grass",
"ethereal:grove_dirt",
"ethereal:prairie_dirt",
"woodsoils:grass_with_leaves_1",
"woodsoils:grass_with_leaves_2",
}
local dry_grass = {
"default:dirt_with_dry_grass",
"default:dry_dirt",
"default:dry_dirt_with_dry_grass",
}
local jungle = {
"default:dirt_with_rainforest_litter",
"ethereal:jungle_dirt",
}
local cold = {
"default:dirt_with_coniferous_litter",
"ethereal:crystal_dirt",
"ethereal:cold_dirt",
"ethereal:gray_dirt",
}
local snow = {
"default:dirt_with_snow",
"default:snowblock",
}
local hot = {
"ethereal:dry_dirt",
"ethereal:fiery_dirt",
"ethereal:mushroom_dirt",
}
local dirt = {
"default:dirt",
"woodsoils:dirt_with_leaves_1",
"woodsoils:dirt_with_leaves_2",
}
local desert = { "group:sand", "default:desert_sandstone", "default:sandstone" }
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:bat",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 5,
2023-07-17 07:30:18 +02:00
within = { "breathable airlike" },
on = { "any" },
2023-07-20 01:07:27 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
max_node_light = 5,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dusk,
max_time_of_day = yl_spawnit.dawn,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:beaver",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.6,
2023-07-17 07:30:18 +02:00
within = { "default:river_water_source" },
on = { "any" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:bunny",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 3,
2023-07-17 07:30:18 +02:00
cluster = 3,
on = combine(grass, dry_grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 3,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:butterfly",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
2023-07-17 07:30:18 +02:00
on = { "any" },
near = { "group:flower" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 3,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:calf",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 3,
2023-07-17 07:30:18 +02:00
cluster = 3,
on = combine(grass, dry_grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 3,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:camel",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.6,
on = desert,
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:chimp",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
on = combine(jungle, {
2023-07-20 18:36:19 +02:00
"default:jungleleaves",
"moretrees:jungletree_leaves_yellow",
"moretrees:jungletree_leaves_red",
"ethereal:palmleaves",
"moretrees:date_palm_leaves",
"moretrees:palm_leaves",
}),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 8,
max_in_area = 2,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:clownfish",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 25,
2023-07-17 07:30:18 +02:00
cluster = 3,
within = { "default:water_source" },
on = { "any" },
near = { "group:coral" },
min_y = -100,
max_y = 1,
2023-07-23 00:47:38 +02:00
min_node_light = 2,
max_in_area = 3,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:dolphin",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 2,
2023-07-17 07:30:18 +02:00
within = { "default:water_source" },
on = { "any" },
min_y = -100,
max_y = 1,
2023-07-23 00:47:38 +02:00
min_node_light = 2,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:ducky",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.6,
2023-07-17 07:30:18 +02:00
on = { "group:soil", "group:water" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 3,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:elephant",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
on = combine(dry_grass, jungle),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:elephant_female",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
on = combine(dry_grass, jungle),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:flamingo",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.8,
on = hot,
near = { "group:water" },
2023-07-20 01:07:27 +02:00
min_y = 0,
max_y = 15,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 2,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:foxy",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.8 * 2,
on = combine(grass, dry_grass, cold, snow, dirt, { "ethereal:bamboo_dirt" }),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:frog",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.6,
within = { "default:river_water_source" },
on = { "any" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 8,
max_in_area = 2,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:gecko",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.8,
on = jungle,
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:goat",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 3,
2023-07-17 07:30:18 +02:00
cluster = 3,
on = combine(grass, dry_grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 3,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:grizzly",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 2,
on = combine(grass, cold, jungle),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:hamster",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 3,
on = desert,
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 2,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:hen",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.6,
on = combine(grass, jungle),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 2,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:kitty",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 2,
on = combine(grass, cold, jungle, desert),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dusk,
max_time_of_day = yl_spawnit.dawn,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:lamb",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 3,
2023-07-17 07:30:18 +02:00
cluster = 3,
on = combine(grass, dry_grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 3,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:leopard",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
on = dry_grass,
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:lion",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
on = dry_grass,
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:moth",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.8 * 3,
2023-07-17 07:30:18 +02:00
on = { "any" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
2023-12-14 01:00:26 +01:00
-- shouldn't spawn
--spawnit.register({
-- entity_name = "petz:mr_pumpkin",
-- groups = { monster = 1 },
-- chance = yl_spawnit.base_chance / 0.1,
-- on = { "group:soil", "group:stone" },
-- max_y = 5000,
-- max_in_area = 1,
-- max_any_in_area = 6,
-- min_player_distance = 12,
-- spawn_in_protected = false,
-- should_spawn = function()
-- return os.date("*t").month == 10
-- end,
--}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:panda",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
2023-07-20 18:36:19 +02:00
on = { "group:soil" },
near = { "ethereal:bamboo", "ethereal:bamboo_leaves", "ethereal:bamboo_sprout" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:parrot",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.8,
2023-07-17 07:30:18 +02:00
on = { "any" },
2023-07-20 18:36:19 +02:00
near = {
"default:jungleleaves",
"moretrees:jungletree_leaves_yellow",
"moretrees:jungletree_leaves_red",
"ethereal:palmleaves",
"moretrees:date_palm_leaves",
"moretrees:palm_leaves",
},
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 10,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:penguin",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
2023-07-20 18:36:19 +02:00
on = { "default:snowblock", "default:ice" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 10,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:pigeon",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 2,
2023-07-17 07:30:18 +02:00
on = { "any" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:piggy",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 3,
2023-07-17 07:30:18 +02:00
cluster = 3,
on = combine(grass, dry_grass, jungle),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 3,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:polar_bear",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
2023-07-20 18:36:19 +02:00
on = { "default:snowblock", "default:ice", "default:dirt_with_snow", "default:snow" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:pony",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 5,
2023-07-17 07:30:18 +02:00
cluster = 5,
on = combine(grass, dry_grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 5,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:puppy",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.6,
on = combine(grass, dry_grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:queen_ant",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.4,
on = combine(grass, dry_grass, jungle),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:queen_bee",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.4,
2023-07-17 07:30:18 +02:00
on = { "any" },
near = { "group:flower" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:rat",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance / 0.2 * 2,
2023-07-20 18:36:19 +02:00
on = { "group:soil", "group:stone", "rainbow_source:black_water_source" },
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
max_node_light = 10,
max_in_area = 1,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
2023-12-14 01:00:26 +01:00
-- killer santa shouldn't spawn
--spawnit.register({
-- entity_name = "petz:santa_killer",
-- groups = { monster = 1 },
-- chance = yl_spawnit.base_chance / 0.1,
-- on = { "default:snowblock", "default:ice", "default:dirt_with_snow", "default:snow" },
-- min_y = -32,
-- max_y = 10,
-- max_in_area = 1,
-- max_any_in_area = 6,
-- min_player_distance = 12,
-- spawn_in_protected = false,
-- should_spawn = function()
-- return os.date("*t").month == 12
-- end,
--}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:silkworm",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 3,
on = {
"default:acacia_bush_leaves",
"default:acacia_leaves",
"mahogany:leaves",
"moretrees:apple_tree_leaves",
"moretrees:beech_leaves",
"moretrees:birch_leaves",
"moretrees:cedar_leaves",
"moretrees:date_palm_leaves",
"moretrees:fir_leaves",
"moretrees:fir_leaves_bright",
"moretrees:jungletree_leaves_red",
"moretrees:jungletree_leaves_yellow",
"moretrees:oak_leaves",
"moretrees:palm_leaves",
"moretrees:poplar_leaves",
"moretrees:rubber_tree_leaves",
"moretrees:sequoia_leaves",
"moretrees:spruce_leaves",
"moretrees:willow_leaves",
},
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:snow_leopard",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance,
on = { "default:dirt_with_snow", "default:snow" },
2023-07-17 07:30:18 +02:00
min_y = 20,
max_y = 5000,
max_in_area = 1,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:squirrel",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.8 * 3,
2023-07-17 07:30:18 +02:00
cluster = 3,
on = { "group:leaves", "group:tree" },
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 8,
max_in_area = 3,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:tarantula",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 10,
2023-07-20 18:36:19 +02:00
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",
},
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 3,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:toucan",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
2023-07-20 20:11:17 +02:00
chance = yl_spawnit.base_chance / 0.8,
2023-07-17 07:30:18 +02:00
on = { "any" },
2023-07-20 18:36:19 +02:00
near = {
"default:jungleleaves",
"moretrees:jungletree_leaves_yellow",
"moretrees:jungletree_leaves_red",
"ethereal:palmleaves",
"moretrees:date_palm_leaves",
"moretrees:palm_leaves",
},
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:tropicalfish",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 25,
2023-07-17 07:30:18 +02:00
within = { "default:water_source" },
on = { "any" },
near = { "group:coral" },
2023-07-20 01:07:27 +02:00
min_y = -100,
2023-07-17 07:30:18 +02:00
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 2,
max_in_area = 2,
max_any_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:turtle",
2023-07-20 18:30:15 +02:00
groups = { animal = 1 },
chance = yl_spawnit.base_chance / 0.6 * 2,
2023-07-17 07:30:18 +02:00
within = { "group:water" },
on = { "any" },
min_y = -100,
max_y = 5000,
2023-07-23 00:47:38 +02:00
min_node_light = 8,
max_in_area = 2,
max_any_in_area = 6,
2023-07-20 20:11:17 +02:00
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
2023-07-17 07:30:18 +02:00
spawnit.register({
2023-07-20 01:07:27 +02:00
entity_name = "petz:wolf",
2023-07-20 18:30:15 +02:00
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 4,
2023-07-17 07:30:18 +02:00
cluster = 4,
on = combine(cold, grass),
2023-07-20 01:07:27 +02:00
min_y = 0,
2023-07-17 07:30:18 +02:00
max_y = 5000,
max_in_area = 4,
max_any_in_area = 6,
2023-07-17 07:30:18 +02:00
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)