yl_spawnit/mobs_monster.lua

231 lines
6.1 KiB
Lua

local BASE_CHANCE_RATIO = 6000 -- dirt monster
spawnit.register({
entity_name = "mobs_monster:dirt_monster",
groups = { monster = 1 },
on = { "group:soil" },
chance = yl_spawnit.base_chance * 6000 / BASE_CHANCE_RATIO,
min_y = 0,
max_node_light = 7,
min_time_of_day = yl_spawnit.dusk,
max_time_of_day = yl_spawnit.dawn,
max_in_area = 2,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:dungeon_master",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 9000 / BASE_CHANCE_RATIO,
max_y = -70,
max_node_light = 5,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
if yl_spawnit.has.nether and nether.DEPTH_FLOOR > -70 then
spawnit.register({
entity_name = "mobs_monster:dungeon_master",
groups = { monster = 1 },
chance = 300,
min_y = nether.DEPTH_FLOOR,
max_y = nether.DEPTH_CEILING,
max_node_light = 5,
max_in_area = 1,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
end
spawnit.register({
entity_name = "mobs_monster:fire_spirit",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 1500 / BASE_CHANCE_RATIO,
on = { "default:obsidian", "caverealms:hot_cobble" },
near = { "group:fire" },
max_y = -150,
min_node_light = 12,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:land_guard",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 25000 / BASE_CHANCE_RATIO,
on = {
"default:snow",
"default:ice",
"default:stone",
"default:dry_dirt_with_dry_grass",
"ethereal:dry_dirt",
},
min_y = 0,
max_node_light = 7,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:lava_flan",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 1500 / BASE_CHANCE_RATIO,
within = { "default:lava_source" },
on = { "any" },
max_y = 0,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:mese_monster",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 5000 / BASE_CHANCE_RATIO,
on = { "any" },
near = { "default:mese", "default:stone_with_mese" },
max_y = -20,
max_node_light = 7,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:oerkki",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 30000 / BASE_CHANCE_RATIO,
on = { "group:cracky", "group:crumbly" },
max_y = -10,
max_node_light = 6,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:oerkki",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 15000 / BASE_CHANCE_RATIO,
on = { "group:cracky", "group:crumbly" },
max_y = -10000,
max_node_light = 6,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:oerkki",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 5000 / BASE_CHANCE_RATIO,
on = { "group:cracky", "group:crumbly" },
max_y = -25000,
max_node_light = 6,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:sand_monster",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 7000 / BASE_CHANCE_RATIO,
on = { "default:desert_sand" },
min_y = 0,
max_node_light = 7,
max_in_area = 2,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:spider",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 21000 / BASE_CHANCE_RATIO,
on = {
"default:dirt_with_rainforest_litter",
"default:snowblock",
"default:snow",
"ethereal:crystal_dirt",
"ethereal:cold_dirt",
},
min_y = 25,
max_node_light = 8,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:spider",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 7000 / BASE_CHANCE_RATIO,
max_y = -40,
max_node_light = 7,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:stone_monster",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 35000 / BASE_CHANCE_RATIO,
on = { "default:stone", "default:desert_stone", "default:sandstone" },
max_y = 0,
max_node_light = 7,
max_in_area = 1,
max_any_in_area = 6,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:tree_monster",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 7000 / BASE_CHANCE_RATIO,
on = { "group:soil" },
near = { "group:tree", "group:leaves" },
min_y = 0,
max_y = 5000,
max_node_light = 6,
max_in_area = 1,
max_any_in_area = 6,
min_time_of_day = yl_spawnit.dusk,
max_time_of_day = yl_spawnit.dawn,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)
spawnit.register({
entity_name = "mobs_monster:tree_monster",
groups = { monster = 1 },
chance = yl_spawnit.base_chance * 7000 / BASE_CHANCE_RATIO,
on = { "group:leaves" },
min_y = 0,
max_node_light = 7,
max_in_area = 1,
max_any_in_area = 6,
min_time_of_day = yl_spawnit.dusk,
max_time_of_day = yl_spawnit.dawn,
min_player_distance = 12,
spawn_in_protected = false,
}, yl_spawnit.settings.check_nodes)