
生成怪物
Spawn Mobs Active 是一个轻量级、完全可配置的Fabric 1.21.1模组,用于管理生物生成。
生成生物活跃
生成生物活跃是一款轻量级、完全可配置的生物生成管理器,适用于 Fabric 1.21.1。通过简单的规则列表,您可以精确决定哪些生物可以生成、哪些被阻止——可按生物、类别、生成来源、维度、高度、光照等级和生物群系进行控制。无需命令或编码:所有设置都在一个简单的 JSON 文件中完成。
无论您是想让主世界变得和平,只有刷怪笼能生成怪物;还是想体验洞穴专属的僵尸世界;或者只是想移除某一种烦人的生物——生成控制都能用几行代码搞定。
功能特性
- 单独阻止或允许任何生物(
minecraft:creeper、minecraft:zombie……) - 通过类别阻止或允许整个群体(例如一次性阻止所有
MONSTER——也适用于模组生物) - 按生成来源过滤:自然生成、刷怪笼、结构、巡逻等
- 按维度过滤(主世界/下界/末地/模组维度)
- 按高度过滤(
minY/maxY)——非常适合“仅限洞穴” - 按光照等级和天空可见度过滤(地表 vs. 洞穴)
- 按生物群系过滤
- 用于处理鸡骑士的专用选项
- 游戏内重载——无需重启
- 可选的日志记录,打印每次被阻止的生成及其精确的生物 ID
工作原理(重要部分)
您需要编写一个规则列表。每条规则要么是ALLOW(允许生成),要么是DENY(阻止生成)。
当生物尝试生成时,生成控制会自上而下检查规则,并应用第一条匹配的规则——然后停止检查。如果没有规则匹配,则使用defaultAction(默认为ALLOW,即原版行为)。
第一条匹配的规则生效。 这就是为什么“例外”(ALLOW)必须放在通用禁令(DENY)之上。
一条规则就是条件(必须满足的条件)加上一个动作。任何省略的字段都会被忽略,意味着“适用于所有情况”。在同一条规则中,所有列出的条件都必须匹配(AND 逻辑)。
配置文件
位置:config/spawncontrol.json(首次启动时自动创建,包含示例)。
顶层设置
| 设置 | 含义 |
|---|---|
enabled |
整个模组的总开关(true / false) |
defaultAction |
没有规则匹配时的行为:"ALLOW"(原版)或 "DENY" |
disableChickenJockeys |
true = 不生成作为坐骑的鸡;幼年生物会留在地面上 |
removeChickenJockeyRiders |
true = 移除整个鸡骑士(骑手和鸡),无论来自何种生成来源 |
logBlockedSpawns |
true = 将每次被阻止的生成及其生物 ID 打印到控制台(便于查找 ID) |
rules |
规则列表,自上而下检查 |
规则字段
| 字段 | 含义 |
|---|---|
action |
"ALLOW" 或 "DENY" |
entities |
生物 ID 列表,例如 ["minecraft:zombie", "minecraft:creeper"]。空列表 = 所有生物 |
categories |
生物类别(见下文)。空列表 = 所有类别 |
spawnReasons |
生成来源(见下文)。空列表 = 所有来源 |
dimensions |
例如 ["minecraft:overworld", "minecraft:the_nether"]。空列表 = 所有维度 |
biomes |
例如 ["minecraft:plains"]。空列表 = 所有生物群系 |
minY / maxY |
高度范围(包含) |
requireSkyVisible |
true = 仅限地表,false = 仅限洞穴 |
minBlockLight / maxBlockLight |
方块光照范围(0–15) |
minSkyLight / maxSkyLight |
天空光照范围(0–15) |
comment |
自由文本备注,仅供自己参考;无实际效果 |
类别
MONSTER、CREATURE、AMBIENT、WATER_CREATURE、WATER_AMBIENT、UNDERGROUND_WATER_CREATURE、AXOLOTLS、MISC
MONSTER 包含敌对生物(僵尸、骷髅、苦力怕、蜘蛛、末影人、女巫、掠夺者等)——也包括注册在该类别下的模组生物。
生成来源
NATURAL、SPAWNER、STRUCTURE、CHUNK_GENERATION、PATROL、JOCKEY、REINFORCEMENT 等。
示例(“配方”)
完全禁用一种生物(任何来源):
{ "action": "DENY", "entities": ["minecraft:creeper"] }
在所有地方禁用所有敌对怪物:
{ "action": "DENY", "categories": ["MONSTER"] }
怪物仅来自刷怪笼(允许刷怪笼,阻止其余来源):
{ "action": "ALLOW", "categories": ["MONSTER"], "spawnReasons": ["SPAWNER"] },
{ "action": "DENY", "categories": ["MONSTER"] }
仅阻止主世界的怪物(下界和末地保持正常):
{ "action": "DENY", "categories": ["MONSTER"], "dimensions": ["minecraft:overworld"] }
僵尸仅限洞穴(Y 50 以下),不在地表:
{ "action": "ALLOW", "entities": ["minecraft:zombie"], "spawnReasons": ["NATURAL"], "dimensions": ["minecraft:overworld"], "maxY": 50 },
{ "action": "DENY", "entities": ["minecraft:zombie"], "spawnReasons": ["NATURAL"], "dimensions": ["minecraft:overworld"] }
提示: 构建规则时,先问自己 “哪些应该作为例外被允许?” → 将其作为ALLOW放在顶部附近,然后将通用的DENY放在下面。
鸡骑士
鸡骑士以特殊方式生成,不经过正常的生成检查,因此有自己的设置:
removeChickenJockeyRiders: true→ 移除整个骑士(骑乘的幼年生物和它的鸡),无论生成来源。已有存档中的骑士也会在加载时被清理。正常僵尸和正常幼年僵尸不受影响。disableChickenJockeys: true→ 仅阻止鸡坐骑的生成;一个正常的幼年生物会留在地面上。- 按规则的替代方案(仅移除鸡):
{ "action": "DENY", "entities": ["minecraft:chicken"], "spawnReasons": ["JOCKEY"] }
两个开关均默认为 false。
命令
需要 OP / 权限等级 2:
/spawncontrol reload— 重载配置文件,无需重启/spawncontrol on//spawncontrol off— 全局开关模组/spawncontrol status— 显示当前状态和规则数量
须知
- 试炼刷怪笼(来自试炼密室的)使用自己的逻辑,不受本模组影响。
- 生成控制仅阻止新生成;已加载到世界中的生物不会被移除(让它们自动消失或自行清除)。
- 调整了某些设置?运行
/spawncontrol reload即可生效。
需求
- Minecraft 1.21.1(Fabric)
- Fabric API
- Java 21
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。