Conditions
条件
介绍
条件用于确定一个动作是否可以执行。这些条件放置在配置中的条件部分下,如下所示(页面底部)。 并非所有条件都适用于任何地方,无法在条件选项中使用变量。
条件可以在中使用:
- 掉落物品表
应用多个条件时,必须满足所有条件才能执行操作。某些条件允许可以用逗号分隔的数组。这些条件只需要匹配数组中的字符串之一。 要查看如何使用仅高级在线目标条件,请单击此处!(也就是付费版)
用法
类型
条件可以分为两种类型-
1.一般条件:可用于 实体和位置 或仅用于实体的条件。
- 比较条件:需要两个实体或两个位置的条件。此条件仅在技能 yaml 的 TargetConditions 部分中使用时才有意义。请参阅比较条件!
技能的条件节点中使用的条件:
- 每个条件都可以使用。
- 施法者始终是将被检查的实体。可以使用所有条件,但比较 2 个实体的条件在这里没有意义。
技能的 TargetConditions 节点中使用的条件:
- 每个条件都可以使用。
- TargetConditions 节点只能在技能中使用。
- 比较实体取决于技能的目标。如果技能使用@self,则比较实体是施法者,如果技能使用任何其他目标,则比较实体/位置是目标中给出的实体。
例子
Conditions: - globalscore{objective=Test;v=>10}
此条件在条件节点下使用,并将检查施法者的条件。无论技能的目标是什么。
TargetConditions: - globalscore{objective=Test;v=>10}
这个(相同的)条件在 TargetConditions 节点下使用,并将检查目标的条件。
注意:CompareConditions 仅在 TargetConditions 节点中有意义,因为它们比较 2 个实体,其中 1 个始终是施法者,另一个是目标实体。如果在条件节点中使用它们,施法者和目标总是相同的。
格式: 自 4.0.0 起,所有条件现在都有新格式。
Conditions: - condition [variable] - condition [variable] [action] - condition [variable] [action] [action_variable] - condition{variable1=value;variable2=value} [action] [action_variable]
这些新的“动作”控制着满足或不满足条件时技能的行为方式。这里有些例子:
Conditions: - day required - stance defensive power 0.5 - stance{stance=defensive} power 0.5 - score{objective=test;value=>20} cancel - haspotioneffect{type=POISON;level=>0;duration=0to100} true
范围值:范围
值使用格式 to
或 -
。如果要在范围内使用负数,则必须使用 to
而不是 -
。这里以距离条件为例:
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] | 如果不满足条件,则改为施放不同的技能 |
条件
具体的例子请查阅原wiki
条件 | 类型 | 描述 |
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 的差异。 |
更多例子
FlameShock: Cooldown: 1 Conditions: - targetwithin 15 - targetinlineofsight true - incombat - stance aggressive - onblock GRASS - offgcd Skills: - gcd{t=60} - message{m="<mob.name> begins casting a spell"} - potion{t=SLOW;d=60;l=7} - delay 60 - message{m="<target.name> &ecombusts"} - effect:particles{p=flame;a=20;hS=3;vS=1;s=0;y=2} - potion{t=HARM;d=1;l=1}