触发器 - woshiermuqwq/mythic-chinese GitHub Wiki

技能触发器

技能触发器用于决定技能如何激活.

触发器无法被写进技能组内(存放于Skills文件夹内的文档内).只能被写于实体配置内.

一行技能只能有一个触发器, 触发器字符串内, ~on 严格区分大小写, 但后面的部分则并不区分大小写(除onTimer/onSignal)

可用触发器列表 (括号内为版本需求与触发器别称):

1tick=0.05秒

触发器 描述 是否支持血量要求 是否支持几率 是否允许主线程执行
onAttack(onHit) 造成伤害后(触发者为受伤者) 支持 支持 允许
onBreed (5.0.3) 繁殖后 支持 支持 允许
onChangeworld(5.3.0) 进入其它世界后 支持 支持 不允许
onMilk(onBucket onUseBucket, onFillBucket, onBucketFill onMilked) 使用桶交互牛等实体后 支持 支持 不允许
onCreeper_Charge(4.13 onCharged, onCharge, onCreeperCharge) 爬行者充能后(闪电) 支持 支持 允许
onCombat 默认 出生、死亡、受伤、造成伤害后 支持 支持 允许
onDamaged(onHurt) 受到伤害后(触发者为攻击自身者) 支持 支持 允许
onSpawn 被生成后 不支持 支持 允许
onDeSpawn(onDeSpawned) 消失后(包括技能: Remove 与命令: /mm m k(a)) 支持 不支持 允许
onFirstSpawn(onReady) 第一次由生成点(定点生成)生成后 不支持 支持
onRespawn (5.0.2) 重生后 不支持 支持 允许
onDeath 被杀死后(触发者为击杀者) 不支持 支持 允许
onTimer:10 每10tick执行1次(10tick可修改) 支持 支持 允许
onTame(4.14.0) 被驯服后(触发者为驯服者) 支持 支持 允许
onTame_Fail(4.14.0 onTameFail) 驯服失败后(触发者为尝试驯服者) 支持 支持 允许
onTrident_Throw 三叉戟投掷后 支持 支持 允许
onTrident_Hit 三叉戟击中生物后 支持 支持 允许
onInteract 被右键后(触发者为右键者) 支持 支持 允许
onJoin (5.0.2) 加入服务器后 支持 支持 允许
onKill 杀死实体后 支持 支持 允许
onKillPlayer (onPlayerKill) 杀死玩家后 支持 支持 允许
onLoad 重启服务器被加载后 支持 支持
onPlayerDeath(onPlayerDie) 死亡后(施法者为玩家) 不支持 支持 允许
onPickUp (5.0.3) 拾取物品后 支持 支持 允许
onPrime(4.14.0) 爬行者被引燃后 支持 支持 允许
onEnterCombat 进入战斗后(需开启威胁度) 支持 支持 允许
onDropCombat 结束战斗后(需开启威胁度 支持 支持 允许
onChangeTarget 变更目标后(需开启威胁度) 支持 支持 允许
onExplode 爬行者爆炸后 支持 支持 允许
onTeleport 末影人(不包括潜影贝)传送后 支持 支持 允许
onSignal 收到信号后(触发者为信号发送者) 支持 支持 允许
onSignal:信号名 收到指定信号后(触发者为信号发送者) 支持 支持 允许
onShoot(onBowShoot, onShootBow) 发射后(包括火球、雪球等) 支持 支持 允许
onTrade 与村民交易后 支持 支持 允许

存在于 MythicMobs 本身, 需要 MythicCrucible 以运行的触发器:**

触发器 描述
onBlock_Break 破坏方块后
onBlock_Place 放置方块后
onConsume(onEat) 消耗物品后(药水、食物等)
onCrouch 蹲下后
onUnCrouch 蹲起后
onEquip(onEquipArmor, onArmorEquip) 穿戴后
onUnEquip(onUnEquipArmor, onArmorUnEquip) 脱下后
onBow_Hit 箭击中后(触发者为所命中实体)
onSplash_Potion(onPotion_Splash, onPotionSplash) 掷出药水瓶后
onRightClick 右键后
onShoot 射箭后
onSpawn 重生后
onSwing(onLeftClick) 左键后
onUse 右键后
onFish(onFishing, onFishingCast) 手持鱼竿右键后
onFishBite(onFishingBite, onFish_Bite, onFishing_Bite) 鱼准备上钩后
onFishCatch(onFishCaught, onFishingCaught, onFishingCatch, onCatchFish, onCaughtFish) 鱼上钩后
onFishGrab(onFishingGrab, onFishEntity, onFishingEntity) 钩中实体鱼后
onFishGround(onFishingGround, onFish_Ground) 鱼钩被抛在地面后
onFishingReel 收钩无鱼后
onFishingFail 有鱼准备上钩却提前收钩后
onPress_Q(onPressQ, onDropItem) 扔出物品后(需ProtocolLib)
onPress_Ctrl_Q(onPressCtrlQ, onDropItemStack) 扔出同一种类多个后(需ProtocolLib)
onPress_F(onItemSwap, onSwapItems) 主副手物品切换后(需ProtocolLib)

MythicCrucible是一个付费插件,购买入口->点我, 中文百科->点我

触发器配置示例

触发器必定带有前缀 ~on

触发器测试:
  Type: WITHER_SKELETON
  Skills:
  - ignite{ticks=100} @target ~onAttack
  - skill:某技能组 @trigger ~onDamaged 0.1
  - skill{s=AOEFire} ~onTimer:300

造成伤害后将对自身当前目标造成5秒燃烧效果
受伤后有10%几率对攻击者使用 某技能组
每15秒(300ticks)对自身激活1次技能组: AOEFire

测试实体:
  Type: skeleton
  Skills:
  - skill{s=测试技能} =10%-90%

测试实体 攻击或受击且当前生命为最大生命的10~90%时将会触发测试技能

关于@Trigger(触发者)

@Trigger所选取的是触发器的触发者.
铁傀儡攻击带有技能的僵尸,僵尸正在追逐村民
触发器为~onDamaged的技能会选取铁傀儡为技能目标
僵尸杀死带有全服通报技能的村民, 村民将在死后通报该僵尸的名称.
若使用@target目标选择器,则选取村民为技能目标

关于 ~onAttack

在 MM 4.12 及以下, 任何形式的伤害都能触发该触发器.

这就包括Damage等伤害技能所造成的伤害

但已在4.13修复

⚠️ **GitHub.com Fallback** ⚠️