跳到主要内容

创建自定义增援

如果你有兴趣在战斗中召唤精英怪来增援某个 Boss,本指南将对此进行详细介绍。

创建自定义 Boss 的步骤:

  1. 创建你的主自定义 Boss,由它来召唤你的自定义 Boss
  2. 创建一个用作增援的自定义 Boss。请记住,自定义 Boss 可以比原版怪物更强,但也可以更弱。
  3. 将正确的增援行添加到配置文件中

创建增援行

假设你有一个采用以下格式的自定义 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

这是一个必填字段。它设定增援应在何时生成。

KeyValuesDefault
summonTypeSpecial [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 设置时,因为末影水晶不是精英怪。

KeyValuesDefault
filenameFilenamenone
示例
filename: test_boss.yml

重要: filename 必须引用一个已存在的 Boss 配置文件。如果该文件不存在,增援将在 Boss 生成期间被静默忽略。请始终确认你的增援 Boss 文件已正确创建并位于 custombosses 文件夹中。


最低可用性

仅凭 summonType: SUMMON_TYPEfilename: filename.yml 就足以创建一个自定义增援。以下示例对此进行了演示。

注意: 配置键不区分大小写。summonTypeSUMMONTYPE(或任何其他大小写形式)都能正常工作。

示例
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

这是一个可选配置字段,用于配合 summonTypeONCEON_HIT 选项。它表示当 Boss 被击中时生成自定义增援的几率。

KeyValuesDefault
chanceDouble1.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 会生成在方块内部。

KeyValuesDefault
locationStringnone
示例
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 死亡或脱离战斗,它会被移除。

它不能与其他自定义增援一起使用,因为那些增援应通过技能来实现此类能力。

KeyValuesDefault
lightningRodBooleanfalse
示例
lightningRod: false

inheritAggro

这是一个可选配置字段,使自定义增援继承 Boss 的威胁等级。

当你希望生成的增援以造成伤害最多的人为目标时,这尤其有用。

KeyValuesDefault
inheritAggroBooleanfalse
示例
inheritAggro: false

amount

这是一个可选配置字段,设定生成的增援数量。

KeyValuesDefault
amountInteger1
示例
amount: 1

spawnNearby

这是一个可选配置字段,设定自定义增援是否应在附近生成,而不是在 Boss 正上方或某个特定相对位置生成。

在一个 30x30 方块的区域内生成(以 Boss 为中心,在 X 和 Z 轴上各 ±15 个方块)。系统会尝试最多 30 次以找到一个有效的地面高度生成位置,并兼顾地形起伏。如果尝试 30 次后仍未找到有效位置,增援将在 Boss 的确切位置生成。

KeyValuesDefault
spawnNearbyBooleanfalse
示例
spawnNearby: false

inheritLevel

这是一个可选配置字段,设定自定义增援是否应继承它所增援的自定义 Boss 的等级。

KeyValuesDefault
inheritLevelBooleanfalse
示例
inheritLevel: false

customSpawn

这是一个仅用于全局增援的配置字段。它使用自定义生成点的设置来设定增援能够在何处生成。

这可以用来让增援能够在地表、有光照的地方、特定生物群系等处生成。更多详情请查看 自定义生成点 的 Wiki 页面。

KeyValuesDefault
customSpawnFilenamenone
示例
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 放在最前面!
  • 这相比旧的增援系统是一次重大改进,旧系统已不再列出。目前不建议依赖它,因为它将来可能会停止工作。