forked from VoxeLibre/VoxeLibre
Compare commits
13 Commits
3d7155c1b9
...
4fcd1ae541
Author | SHA1 | Date |
---|---|---|
codiac | 4fcd1ae541 | |
the-real-herowl | f941817c39 | |
seventeenthShulker | bc3bde4cf8 | |
seventeenthShulker | 8099a4bd17 | |
seventeenthShulker | e2ed1ab4a6 | |
seventeenthShulker | e43a8e267d | |
seventeenthShulker | 570caf47eb | |
the-real-herowl | 59f3b53a51 | |
codiac | 95db118361 | |
codiac | d2d7887e0f | |
codiac | 7577d37b38 | |
codiac | bf4c7e1913 | |
codiac | 11e3674926 |
|
@ -287,6 +287,7 @@ function mcl_mobs.register_mob(name, def)
|
|||
spawn_in_group_min = def.spawn_in_group_min,
|
||||
noyaw = def.noyaw or false,
|
||||
particlespawners = def.particlespawners,
|
||||
spawn_check = def.spawn_check,
|
||||
-- End of MCL2 extensions
|
||||
on_spawn = def.on_spawn,
|
||||
on_blast = def.on_blast or function(self,damage)
|
||||
|
|
|
@ -2,6 +2,13 @@
|
|||
local math, vector, minetest, mcl_mobs = math, vector, minetest, mcl_mobs
|
||||
local mob_class = mcl_mobs.mob_class
|
||||
|
||||
local modern_lighting = minetest.settings:get_bool("mcl_mobs_modern_lighting", true)
|
||||
local nether_threshold = tonumber(minetest.settings:get("mcl_mobs_nether_threshold")) or 11
|
||||
local end_threshold = tonumber(minetest.settings:get("mcl_mobs_end_threshold")) or 0
|
||||
local overworld_threshold = tonumber(minetest.settings:get("mcl_mobs_overworld_threshold")) or 0
|
||||
local overworld_sky_threshold = tonumber(minetest.settings:get("mcl_mobs_overworld_sky_threshold")) or 7
|
||||
local overworld_passive_threshold = tonumber(minetest.settings:get("mcl_mobs_overworld_passive_threshold")) or 7
|
||||
|
||||
local get_node = minetest.get_node
|
||||
local get_item_group = minetest.get_item_group
|
||||
local get_node_light = minetest.get_node_light
|
||||
|
@ -709,9 +716,6 @@ local function spawn_check(pos, spawn_def)
|
|||
and spawn_def.dimension == dimension
|
||||
and biome_check(spawn_def.biomes, gotten_biome) then
|
||||
|
||||
--mcl_log("Level 1 spawn check passed")
|
||||
--minetest.log("Mob: " .. mob_def.name)
|
||||
|
||||
if (is_ground or spawn_def.type_of_spawning ~= "ground")
|
||||
and (spawn_def.type_of_spawning ~= "ground" or not is_leaf)
|
||||
and (not is_farm_animal(spawn_def.name) or is_grass)
|
||||
|
@ -721,20 +725,42 @@ local function spawn_check(pos, spawn_def)
|
|||
and (spawn_def.check_position and spawn_def.check_position(pos) or spawn_def.check_position == nil)
|
||||
and ( not spawn_protected or not minetest.is_protected(pos, "") ) then
|
||||
|
||||
--mcl_log("Level 2 spawn check passed")
|
||||
|
||||
local gotten_light = get_node_light(pos)
|
||||
if gotten_light >= spawn_def.min_light and gotten_light <= spawn_def.max_light then
|
||||
--mcl_log("Level 3 spawn check passed")
|
||||
return true
|
||||
|
||||
if modern_lighting then
|
||||
local my_node = get_node(pos)
|
||||
local sky_light = minetest.get_natural_light(pos)
|
||||
local art_light = minetest.get_artificial_light(my_node.param1)
|
||||
|
||||
if dimension == "nether" then
|
||||
if art_light <= nether_threshold then
|
||||
return true
|
||||
end
|
||||
elseif dimension == "end" then
|
||||
if art_light <= end_threshold then
|
||||
return true
|
||||
end
|
||||
elseif dimension == "overworld" then
|
||||
if mob_type == "monster" then
|
||||
if mob_def.spawn_check then
|
||||
return mob_def.spawn_check(pos, gotten_light, art_light, sky_light)
|
||||
elseif art_light <= overworld_threshold and sky_light <= overworld_sky_threshold then
|
||||
return true
|
||||
end
|
||||
else
|
||||
if mob_def.spawn_check then
|
||||
return mob_def.spawn_check(pos, gotten_light, art_light, sky_light)
|
||||
elseif gotten_light > overworld_passive_threshold then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
--mcl_log("Spawn check level 3 failed")
|
||||
if gotten_light >= spawn_def.min_light and gotten_light <= spawn_def.max_light then
|
||||
return true
|
||||
end
|
||||
end
|
||||
else
|
||||
--mcl_log("Spawn check level 2 failed")
|
||||
end
|
||||
else
|
||||
--mcl_log("Spawn check level 1 failed")
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
|
|
@ -2,6 +2,18 @@
|
|||
|
||||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
local function spawn_check(pos, environmental_light, artificial_light, sky_light)
|
||||
local date = os.date("*t")
|
||||
local maxlight
|
||||
if (date.month == 10 and date.day >= 20) or (date.month == 11 and date.day <= 3) then
|
||||
maxlight = 6
|
||||
else
|
||||
maxlight = 3
|
||||
end
|
||||
|
||||
return artificial_light <= maxlight
|
||||
end
|
||||
|
||||
mcl_mobs.register_mob("mobs_mc:bat", {
|
||||
description = S("Bat"),
|
||||
type = "animal",
|
||||
|
@ -50,6 +62,7 @@ mcl_mobs.register_mob("mobs_mc:bat", {
|
|||
jump = false,
|
||||
fly = true,
|
||||
makes_footstep_sound = false,
|
||||
spawn_check = spawn_check,
|
||||
})
|
||||
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@ local mod_target = minetest.get_modpath("mcl_target")
|
|||
--################### BLAZE
|
||||
--###################
|
||||
|
||||
local function spawn_check(pos, environmental_light, artificial_light, sky_light)
|
||||
return artificial_light <= 11
|
||||
end
|
||||
|
||||
mcl_mobs.register_mob("mobs_mc:blaze", {
|
||||
description = S("Blaze"),
|
||||
|
@ -137,6 +140,7 @@ mcl_mobs.register_mob("mobs_mc:blaze", {
|
|||
},
|
||||
})
|
||||
end,
|
||||
spawn_check = spawn_check,
|
||||
})
|
||||
|
||||
mcl_mobs:spawn_specific(
|
||||
|
|
|
@ -219,6 +219,10 @@ mcl_mobs.register_mob("mobs_mc:sword_piglin", sword_piglin)
|
|||
-- Zombified Piglin --
|
||||
|
||||
|
||||
local function spawn_check(pos, environmental_light, artificial_light, sky_light)
|
||||
return artificial_light <= 11
|
||||
end
|
||||
|
||||
local zombified_piglin = {
|
||||
description = S("Zombie Piglin"),
|
||||
-- type="animal", passive=false: This combination is needed for a neutral mob which becomes hostile, if attacked
|
||||
|
@ -256,6 +260,7 @@ local zombified_piglin = {
|
|||
},
|
||||
jump = true,
|
||||
makes_footstep_sound = true,
|
||||
spawn_check = spawn_check,
|
||||
walk_velocity = .8,
|
||||
run_velocity = 2.6,
|
||||
pathfinding = 1,
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
|
||||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
local function spawn_check(pos, environmental_light, artificial_light, sky_light)
|
||||
return artificial_light <= 11
|
||||
end
|
||||
|
||||
mcl_mobs.register_mob("mobs_mc:silverfish", {
|
||||
description = S("Silverfish"),
|
||||
type = "monster",
|
||||
|
@ -53,6 +57,7 @@ mcl_mobs.register_mob("mobs_mc:silverfish", {
|
|||
view_range = 16,
|
||||
attack_type = "dogfight",
|
||||
damage = 1,
|
||||
spawn_check = spawn_check,
|
||||
})
|
||||
|
||||
mcl_mobs.register_egg("mobs_mc:silverfish", S("Silverfish"), "#6d6d6d", "#313131", 0)
|
||||
|
|
|
@ -161,6 +161,18 @@ local spawn_children_on_die = function(child_mob, spawn_distance, eject_speed)
|
|||
end
|
||||
end
|
||||
|
||||
local swamp_light_max = 7
|
||||
|
||||
local function slime_spawn_check(pos, environmental_light, artificial_light, sky_light)
|
||||
local maxlight = swamp_light_max
|
||||
|
||||
if is_slime_chunk(pos) then
|
||||
maxlight = minetest.LIGHT_MAX + 1
|
||||
end
|
||||
|
||||
return artificial_light <= maxlight
|
||||
end
|
||||
|
||||
-- Slime
|
||||
local slime_big = {
|
||||
description = S("Slime"),
|
||||
|
@ -213,6 +225,7 @@ local slime_big = {
|
|||
spawn_small_alternative = "mobs_mc:slime_small",
|
||||
on_die = spawn_children_on_die("mobs_mc:slime_small", 1.0, 1.5),
|
||||
use_texture_alpha = true,
|
||||
spawn_check = slime_spawn_check,
|
||||
}
|
||||
mcl_mobs.register_mob("mobs_mc:slime_big", slime_big)
|
||||
|
||||
|
@ -297,7 +310,6 @@ local cave_min = mcl_vars.mg_overworld_min
|
|||
local cave_max = water_level - 23
|
||||
|
||||
local swampy_biomes = {"Swampland", "MangroveSwamp"}
|
||||
local swamp_light_max = 7
|
||||
local swamp_min = water_level
|
||||
local swamp_max = water_level + 27
|
||||
|
||||
|
|
|
@ -192,10 +192,23 @@ if minetest.get_modpath("mcl_fences") then
|
|||
local wood_groups = { handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 }
|
||||
local wood_connect = { "group:fence_wood" }
|
||||
|
||||
local fence_id = mcl_fences.register_fence(id, S("Bamboo Fence"), "mcl_bamboo_fence_bamboo.png", wood_groups,
|
||||
2, 15, wood_connect, node_sound)
|
||||
local gate_id = mcl_fences.register_fence_gate(id, S("Bamboo Fence Gate"), "mcl_bamboo_fence_gate_bamboo.png",
|
||||
wood_groups, 2, 15, node_sound) -- note: about missing params.. will use defaults.
|
||||
local fence_id = mcl_fences.register_fence(
|
||||
id,
|
||||
S("Bamboo Fence"),
|
||||
"mcl_bamboo_fence_bamboo.png",
|
||||
wood_groups,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||
wood_connect, node_sound)
|
||||
|
||||
local gate_id = mcl_fences.register_fence_gate(
|
||||
id,
|
||||
S("Bamboo Fence Gate"),
|
||||
"mcl_bamboo_fence_gate_bamboo.png",
|
||||
wood_groups,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||
node_sound) -- note: about missing params.. will use defaults.
|
||||
|
||||
mcl_bamboo.mcl_log(dump(fence_id))
|
||||
mcl_bamboo.mcl_log(dump(gate_id))
|
||||
|
|
|
@ -199,7 +199,11 @@ mcl_stairs.register_stair_and_slab_simple("blackstone_chiseled_polished", "mcl_b
|
|||
mcl_stairs.register_stair_and_slab_simple("blackstone_brick_polished", "mcl_blackstone:blackstone_brick_polished", S("Polished Blackstone Brick Stair"), S("Polished Blackstone Brick Slab"), S("Double Polished Blackstone Brick Slab"))
|
||||
|
||||
--Wall
|
||||
mcl_walls.register_wall("mcl_blackstone:wall", S("Blackstone Wall"), "mcl_blackstone:blackstone")
|
||||
mcl_walls.register_wall(
|
||||
"mcl_blackstone:wall",
|
||||
S("Blackstone Wall"),
|
||||
"mcl_blackstone:blackstone"
|
||||
)
|
||||
|
||||
--lavacooling
|
||||
|
||||
|
|
|
@ -66,9 +66,16 @@ mcl_signs.register_sign_custom("mcl_cherry_blossom", "_cherrywood",
|
|||
"mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", S("Cherry Sign"))
|
||||
|
||||
-- Fences & Gates
|
||||
mcl_fences.register_fence_and_fence_gate("cherry_fence", S("Cherry Fence"), S("Cherry Gate"),
|
||||
"mcl_cherry_blossom_planks.png", {handy=1, axey=1, flammable=2, fence_wood=1, fire_encouragement=5, fire_flammability=20}, 2, 15,
|
||||
{"group:fence_wood"}, mcl_sounds.node_sound_wood_defaults())
|
||||
mcl_fences.register_fence_and_fence_gate(
|
||||
"cherry_fence",
|
||||
S("Cherry Fence"),
|
||||
S("Cherry Gate"),
|
||||
"mcl_cherry_blossom_planks.png",
|
||||
{handy=1, axey=1, flammable=2, fence_wood=1, fire_encouragement=5, fire_flammability=20},
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||
{"group:fence_wood"},
|
||||
mcl_sounds.node_sound_wood_defaults())
|
||||
|
||||
-- Redstone
|
||||
mesecon.register_pressure_plate(
|
||||
|
|
|
@ -218,7 +218,10 @@ local function register_deepslate_variant(item, desc, longdesc)
|
|||
end
|
||||
if item ~= "chiseled" then
|
||||
mcl_stairs.register_stair_and_slab_simple("deepslate_"..item, "mcl_deepslate:deepslate_"..item, S(desc.." Stairs"), S(desc.." Slab"), S("Double "..desc.." Slab"))
|
||||
mcl_walls.register_wall("mcl_deepslate:deepslate"..item.."wall", S(desc.." Wall"), "mcl_deepslate:deepslate_"..item)
|
||||
mcl_walls.register_wall(
|
||||
"mcl_deepslate:deepslate"..item.."wall",
|
||||
S(desc.." Wall"),
|
||||
"mcl_deepslate:deepslate_"..item)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -269,7 +269,16 @@ for w=1, #woods do
|
|||
id = wood[1].."_fence"
|
||||
id_gate = wood[1].."_fence_gate"
|
||||
end
|
||||
mcl_fences.register_fence_and_fence_gate(id, wood[2], wood[3], wood[4], wood_groups, 2, 15, wood_connect, wood_sounds)
|
||||
mcl_fences.register_fence_and_fence_gate(
|
||||
id,
|
||||
wood[2],
|
||||
wood[3],
|
||||
wood[4],
|
||||
wood_groups,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||
wood_connect,
|
||||
wood_sounds)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_fences:"..id.." 3",
|
||||
|
@ -289,7 +298,15 @@ end
|
|||
|
||||
|
||||
-- Nether Brick Fence (without fence gate!)
|
||||
mcl_fences.register_fence("nether_brick_fence", S("Nether Brick Fence"), "mcl_fences_fence_nether_brick.png", {pickaxey=1, deco_block=1, fence_nether_brick=1}, 2, 30, {"group:fence_nether_brick"}, mcl_sounds.node_sound_stone_defaults())
|
||||
mcl_fences.register_fence(
|
||||
"nether_brick_fence",
|
||||
S("Nether Brick Fence"),
|
||||
"mcl_fences_fence_nether_brick.png",
|
||||
{pickaxey=1, deco_block=1, fence_nether_brick=1},
|
||||
minetest.registered_nodes["mcl_nether:nether_brick"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_nether:nether_brick"]._mcl_blast_resistance,
|
||||
{"group:fence_nether_brick"},
|
||||
mcl_sounds.node_sound_stone_defaults())
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_fences:nether_brick_fence 6",
|
||||
|
|
|
@ -52,7 +52,7 @@ minetest.register_node("mcl_ocean:prismarine_brick", {
|
|||
tiles = {"mcl_ocean_prismarine_bricks.png"},
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
|
@ -64,7 +64,7 @@ minetest.register_node("mcl_ocean:prismarine_dark", {
|
|||
tiles = {"mcl_ocean_prismarine_dark.png"},
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
This API allows you to add more walls (like the cobblestone wall) to MineClone 2.
|
||||
|
||||
## `mcl_walls.register_wall(nodename, description, craft_material, tiles, invtex, groups, sounds)`
|
||||
## `mcl_walls.register_wall(nodename, description, craft_material, tiles, invtex, groups, sounds, hardness, blast_resistance)`
|
||||
|
||||
Adds a new wall type. This is optimized for stone-based walls, but other materials are theoretically possible, too.
|
||||
|
||||
|
@ -25,6 +25,8 @@ If `craft_material` is not `nil` it also adds a crafting recipe of the following
|
|||
* `inventory_image`: Inventory image (optional if `source` is set)
|
||||
* `groups`: Base group memberships (optional, default is `{pickaxey=1}`)
|
||||
* `sounds`: Sound table (optional, by default default uses stone sounds)
|
||||
* `hardness`: Hardness of node (optional, default matches `source` node or fallback value 2)
|
||||
* `blast_resistance`: Blast resistance of node (optional, default matches `source` node or fallback value 6)
|
||||
|
||||
The following groups will automatically be added to the nodes (where applicable), you do not need to add them
|
||||
to the `groups` table:
|
||||
|
|
|
@ -97,8 +97,10 @@ local full_blocks = {
|
|||
* inventory_image: Inventory image (optional)
|
||||
* groups: Base group memberships (optional, default is {pickaxey=1})
|
||||
* sounds: Sound table (optional, default is stone)
|
||||
* hardness: Hardness of node (optional, default matches `source` node or fallback value 2)
|
||||
* blast_resistance: Blast resistance of node (optional, default matches `source` node or fallback value 6)
|
||||
]]
|
||||
function mcl_walls.register_wall(nodename, description, source, tiles, inventory_image, groups, sounds)
|
||||
function mcl_walls.register_wall(nodename, description, source, tiles, inventory_image, groups, sounds, hardness, blast_resistance)
|
||||
|
||||
local base_groups = groups
|
||||
if not base_groups then
|
||||
|
@ -112,15 +114,29 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
|||
local main_node_groups = table.copy(base_groups)
|
||||
main_node_groups.deco_block = 1
|
||||
|
||||
-- TODO: Stop hardcoding blast resistance
|
||||
|
||||
if not sounds then
|
||||
sounds = mcl_sounds.node_sound_stone_defaults()
|
||||
end
|
||||
|
||||
if (not tiles) and source then
|
||||
if minetest.registered_nodes[source] then
|
||||
tiles = minetest.registered_nodes[source].tiles
|
||||
if source then
|
||||
-- Default values from `source` node
|
||||
if not hardness then
|
||||
hardness = minetest.registered_nodes[source]._mcl_hardness
|
||||
end
|
||||
if not blast_resistance then
|
||||
blast_resistance = minetest.registered_nodes[source]._mcl_blast_resistance
|
||||
end
|
||||
if not sounds then
|
||||
sounds = minetest.registered_nodes[source].sounds
|
||||
end
|
||||
if not tiles then
|
||||
if minetest.registered_nodes[source] then
|
||||
tiles = minetest.registered_nodes[source].tiles
|
||||
end
|
||||
end
|
||||
else
|
||||
-- Fallback in case no `source` given
|
||||
if not hardness then
|
||||
hardness = 2
|
||||
end
|
||||
if not blast_resistance then
|
||||
blast_resistance = 6
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -169,8 +185,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
|||
fixed = take
|
||||
},
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
_mcl_blast_resistance = blast_resistance,
|
||||
_mcl_hardness = hardness,
|
||||
})
|
||||
|
||||
-- Add entry alias for the Help
|
||||
|
@ -197,8 +213,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
|||
fixed = {pillar, full_blocks[1]}
|
||||
},
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
_mcl_blast_resistance = blast_resistance,
|
||||
_mcl_hardness = hardness,
|
||||
})
|
||||
-- Add entry alias for the Help
|
||||
if minetest.get_modpath("doc") then
|
||||
|
@ -223,8 +239,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
|||
fixed = {pillar, full_blocks[2]}
|
||||
},
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
_mcl_blast_resistance = blast_resistance,
|
||||
_mcl_hardness = hardness,
|
||||
})
|
||||
-- Add entry alias for the Help
|
||||
if minetest.get_modpath("doc") then
|
||||
|
@ -255,8 +271,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
|||
collisionbox = {-0.2, 0, -0.2, 0.2, 1.4, 0.2},
|
||||
on_construct = update_wall,
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
_mcl_blast_resistance = blast_resistance,
|
||||
_mcl_hardness = hardness,
|
||||
})
|
||||
if source then
|
||||
minetest.register_craft({
|
||||
|
|
|
@ -194,6 +194,19 @@ mcl_mob_active_range (Active mob range) int 48 0 256
|
|||
# Zombie siege raid (default:false)
|
||||
mcl_raids_zombie_siege (Zombie siege raid) bool false
|
||||
|
||||
# Use MC 1.18+ light levels to control monster spawning.
|
||||
# Disable to use older mob specific light levels.
|
||||
mcl_mobs_modern_lighting (Use MC 1.18+ light rules for spawning) bool true
|
||||
|
||||
# These only take effect if mcl_mobs_modern_lighting is enabled
|
||||
# Light levels greater than these block mobs spawning
|
||||
# See https://minecraft.fandom.com/wiki/Light#Internal_light_level
|
||||
mcl_mobs_nether_threshold (Artificial light threshold to stop spawns in the Nether) int 11 0 14
|
||||
mcl_mobs_end_threshold (Artificial light threshold to stop spawns in the End) int 0 0 14
|
||||
mcl_mobs_overworld_threshold (Artificial light threshold to stop monster spawns in the Overworld) int 0 0 14
|
||||
mcl_mobs_overworld_sky_threshold (Skylight threshold to stop monster spawns in the Overworld) int 7 0 14
|
||||
mcl_mobs_overworld_passive_threshold (Combined light threshold to stop animal and npc spawns in the Overworld) int 7 0 14
|
||||
|
||||
[Audio]
|
||||
# Enable flame sound.
|
||||
flame_sound (Flame sound) bool true
|
||||
|
|
Loading…
Reference in New Issue