For the complete documentation index, see llms.txt. This page is also available as Markdown.

⚔️战斗与状态修改器

本页面会分别说明每一种修改器。所有条目也支持能力修改器页面中介绍的通用修改器字段。

本页面的注册键

  • armor_pierce

  • missing_health_damage

  • stack_damage_modifier

  • revive

  • warden_anger


armor_pierce

**用途:**提高当前伤害结果,以近似实现忽略目标一定比例护甲的效果。

**上下文:**需要作为 TARGET 的生物实体,以及可修改的伤害结果。

字段

字段
默认值
说明

percent

0

护甲穿透百分比,数值限制在 0..100

示例

行为与限制

  • 修改器会读取目标的护甲值和盔甲韧性属性,但不会修改这些属性本身。

  • 此修改器通过补偿原版护甲减伤来实现穿甲效果,并不是独立的真实伤害通道。


missing_health_damage

**用途:**根据 SOURCE 已损失的生命值百分比,按阶段增加百分比伤害。

**上下文:**需要作为 SOURCE 的生物实体,以及可修改的伤害结果。

字段

字段
默认值
说明

step-percent

10

每个阶段所需的已损失生命值百分比,最小值为 0.1。

percent-per-step

5

每完成一个阶段增加的伤害百分比。

maximum-percent

100

伤害加成百分比的最大值。

示例

行为与限制

  • 阶段数量按照 floor(missingPercent / step-percent) 计算。

  • 最终伤害会乘以 1 + bonus/100


stack_damage_modifier

**用途:**保存堆叠状态,并将堆叠数量转换为伤害百分比的增加或减少。

**上下文:**需要一个稳定的状态所有者;实际修改伤害时还需要可修改的伤害结果。不同触发器部分使用相同的 pool 值时,可以共享同一个状态池。

字段

字段
默认值
说明

damage-type

DEALT

可填写 DEALTTAKEN;控制默认作用范围和消息元数据。

stack-action

ADD

可填写 ADDREADCONSUMECLEAR

stack-value

CURRENT

使用 ADD 时,选择应用 CURRENT 当前堆叠数或 PREVIOUS 添加前的堆叠数。

operation

INCREASE

可填写 INCREASEDECREASENONE

pool

当前配置路径

状态池名称。

max-stacks

5

最多保存的堆叠数量,最小值为 1。

stack-amount

1

ADD 操作每次增加的堆叠数量。

percent-per-stack

5

每个有效堆叠对应的伤害百分比。

maximum-percent

自动推导

最终百分比的上限。

scope.per-target

false

是否按照选中的目标分别建立状态池。

scope.target

由类型决定

DEALT 默认使用 TARGETTAKEN 默认使用 SOURCE

scope.per-damage-cause

false

是否按照 Bukkit 伤害原因分别建立状态池。

reset.seconds

5

ADD 刷新的过期时间;填写非正数时禁用定时过期。

reset.clear-on

可填写 AFTER_APPLYAFTER_DAMAGE_DEALTAFTER_DAMAGE_TAKEN

messages.*

可选的生命周期消息,以及接收者和节流设置。

示例

行为与限制

  • ADD 会更新状态;READ 会应用状态但不修改它;CONSUME 会移除并应用状态;CLEAR 只会移除状态。

  • 插件重载、卸载或相关实体卸载时,状态和已经安排的消息都会被清除。


revive

**用途:**在支持的死亡触发器中请求复活。

**上下文:**主要用于 on-death;能否成功应用取决于触发器和服务端平台是否支持。

字段

字段
默认值
说明

health

20

复活后的生命值,最大不会超过来源实体的生命值上限;{original} 表示最大生命值。

no-drops

false

应用复活时是否清空死亡掉落物。

示例

行为与限制

  • 只希望复活生效一次时,应为整个能力或该条目设置次数限制。

  • SOURCE 不是生物实体时,表达式解析使用的备用最大生命值为 20。


warden_anger

**用途:**仅修改监守者愤怒值的正向增加量。

**上下文:**需要 Paper 的 WardenAngerChangeEvent,且新的愤怒值必须大于旧值。

字段

字段
默认值
说明

value

当前值

操作数;{original} 表示此修改器执行前的当前结果。

operation

SET

可填写 SETADDSUBTRACTMULTIPLYDIVIDEMINMAX;除数为零时保留原始值。

示例

行为与限制

  • 修改器的操作对象是本次增加的愤怒值,而不是监守者当前的总愤怒值。

  • 计算得到的新愤怒值会四舍五入,并限制在 0..150


最后更新于