创建自定义增援
如果你有兴趣在战斗中召唤精英怪来增援某个 Boss,本指南将对此进行详细介绍。
创建自定义 Boss 的步骤:
- 创建你的主自定义 Boss,由它来召唤你的自定义 Boss
- 创建一个用作增援的自定义 Boss。请记住,自定义 Boss 可以比原版怪物更强,但也可以更弱。
- 将正确的增援行添加到配置文件中
创建增援行
假设你有一个采用以下格式的自定义 Boss:
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
而你想为它添加增援。这样的一条增援可能如下所示:
- summonType:ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
要使其生效,请将它添加到 powers 列表中:
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
现在增援已添加到 Boss 实体上。不过,正如你所见,这里有若干可以自定义的选项。下面我们来逐一介绍。
所有自定义增援选项
提示:你也可以使用 EliteScript 来召唤增援,更多信息见此处。
summonType
这是一个必填字段。它设定增援应在何时生成。
| Key | Values | Default |
|---|---|---|
summonType | Special [1] | 无(必填) |
示例
summonType: ON_HIT
Special [1]
| Key | 描述 |
|---|---|
ONCE | 在 Boss 第一次被击中时生成一次增援。(可依赖百分比几率触发) |
ON_HIT | 每当 Boss 被击中时都生成增援(可依赖百分比几率触发) |
ON_COMBAT_ENTER | 当 Boss 进入战斗时生成增援 (1) |
ON_COMBAT_ENTER_PLACE_CRYSTAL | 特殊:这专门用于在 Boss 进入战斗时为龙战放置末影水晶 (1) |
ON_DEATH | 当 Boss 死亡时生成增援 |
GLOBAL | 为与 Boss 处于同一世界的每个玩家生成增援。无论玩家离 Boss 多远,增援都会在玩家附近生成。系统强制实行每位在线玩家 30 个增援的数量上限,以防止服务器过载。只要 Boss 处于战斗中且未达到上限,增援就会每 10 秒(200 刻)生成一次。这需要设置 customSpawn 字段才能生效! |
(1) Boss 在被玩家击中或在范围内检测到玩家时进入战斗。
filename
这是一个必填字段,因为它设定应生成哪个增援。使该字段成为必填的唯一例外是使用 summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL 设置时,因为末影水晶不是精英怪。
| Key | Values | Default |
|---|---|---|
filename | Filename | none |
示例
filename: test_boss.yml
重要: filename 必须引用一个已存在的 Boss 配置文件。如果该文件不存在,增援将在 Boss 生成期间被静默忽略。请始终确认你的增援 Boss 文件已正确创建并位于 custombosses 文件夹中。
最低可用性
仅凭 summonType: SUMMON_TYPE 和 filename: filename.yml 就足以创建一个自定义增援。以下示例对此进行了演示。
注意: 配置键不区分大小写。summonType 和 SUMMONTYPE(或任何其他大小写形式)都能正常工作。
示例
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml
不过,如果你想要或需要更复杂的设置,请继续阅读下方内容,了解这些选项还能做些什么。
chance
这是一个可选配置字段,用于配合 summonType 的 ONCE 和 ON_HIT 选项。它表示当 Boss 被击中时生成自定义增援的几率。
| Key | Values | Default |
|---|---|---|
chance | Double | 1.0 |
示例
chance: 0.5
表示有 50% 的几率生成自定义增援。
location
location: x,y,z 是一个可选配置字段,允许管理员将增援的位置偏移若干个方块。以下是关于此选项你需要了解的关键概念:
偏移位置是相对的。 这意味着 location: 0,10,0 会在 Boss 正上方恰好 10 个方块处生成 Boss,而不是在世界坐标 0,10,0 处。
对于区域型 Boss,相对位置有所不同。 区域型 Boss 总是以其生成点作为相对位置的原点,这意味着如果你知道 Boss 的生成点在哪里并数好方块,就可以让增援 Boss 在特定位置生成。世界缚束者(Binder of Worlds)巢穴正是依靠这一点,无论龙 Boss 在哪里,都能在极其精确的方块位置生成挑战塔的 Boss。
如果你测量距离时出错,Boss 会生成在方块内部。
| Key | Values | Default |
|---|---|---|
location | String | none |
示例
location: 0,10,0
对于非区域型自定义 Boss,无论它在哪里,都会在 Boss 正上方恰好 10 个方块处生成增援。
对于区域型自定义 Boss,无论 Boss 在哪里,都会在区域型 Boss 的生成点正上方恰好 10 个方块处生成增援。
重要提示:这专门是 summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL 的必填字段!
lightningRod
这是一个仅对 summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL 有用的特殊设置。它让末影水晶具备在延迟后用闪电劈击周围地面的能力。该水晶会被标记为“精英水晶”,并继承 Boss 当前的战斗目标。水晶本身不会持久存在,若 Boss 死亡或脱离战斗,它会被移除。
它不能与其他自定义增援一起使用,因为那些增援应通过技能来实现此类能力。
| Key | Values | Default |
|---|---|---|
lightningRod | Boolean | false |
示例
lightningRod: false
inheritAggro
这是一个可选配置字段,使自定义增援继承 Boss 的威胁等级。
当你希望生成的增援以造成伤害最多的人为目标时,这尤其有用。
| Key | Values | Default |
|---|---|---|
inheritAggro | Boolean | false |
示例
inheritAggro: false
amount
这是一个可选配置字段,设定生成的增援数量。
| Key | Values | Default |
|---|---|---|
amount | Integer | 1 |
示例
amount: 1
spawnNearby
这是一个可选配置字段,设定自定义增援是否应在附近生成,而不是在 Boss 正上方或某个特定相对位置生成。
在一个 30x30 方块的区域内生成(以 Boss 为中心,在 X 和 Z 轴上各 ±15 个方块)。系统会尝试最多 30 次以找到一个有效的地面高度生成位置,并兼顾地形起伏。如果尝试 30 次后仍未找到有效位置,增援将在 Boss 的确切位置生成。
| Key | Values | Default |
|---|---|---|
spawnNearby | Boolean | false |
示例
spawnNearby: false
inheritLevel
这是一个可选配置字段,设定自定义增援是否应继承它所增援的自定义 Boss 的等级。
| Key | Values | Default |
|---|---|---|
inheritLevel | Boolean | false |
示例
inheritLevel: false
customSpawn
这是一个仅用于全局增援的配置字段。它使用自定义生成点的设置来设定增援能够在何处生成。
这可以用来让增援能够在地表、有光照的地方、特定生物群系等处生成。更多详情请查看 自定义生成点 的 Wiki 页面。
| Key | Values | Default |
|---|---|---|
customSpawn | Filename | none |
示例
customSpawn: normal_surface_spawn.yml
组装一个大型增援
让我们使用前面大部分字段创建一个增援示例:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
它实现了以下功能:
- 创建一个自定义增援
- 该自定义增援会在自定义 Boss 进入战斗时生成(
summonType: ON_COMBAT_ENTER) - 召唤的自定义增援是来自
test_boss.yml的那个(filename: test_boss.yml) - 该自定义增援会在自定义 Boss 当前位置的 30 个方块范围内生成(
spawnNearby: true) - 该自定义增援会继承它所增援的自定义 Boss 的仇恨,这意味着它会攻击造成伤害最多的玩家(
inheritAggro: true) - 无论
test_boss.yml中如何设置,该自定义增援的等级都将与它所增援的自定义 Boss 相同(inheritLevel: true)
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true
它实现了以下功能:
- 创建一个自定义增援
- 该自定义增援将是一个在战斗开始时放置下来的末影水晶(
summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL) - 该末影水晶会在延迟后用闪电劈击周围地面(
lightningRod: true)
# 示例:死亡时生成复仇仆从的 Boss
- summonType: ON_DEATH
filename: revenge_minion.yml
amount: 3
spawnNearby: true
它实现了以下功能:
- 创建一个自定义增援
- 该自定义增援会在 Boss 死亡时生成(
summonType: ON_DEATH) - 召唤的自定义增援是来自
revenge_minion.yml的那个(filename: revenge_minion.yml) - 将生成三个增援(
amount: 3) - 增援会在 Boss 死亡处的 30 个方块范围内生成(
spawnNearby: true)
现在将其应用到自定义 Boss 上:
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true
大功告成!再给你几条小贴士:
- 这些字段可以按任意顺序设置,不过建议始终将
summonType放在最前面! - 这相比旧的增援系统是一次重大改进,旧系统已不再列出。目前不建议依赖它,因为它将来可能会停止工作。