差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
插件手册:mythicmobs:条件 [2021/08/29 20:23] – [条件] duangfafa | 插件手册:mythicmobs:条件 [2021/08/30 13:25] (当前版本) – 移除 duangfafa | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== Conditions ====== | ||
- | ===== 条件 ===== | ||
- | ---- | ||
- | ==== 介绍 ==== | ||
- | 条件用于确定一个动作是否可以执行。这些条件放置在配置中的条件部分下,如下所示(页面底部)。 | ||
- | 并非所有条件都适用于任何地方,无法在条件选项中使用变量。 | ||
- | |||
- | 条件可以在中使用: | ||
- | * [[https:// | ||
- | * [[插件手册: | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | 应用多个条件时,必须满足所有条件才能执行操作。某些条件允许可以用逗号分隔的数组。这些条件只需要匹配数组中的字符串之一。 | ||
- | 要查看如何使用仅高级在线目标条件,[[https:// | ||
- | |||
- | ==== 用法 ==== | ||
- | |||
- | ---- | ||
- | ==== 类型 ==== | ||
- | 条件可以分为两种类型- | ||
- | |||
- | 1.一般条件:可用于 **实体**和**位置** 或**仅用于实体**的条件。 | ||
- | * 比较条件:需要两个实体或两个位置的条件。此条件仅在技能 yaml 的 TargetConditions 部分中使用时才有意义。**请参阅比较条件!** | ||
- | |||
- | 技能的条件节点中使用的条件: | ||
- | * 每个条件都可以使用。 | ||
- | * 施法者始终是将被检查的实体。可以使用所有条件,但比较 2 个实体的条件在这里没有意义。 | ||
- | |||
- | 技能的 TargetConditions 节点中使用的条件: | ||
- | |||
- | * 每个条件都可以使用。 | ||
- | * TargetConditions 节点只能在技能中使用。 | ||
- | * 比较实体取决于技能的目标。如果技能使用@self,则比较实体是施法者,如果技能使用任何其他目标,则比较实体/ | ||
- | |||
- | ==== 例子 ==== | ||
- | <code yaml [enable_line_numbers=" | ||
- | Conditions: | ||
- | - globalscore{objective=Test; | ||
- | </ | ||
- | 此条件在条件节点下使用,并将始终使用施法者作为比较实体。无论技能的目标是什么。 | ||
- | |||
- | ---- | ||
- | <code yaml [enable_line_numbers=" | ||
- | TargetConditions: | ||
- | - globalscore{objective=Test; | ||
- | </ | ||
- | 这个(相同的)条件在 TargetConditions 节点下使用,并将检查由目标提供的实体。 | ||
- | |||
- | 注意:CompareConditions 仅在 TargetConditions 节点中有意义,因为它们比较 2 个实体,其中 1 个始终是施法者,另一个是目标者的实体。如果在条件节点中使用它们,施法者和目标总是相同的。 | ||
- | |||
- | **格式:** | ||
- | 自 4.0.0 起,所有条件现在都有新格式。 | ||
- | <code yaml [enable_line_numbers=" | ||
- | Conditions: | ||
- | - condition [variable] | ||
- | - condition [variable] [action] | ||
- | - condition [variable] [action] [action_variable] | ||
- | - condition{variable1=value; | ||
- | </ | ||
- | 这些新的“动作”控制着满足或不满足条件时技能的行为方式。这里有些例子: | ||
- | <code yaml [enable_line_numbers=" | ||
- | Conditions: | ||
- | - day required | ||
- | - stance defensive power 0.5 | ||
- | - stance{stance=defensive} power 0.5 | ||
- | - score{objective=test; | ||
- | - haspotioneffect{type=POISON; | ||
- | </ | ||
- | |||
- | **范围值:范围** | ||
- | |||
- | 值使用格式# | ||
- | <code yaml [enable_line_numbers=" | ||
- | TargetConditions: | ||
- | - distance{d=1to10} true | ||
- | |||
- | TriggerConditions: | ||
- | - distance{d=1to10} true | ||
- | |||
- | Conditions: | ||
- | - altitude{a=1-5} | ||
- | </ | ||
- | |||
- | ===== 条件动作 ===== | ||
- | 条件操作允许您根据条件执行其他操作。默认条件动作为**True** | ||
- | |**行动**|**描述**| | ||
- | |required (or true)|技能运行需要条件。| | ||
- | |cancel (or false)|如果满足此条件,该技能将不会运行。| | ||
- | |power [multiplier]|修改技能的威力(ei power 2.0会使技能威力翻倍)| | ||
- | |cast [skill]|如果满足条件,则施放额外的技能。| | ||
- | |castinstead [skill]|如果满足条件,则改为施放不同的技能。| | ||
- | |orElseCast [skill]|如果不满足条件,则改为施放不同的技能 | ||
- | |||
- | ===== 条件 ===== | ||
- | 具体的例子请[[https:// | ||
- | |**条件**|**类型**|**描述**| | ||
- | |Altitude|Entity|测试目标实体离地面多远| | ||
- | |Biome|Location|测试目标是否在给定的生物群系列表中| | ||
- | |BlockType|Location|测试存在于目标位置的材料类型| | ||
- | |Blocking|Entity|测试目标实体是否被盾牌阻挡| | ||
- | |Burning|Entity|目标实体是否着火| | ||
- | |Children|Entity|测试施法者有多少召唤物| | ||
- | |Color|Entity|测试实体的颜色| | ||
- | |Crouching|Entity|目标实体是否蹲伏| | ||
- | |Cuboid|Compare|目标是否在 location1 x location2 之间的给定长方体内| | ||
- | |DamageAmount|Entity|检查受到的一系列伤害| | ||
- | |DamageCause|Entity|检查损坏原因的类型| | ||
- | |Dawn|Location|如果时间是黎明,从 22000 到 2000 游戏时间| | ||
- | |Day|Location|如果时间是白天,从 2000 到 10000 游戏时间| | ||
- | |Distance|Compare|施法者与目标的距离是否在给定范围内| | ||
- | |DistanceFromSpawn|Location|世界出生点到目标的距离是否在给定范围内| | ||
- | |Dusk|Location|如果时间是黄昏,从14000到18000游戏时间。| | ||
- | |EnchantingLevel|Entity|检查实体经验| | ||
- | |EnderDragonPhase|Entity|检查末影龙是否处于一个或多个阶段| | ||
- | |EntityType|Entity|测试目标的实体类型| | ||
- | |Faction|Entity|测试目标阵营| | ||
- | |FallSpeed|Entity|如果目标的下落速度在给定范围内| | ||
- | |FieldOfView|Compare|测试目标是否在施法者注视的给定角度内| | ||
- | |FoodLevel||检查目标是否在范围内有食物| | ||
- | |FoodSaturation||检查目标是否在范围内有食物| | ||
- | |Gliding|Entity|如果目标滑翔| | ||
- | |Globalscore|Entity|检查全局记分牌值| | ||
- | |HasAura|Entity|检查目标实体是否具有给定的光环| | ||
- | |HasAuraStacks|Entity|测试目标是否有给定范围的光环叠加| | ||
- | |HasCurrency|Entity|如果目标拥有给定数量的金库货币| | ||
- | |HasInventorySpace|Entity|如果目标有给定数量的背包空间| | ||
- | |HasItem|Entity|测试目标玩家是否拥有给定数量的给定材料| | ||
- | |HasOwner|Entity|测试目标生物是否有所有者| | ||
- | |HasParent|Entity|测试目标生物是否有父级| | ||
- | |HasPassenger|Entity|检查目标实体是否被骑乘| | ||
- | |HasGravity|Entity|测试目标生物是否有重力| | ||
- | |HasPotionEffect|Entity|测试目标实体是否有药水效果| | ||
- | |HasTag|Entity|测试目标是否有记分牌标签| | ||
- | |Haspermission|Entity|测试目标玩家是否有权限| | ||
- | |Health|Entity|匹配目标的血量| | ||
- | |Height|Location|检查目标的 Y 位置是否在范围内| | ||
- | |HeightAbove|Location|检查目标的 Y 位置是否高于某个值| | ||
- | |HeightBelow|Location|检查目标的 Y 位置是否低于给定值| | ||
- | |Holding|Entity|检查目标是否持有给定的材料(支持 MythicMobs 和 MMOItems)| | ||
- | |Inblock|Location|检查目标位置的材料| | ||
- | |Incombat|Entity|如果目标生物在战斗中被考虑| | ||
- | |Inside|Location|检查目标头上是否有方块| | ||
- | |isCaster|Entity|检查目标是否是施法者| | ||
- | |isChild|Entity|检查目标是否是施法者的子级| | ||
- | |isLiving|Entity|检查目标是否为生物| | ||
- | |isMonster|Entity|检查目标是否是怪物| | ||
- | |isPlayer|Entity|检查目标是否是玩家| | ||
- | |isSprinting|Entity|检查目标玩家是否正在冲刺| | ||
- | |ItemRecharging|Entity|检查目标的武器是否正在装填| | ||
- | |LastDamageCause|Entity|检查目标的最后一次伤害原因| | ||
- | |LastSignal|Entity|匹配目标生物收到的最后一个信号| | ||
- | |Level|Entity|检查目标 MythicMob 的等级| | ||
- | |LightLevel|Location|测试目标位置的光照水平| | ||
- | |LineOfSight|Compare|测试目标是否在施法者的视线范围内| | ||
- | |LunarPhase|Location|检查目标世界的月相| | ||
- | |Mobsinradius|Location|检查给定半径内有多少生物| | ||
- | |Mobsinchunk|Location|将范围与目标位置区块中的生物数量相匹配| | ||
- | |Mobsinworld|Location|将范围与目标世界中的生物数量相匹配| | ||
- | |Mounted|Entity|如果目标实体正在骑乘坐骑/ | ||
- | |Moving|Entity|如果目标的速度大于零| | ||
- | |MythicMobType|Entity|检查目标生物的 MythicMob 类型| | ||
- | |Night|Location|如果时间是晚上,从 14000 到 22000 游戏时间| | ||
- | |NotInRegion|Location|如果目标位置不在给定的 WorldGuard 区域内| | ||
- | |OffGCD|Entity|检查目标生物是否有激活的全局冷却时间| | ||
- | |OnBlock|Location|匹配目标实体所在的方块| | ||
- | |OnGround|Entity|如果目标实体站在坚实的地面上| | ||
- | |Outside|Location|如果目标上方有开阔的天空| | ||
- | |Owner|Compare|检查目标实体是否是施法者的所有者| | ||
- | |OwnerIsOnline|Entity|检查目标生物的主人是否在线,如果主人是玩家| | ||
- | |Pitch|Entity|检查目标实体的间距是否在一个范围内| | ||
- | |PlayerKills|Entity|匹配目标生物杀死的玩家数量| | ||
- | |PlayersInRadius|Entity|检查半径内有多少玩家| | ||
- | |PlayerNotWithin|Location|检查是否有玩家在目标半径内| | ||
- | |PlayerWithin|Location|检查是否有玩家在目标半径内| | ||
- | |Raining|Location|如果目标世界正在下雨| | ||
- | |Region|Location|如果目标在给定的 WorldGuard 区域内| | ||
- | |SameFaction|Entity|测试施法者和目标是否在同一阵营| | ||
- | |Score|Entity|检查目标实体的记分板值| | ||
- | |SlimeSize|Entity|检查目标实体的大小| | ||
- | |Stance|Entity|检查目标生物的姿态| | ||
- | |StringEquals|Meta|检查 value1 是否等于 value2。这两个值都可以使用变量和占位符。| | ||
- | |Sunny|Location|如果目标世界的天气晴朗。| | ||
- | |TargetInLineOfSight|测试目标是否有视线到他们的目标| | ||
- | |TargetNotInLineOfSight||测试目标是否与目标没有视线| | ||
- | |TargetWithin|Entity|测试目标的目标是否在一定距离内| | ||
- | |Targetnotwithin|Entity||测试目标的目标是否不在一定距离内| | ||
- | |Targets|Meta|测试从父技能树继承的目标数量是否与给定范围匹配。| | ||
- | |Thundering|Location|检测目标世界是否雷雨天气| | ||
- | |VariableInRange|Meta|检查给定的数值变量是否在某个范围内。| | ||
- | |VariableIsSet|Meta|检查是否设置了给定的变量。| | ||
- | |Variableequals|Meta|检查给定变量是否具有特定值。| | ||
- | |Wearing|Entity|测试目标实体的装备。| | ||
- | |World|Location|检查目标世界的名称。| | ||
- | |Worldtime|将范围与目标位置的世界时间相匹配。| | ||
- | |Yaw|Entity|根据范围检查目标实体的偏航。| | ||
- | |yDiff|Entity|检查目标实体和施法者之间 Y 的差异。| | ||
- | |||
- | ===== 更多例子 ===== | ||
- | <code yaml [enable_line_numbers=" | ||
- | FlameShock: | ||
- | Cooldown: 1 | ||
- | Conditions: | ||
- | - targetwithin 15 | ||
- | - targetinlineofsight true | ||
- | - incombat | ||
- | - stance aggressive | ||
- | - onblock GRASS | ||
- | - offgcd | ||
- | Skills: | ||
- | - gcd{t=60} | ||
- | - message{m="< | ||
- | - potion{t=SLOW; | ||
- | - delay 60 | ||
- | - message{m="< | ||
- | - effect: | ||
- | - potion{t=HARM; | ||
- | </ |