yl_spawnit/mobs_monster.lua
2023-07-19 16:07:27 -07:00

196 lines
4.6 KiB
Lua

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,
})