Skip to content

触发器参考手册

1. 触发器类型完整列表

攻击/伤害类

触发器说明上下文变量
ON_ATTACK攻击实体时attacker victim damage damageType isCritical weapon
ON_ATTACK_CRITICAL暴击时attacker victim damage critMultiplier
ON_KILL击杀实体时killer victim damage
ON_DAMAGE造成最终伤害时attacker victim finalDamage rawDamage
ON_MELEE_ATTACK近战攻击时attacker victim damage weapon
ON_RANGED_ATTACK远程攻击时attacker victim damage projectile

防御/受伤类

触发器说明上下文变量
ON_DEFEND被攻击时attacker victim damage damageType
ON_DAMAGED受到伤害后attacker victim finalDamage currentHealth
ON_BLOCK格挡成功时attacker victim blockedDamage
ON_DODGE闪避成功时attacker victim dodgedDamage
ON_DEATH死亡时victim killer damage
ON_LOW_HEALTH生命值低于阈值entity currentHealth maxHealth threshold

移动/交互类

触发器说明上下文变量
ON_MOVE移动时entity from to speed
ON_JUMP跳跃时entity location
ON_SNEAK潜行切换entity isSneaking
ON_SPRINT疾跑切换entity isSprinting
ON_INTERACT交互时player action block item
ON_RIGHT_CLICK右键点击player item block
ON_LEFT_CLICK左键点击player item block

装备/物品类

触发器说明上下文变量
ON_EQUIP穿戴装备player item slot
ON_UNEQUIP卸下装备player item slot
ON_HOLD切换手持player item previousItem
ON_CONSUME消耗物品player item
ON_BREAK_ITEM物品损坏player item

周期/状态类

触发器说明上下文变量
ON_TIMER定时触发entity interval tickCount
ON_ENTER_COMBAT进入战斗entity
ON_LEAVE_COMBAT脱离战斗entity combatDuration
ON_LEVEL_UP升级player oldLevel newLevel
ON_RESPAWN重生player
ON_JOIN加入服务器player
ON_QUIT退出服务器player

技能/法力类

触发器说明上下文变量
ON_SKILL_CAST释放技能caster skill level targets
ON_SKILL_HIT技能命中caster victim skill damage
ON_MANA_USE消耗法力entity amount remaining
ON_MANA_FULL法力充满entity

ON_TIMER 特殊参数

yaml
triggers:
  - type: ON_TIMER
    interval: 40              # 每 40 tick(2 秒)触发一次
    conditions: []
    actions:
      - type: HEAL
        amount: 5
        target: SELF

2. 条件完整列表

概率/冷却

条件参数说明
CHANCEvalue: 0~100概率判定(百分比)
COOLDOWNvalue: 毫秒冷却时间

生命/法力

条件参数说明
HEALTH_ABOVEvalue: 0~100生命百分比高于
HEALTH_BELOWvalue: 0~100生命百分比低于
MANA_ABOVEvalue: 0~100法力百分比高于
MANA_BELOWvalue: 0~100法力百分比低于

状态

条件参数说明
IS_SNEAKING正在潜行
IS_SPRINTING正在疾跑
IS_FLYING正在飞行
IN_WORLDvalue: 世界名在指定世界
IN_BIOMEvalue: 生物群系在指定生物群系
HAS_PERMISSIONvalue: 权限节点拥有权限

装备/属性

条件参数说明
HOLDING_TYPEvalue: Material手持物品类型
WEARING_SETvalue: 套装 ID穿戴指定套装
HAS_AFFIXvalue: 词条 ID拥有指定词条
ATTRIBUTE_ABOVEattribute, value属性值高于
ATTRIBUTE_BELOWattribute, value属性值低于
LEVEL_RANGEmin, max等级范围

伤害/目标

条件参数说明
DAMAGE_TYPEvalue: 伤害类型伤害类型匹配
TARGET_TYPEvalue: 目标类型目标类型匹配

伤害类型:physical magic fire ice lightning poison holy dark true

目标类型:PLAYER MOB BOSS ANIMAL UNDEAD ARTHROPOD

逻辑组合

条件参数说明
ANDchildren: 条件列表所有子条件为真
ORchildren: 条件列表任一子条件为真
NOTchild: 单个条件子条件取反

脚本条件

条件参数说明
SCRIPTcode: Aria 代码脚本返回 boolean
yaml
- type: SCRIPT
  code: |
    val.hp = symphony.entity.getHealth(server.trigger_entity)
    val.maxHp = symphony.entity.getMaxHealth(server.trigger_entity)
    val.ratio = hp / maxHp
    return ratio < 0.3 && ratio > 0.1

3. 上下文变量在脚本中的访问

触发器上下文变量通过 server.trigger_* 前缀在 Aria 脚本中访问:

aria
val.attacker = server.trigger_attacker
val.victim = server.trigger_victim
val.damage = server.trigger_damage
val.isCritical = server.trigger_isCritical
val.weapon = server.trigger_weapon

4. 自定义触发器

其他插件注册的自定义触发器也可以在词条配置中使用:

yaml
triggers:
  - type: "myplugin:on_combo"
    conditions:
      - type: SCRIPT
        code: |
          return server.trigger_comboCount >= 5
    actions:
      - type: DAMAGE
        amount: 100
        damage_type: physical
        target: TRIGGER_TARGET