
BOSS区域 汪汪
BossArea 是一个适用于 Fabric 1.20.1 的模组,专为自定义冒险整合包设计,用于以RPG风格创建战斗区域。
查看大图BossArea — 命令参考
Fabric 1.20.1 · 需要管理员权限等级 2
所有数据均保存在世界存档的 data/bossarea.dat 文件中,服务器重启后依然存在。
目录
选择魔杖
/give @s bossarea:selection_wand
- 左键点击方块 → 设置角 A
- 右键点击方块 → 设置角 B
选择轮廓以粒子效果显示,仅你可见,手持魔杖时持续刷新。
创建和管理区域
/bossarea set <名称>
根据你当前魔杖的选择区域创建一个新的 Boss 区域。
/bossarea remove <名称>
/bossarea list
/bossarea info <名称>
/bossarea status <名称>
/bossarea enable <名称> <true|false>
info 会显示完整配置,并带有可点击的 [edit] 按钮,可在聊天栏中预填充命令。list 会显示所有区域 — 点击名称可打开其信息页面。所有接受区域名称的命令都支持 Tab 自动补全。
/bossarea edit <名称> setcorners
根据您当前的魔杖选择重新定义区域边界,并保留所有现有配置。
怪物波次
怪物会在区域中央的四分之一(每个轴上的 37.5%–62.5%)的可靠实心地面上生成。
简单方法 — addmob
/bossarea edit <名称> addmob minecraft:zombie 10
→ 每次战斗生成 10 只僵尸。
带上可选的玩家缩放:
/bossarea edit <名称> addmob minecraft:zombie 10 25
→ 基础 10 只僵尸,每多一个玩家增加 25%。
/bossarea edit <名称> addmob minecraft:zombie 10 25 1
→ 同上,外加每多一个玩家固定增加 1 只僵尸。
N 个玩家的缩放公式:
总数量 = 基础数量 + (固定值 × (N-1)) + round(基础数量 × 百分比% × (N-1))
/bossarea edit <名称> clearmobs
高级方法 — setmobs
用一个命令替换整个怪物列表:
/bossarea edit <名称> setmobs minecraft:zombie 10 percent:25 flat:1, minecraft:skeleton 5
注意:setmobs 使用 percent: 和 flat: 前缀(值前无空格)。如果觉得此语法复杂,可多次使用 addmob — 两者完全等效。
Boss 序列
Boss 会按顺序逐一生成。每个 Boss 只有在前一个 Boss 死亡后才会生成。顺序由 reorderboss 设置的 order 值控制。
/bossarea edit <名称> addboss minecraft:wither 1
在序列末尾添加一个 Boss。
/bossarea edit <名称> addboss minecraft:wither 1 50 0
带缩放:每多一个玩家增加 50%,固定值为 0。
带自定义 NBT(参见 自定义 NBT):
/bossarea edit <名称> addboss minecraft:wither_skeleton 1 0 0 {CustomName:'"The Ancient"',Health:200f}
/bossarea edit <名称> setboss <实体> <数量> [百分比] [固定值] [nbt]
用一个条目替换整个 Boss 列表(向后兼容的简写形式)。
/bossarea edit <名称> clearboss
Boss 计时
/bossarea edit <名称> bosstiming with_mobs
/bossarea edit <名称> bosstiming after_clear
| 值 | 行为 |
|---|---|
with_mobs (默认) |
1 号 Boss 与怪物一同生成。之后的每个 Boss 在前一个 Boss 和所有怪物都死亡后生成。 |
after_clear |
必须先清除所有怪物,然后 Boss 依次生成。 |
重新排列 Boss 顺序
/bossarea edit <名称> reorderboss "minecraft:wither" 0
/bossarea edit <名称> reorderboss "mobs_woof:spawn_spectre" 1
order 值(0 = 第一个)控制生成顺序。对于MobSpawnEntry的 Boss,使用实体 ID;对于基于函数的 Boss,使用引号内的函数名称。
数据包函数
函数允许通过数据包 .mcfunction 文件生成任何实体 — 自定义怪物、模组实体、多实体设置。BossArea 通过你在 mcfunction 中添加的 计分板标签 来追踪生成的实体。
标签命名
| 角色 | 标签格式 | 区域 dungeon 的示例 |
|---|---|---|
mob |
bossarea_<区域> |
bossarea_dungeon |
boss |
bossarea_boss_<区域> |
bossarea_boss_dungeon |
你区域的确切标签会显示在 /bossarea info <名称> 的 "Functions" 下。
在 mcfunction 中添加标签
将标签直接放入召唤命令的 Tags:[...] NBT 中:
summon minecraft:cave_spider ~ ~ ~ {PersistenceRequired:1b,...,Tags:["bossarea_boss_dungeon"]}
如果你的实体使用了 Passengers,请将标签添加到坐骑和乘客上,以便 BossArea 等待两者都死亡。
注册函数
简单方式(角色 mob,调用 1 次,无缩放):
/bossarea edit <名称> addfunc mobs_woof:spawn_elite_zombie
带缩放和角色:
/bossarea edit <名称> addfuncscaled "mobs_woof:spawn_boss" 1 100 0 boss
参数:"函数" 数量 百分比 固定值 mob|boss
数量= 基础调用次数(每次调用运行一次 mcfunction)百分比= 每多一个玩家增加 X% 的调用次数固定值= 每多一个玩家增加 X 次调用次数mob= 实体视为普通怪物(必须在after_clear下在 Boss 生成前死亡)boss= 实体属于 Boss 序列的一部分
/bossarea edit <名称> removefunc "mobs_woof:spawn_boss"
/bossarea edit <名称> listfuncs
注意: 在
addfuncscaled、removefunc和reorderboss中,包含:的函数名称必须用双引号括起来。
修改数据包 mcfunction 文件后,在游戏中运行 /reload 以应用更改,无需重启服务器。
自定义 NBT
向使用 addmob、addboss 或 setboss 添加的任何怪物或 Boss 传递自定义 NBT。NBT 作为最后一个参数,跟在 数量 百分比 固定值 之后(必须提供所有三个参数,即使 百分比 和 固定值 为 0):
/bossarea edit <名称> addboss minecraft:wither_skeleton 1 0 0 {CustomName:'"The Guardian"',Health:200f,Attributes:[{Id:"minecraft:generic.max_health",Base:200}]}
/bossarea edit <名称> addmob minecraft:zombie 5 0 0 {HandItems:[{id:"minecraft:diamond_sword",Count:1b},{}],CustomName:'"Elite Zombie"'}
NBT 在输入时会立即验证。先用 /summon(使用游戏内自动补全)构建并测试你的 NBT,然后复制 {...} 块。
门
用魔杖选择门体积,然后:
/bossarea edit <名称> door set <门名称> <方块类型>
隐形门(没有可见方块的屏障):
/bossarea edit <名称> door invisible <门名称>
通过坐标定义门(无需魔杖):
/bossarea edit <名称> door setcoords <门名称> <x1> <y1> <z1> <x2> <y2> <z2> <方块类型>
/bossarea edit <名称> door list
/bossarea edit <名称> door remove <门名称>
door list 会显示可点击的 [A: x y z] / [B: x y z] 按钮,可从聊天栏将你传送到每个角落。
注意: 门体积内的原始方块不会被保留 — 请为门设计一个专用的空框架。
计时
/bossarea edit <名称> setgrace <秒数>
门关闭前的宽限期(默认:3 秒)。在此期间离开的玩家将从战斗中移除。如果所有玩家都离开,战斗将完全取消。
/bossarea edit <名称> setcooldown <秒数>
战斗结束后的冷却时间(默认:300 秒),之后房间才能再次触发。
胜利传送
/bossarea edit <名称> setvictorytp <x> <y> <z>
在胜利时将幸存的参战玩家传送到(与区域相同的维度)。
/bossarea edit <名称> setvictorytp <x> <y> <z> <维度>
传送到特定维度。维度 ID 会立即验证。
| 维度 ID | 维度 |
|---|---|
minecraft:overworld |
主世界 |
minecraft:the_nether |
下界 |
minecraft:the_end |
末地 |
对于模组维度,请使用模组的标识符(例如 aether:the_aether)。已死亡的玩家不会被传送。被传送的玩家会保留其偏航角和俯仰角。
/bossarea edit <名称> clearvictorytp
消息
四个事件各自可以设置自定义消息或禁用:
| 事件 | 默认触发条件 |
|---|---|
grace |
玩家进入区域 |
combat |
门关闭,战斗开始 |
victory |
所有敌人被击败 |
defeat |
所有参战玩家死亡 |
/bossarea edit <名称> setmessage <事件> <文本>
/bossarea edit <名称> setmessage <事件> default
/bossarea edit <名称> setmessage <事件> off
/bossarea edit <名称> disablemessage <事件>
/bossarea edit <名称> enablemessage <事件>
消息仅显示在动作栏上,仅物理上位于区域内的玩家可见。
玩家进度
一旦一个队伍清除了一个房间,每个参战的玩家(包括在最后一击前死亡的玩家)都会被永久标记为已通关该房间。已通关的玩家可以自由进出 — 除非他们与至少一个尚未通关的玩家一同进入,在这种情况下战斗会为所有人触发。
/bossarea completed <名称> <玩家>
显示该玩家是否已通关此房间。
/bossarea completed <名称> <玩家> <true|false>
强制设置通关状态。false 会重置进度(他们必须再次战斗)。true 会授予自由通行权。
可重复模式
/bossarea edit <名称> setrepeatable true
/bossarea edit <名称> setrepeatable false
当设置为 true 时,无论通关状态如何,每次都会触发战斗。
重置与调试
/bossarea forcereset <名称>
立即完全重置:移除所有剩余实体,重新开门,返回空闲状态。
/bossarea resettimer <名称>
取消冷却时间或重新开始宽限倒计时,而不中断进行中的战斗。如果战斗当前正在进行中,则拒绝执行 — 在这种情况下请使用 forcereset。
完整示例
# 1. 获取魔杖并选择房间
/give @s bossarea:selection_wand
# 左键点击一个角落,右键点击对角角落
/bossarea set dragon_lair
# 2. 定义入口门(先用魔杖选择体积)
/bossarea edit dragon_lair door set entrance minecraft:stone
# 3. 普通怪物
/bossarea edit dragon_lair addmob minecraft:zombie 8 20 1
/bossarea edit dragon_lair addmob minecraft:skeleton 4 20
# 4. 通过数据包函数实现两个 Boss 序列
/bossarea edit dragon_lair addfuncscaled "mobs:spawn_spider_mount" 1 0 0 boss
/bossarea edit dragon_lair addfuncscaled "mobs:spawn_ancient_spectre" 1 0 0 boss
/bossarea edit dragon_lair reorderboss "mobs:spawn_spider_mount" 0
/bossarea edit dragon_lair reorderboss "mobs:spawn_ancient_spectre" 1
/bossarea edit dragon_lair bosstiming after_clear
# 5. 计时
/bossarea edit dragon_lair setgrace 3
/bossarea edit dragon_lair setcooldown 300
# 6. 胜利后将幸存者传送到下界
/bossarea edit dragon_lair setvictorytp 100 64 200 minecraft:the_nether
# 7. 查看配置
/bossarea info dragon_lair
# 测试期间:立即跳过冷却时间
/bossarea resettimer dragon_lair
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。