yl_spawnit/water_life.lua

309 lines
7.5 KiB
Lua

-- 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",
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:river_water_source" },
on = { "default:river_water_source" },
min_y = -50,
max_y = 150,
min_node_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
end
local coral_and_kelp = {
"group:coral",
"default:coral_brown",
"default:coral_cyan",
"default:coral_green",
"default:coral_pink",
"default:coral_orange",
"default:sand_with_kelp",
"ethereal:coral2",
"ethereal:coral3",
"ethereal:coral4",
"ethereal:coral5",
"ethereal:seaweed",
"ethereal:sponge_wet",
"water_life:kelpbrown",
"water_life:kelpgreen",
"water_life:seagrassgreen",
"water_life:seagrassred",
"water_life:coralmagenta",
"water_life:coralskyblue",
"xocean:brain_block",
"xocean:brain_skeleton",
"xocean:bubble",
"xocean:bubble_block",
"xocean:bubble_skeleton",
"xocean:fire",
"xocean:fire_skeleton",
"xocean:horn",
"xocean:pickle",
"xocean:seagrass",
"xocean:skeleton_brain",
"xocean:skeleton_bubble",
"xocean:skeleton_fire",
"xocean:skeleton_horn",
"xocean:skeleton_tube",
"xocean:tube_block",
"xocean:tube_skeleton",
}
water_life.urchinspawn = coral_and_kelp
water_life.clams_spawn = coral_and_kelp
spawnit.register({
entity_name = "water_life:beaver",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:river_water_source" },
on = { "any" },
min_y = 20,
max_y = 150,
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
max_in_area_radius = 32,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:clams",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
cluster = 3,
within = { "default:water_source" },
near = coral_and_kelp,
min_y = -50,
max_y = 1,
max_in_area = 6,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:clownfish",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:water_source" },
on = { "any" },
near = coral_and_kelp,
min_y = -50,
max_y = 1,
min_node_light = 12,
max_in_area = 2,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:coralfish",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 0.6,
within = { "default:water_source" },
on = { "any" },
near = coral_and_kelp,
min_y = -50,
max_y = 1,
max_in_area = 2,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:croc",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:river_water_source" },
on = { "default:river_water_source" },
min_y = -50,
max_y = 150,
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 3,
max_in_area_radius = 32,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:gecko",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
near = { "group:tree", "group:leaves", "default:junglegrass" },
min_y = 0,
max_y = 150,
min_node_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:gull",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 5,
on = { "any" },
min_y = 0,
max_y = 150,
min_node_light = 12,
max_in_area = 1,
max_in_area_radius = 32,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:jellyfish",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:water_source" },
on = { "default:water_source" },
min_y = -50,
max_y = 1,
max_in_area = 1,
max_any_in_area = 6,
max_in_area_radius = 32,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:piranha",
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:river_water_source" },
on = { "any" },
min_y = 0,
max_y = 150,
max_in_area = 1,
max_any_in_area = 6,
max_in_area_radius = 32,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:fish",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:river_water_source" },
on = { "default:river_water_source" },
min_y = 0,
max_y = 150,
max_in_area = 1,
max_any_in_area = 6,
max_in_area_radius = 32,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:urchin",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:water_source" },
near = coral_and_kelp,
min_y = -50,
max_y = 1,
min_heat = 68, -- 20 degrees "celsius"
max_in_area = 16,
max_in_area_radius = 32,
spawn_in_protected = true,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:shark",
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:water_source" },
on = { "default:water_source" },
min_y = -50,
max_y = 1,
max_in_area = 1,
max_any_in_area = 3,
max_in_area_radius = 32,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:snake",
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 2,
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_node_light = 12,
max_in_area = 5,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:snake",
groups = { animal = 1, hostile = 1 },
chance = yl_spawnit.base_chance * 2,
within = { "default:river_water_source", "default:river_water_flowing" },
near = { "air" },
min_y = 0,
max_y = 50,
min_node_light = 12,
max_in_area = 5,
min_time_of_day = yl_spawnit.dawn,
max_time_of_day = yl_spawnit.dusk,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "water_life:whale",
groups = { animal = 1 },
chance = yl_spawnit.base_chance * 1,
within = { "default:water_source" },
on = { "default:water_source" },
min_y = -50,
max_y = 1,
max_in_area = 1,
max_any_in_area = 3,
max_in_area_radius = 32,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)