Custom Spawns -- 自由配置生物的生成、数量上限与可否清除。
简介
需要 Fabric API 和 Cloth Config API!
这是一个仅服务端的模组,你可以借此配置各种生物的数量数量上限与能被清除与否,可以提升被动生物生成的比例,也可以添加或删除特定生物在特定群系下的生成。
本模组为作者所制作的旧版地形生成模组(即Modern Beta)的配套模组,你可以借助此模组还原旧版的被动生物生成。
配置
你可以通过Mod Menu来配置 Custom Spawn(推荐如此),也可以在通过 config 文件夹中的 customspawn.json 文件来进行配置。
注意:生物数量上限的计算使用以下公式。
实际生物数量上限 = 生物数量上限* 区块数[单人游戏里是289] / (chunkConstant ^ 2)
全局
特定组内生物生成选项
capacity:组内最大生物数量上限。
peaceful:组内生物是被作为动物生成还是作为怪物生成。
rare: 组内生物的生成是否遵循稀有生物的生成计时器。这个计时器可以通过 rareSpawnTicksToWait 来配置。
immediateDespawnRange:组内生物距离玩家多远会被立刻清除。
despawnStartRange:组内生物距离玩家多远会有概率被清除。
译者注:组与Minecraft对生物的分类一致。也可以看下文 spawnGroup 那里。
可否被清除
passivePersistent (默认值: true):是否把被动生物设为不可清除。
hostilePersistent (默认值: false):是否把敌对生物设为不可清除。
ambientPersistent (默认值: false):是否把环境ambient生物(比如蝙蝠)设为不可清除。
waterPersistent (默认值: false):是否把水下生物设为不可清除。
注意: 没有被设为不可清除的生物可以通过重命名或编辑NBT标签的方式取消对其自身的清除。被驯服或带鞍的生物则一定不会被清除,无论这类生物的“不可清除”选项的值如何。
添加生物生成
biomeId:生物群系的注册名,限定生物可以生成的生物群系。
mobId:生物的注册名。
spawnGroup: 这个生物处在的组。值可以是 MONSTER, CREATURE, AMBIENT, WATER_CREATURE, WATER_AMBIENT,UNDERGROUND_WATER_CREATURE (1.17+), AXOLOTLS (1.18+) 中的一个。
weight:生成权重,即生成的可能性。
minCount:组的最小大小。
maxCount:组的最大大小。
注意:生物在它们所在的组之外可能还有其他的生成限制(比如说,亮度限制。而幻翼的生成不受亮度影响,所以如果将其添加进主世界的自然生成,它们将在白天生成,即使被放在怪物类别下也是如此)。
移除生物的生成
biomeId: 生物群系的注册名。
mobId: 生物的注册名。
刷怪笼
overrideSpawnerDefaultValues: 开启或关闭对刷怪笼的配置。如果你有其他的自定义或修改刷怪笼的mod,请保持这个选项为关(off/false)。
minSpawnDelay: 每两次生成尝试之间的最小时间间隔,单位为tick。
minSpawnDelay: 每两次生成尝试之间的最大时间间隔,单位为tick。
spawnCount: 每次生成尝试时能生成的生物的最大数量。
maxNearbyEntities: 生成尝试能够成功时刷怪笼周边的与笼内生物同类的生物的最大数量。实际数量超过这个值会导致生成尝试必定失败。
requiredPlayerRange: 玩家与刷怪笼的距离小于这个设定的距离时,刷怪笼会被激活。
spawnRange: 生物生成半径。
示例
还原旧版生成
按照 Beta 1.2_01 spawning algorithm, 使用以下值可以恢复经典的Beta版生物生成模式:
Spawn Chunk Constant: 15;
Creature Mob Cap: 15;
Passive Mob Rare Spawn: False;
Passive Mob Persistence: False;
其他选项保持默认。
添加生成示例
{
"biomeId": "minecraft:plains",
"mobId": "minecraft:pig",
"spawnGroup": "CREATURE",
"weight": 10,
"minCount": 4,
"maxCount": 4
}
移除生成示例
//让猪(minecraft:pig)不在原版的平原生物群系(minecraft:plains)生成:
{
"biomeId": "minecraft:plains",
"mobId": "minecraft:pig"
}