触发器 - 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所选取的是触发器的触发者.
铁傀儡攻击带有技能的僵尸,僵尸正在追逐村民
触发器为~onDamaged的技能会选取铁傀儡为技能目标
僵尸杀死带有全服通报技能的村民, 村民将在死后通报该僵尸的名称.
若使用@target目标选择器,则选取村民为技能目标
在 MM 4.12 及以下, 任何形式的伤害都能触发该触发器.
这就包括Damage等伤害技能所造成的伤害
但已在4.13修复