目录

Conditions

条件


介绍

条件用于确定一个动作是否可以执行。这些条件放置在配置中的条件部分下,如下所示(页面底部)。 并非所有条件都适用于任何地方,无法在条件选项中使用变量。

条件可以在中使用:

应用多个条件时,必须满足所有条件才能执行操作。某些条件允许可以用逗号分隔的数组。这些条件只需要匹配数组中的字符串之一。 要查看如何使用仅高级在线目标条件,请单击此处!(也就是付费版)

用法


类型

条件可以分为两种类型-

1.一般条件:可用于 实体位置仅用于实体的条件。

技能的条件节点中使用的条件:

技能的 TargetConditions 节点中使用的条件:

例子

  1. Conditions:
  2. - globalscore{objective=Test;v=>10}

此条件在条件节点下使用,并将检查施法者的条件。无论技能的目标是什么。


  1. TargetConditions:
  2. - globalscore{objective=Test;v=>10}

这个(相同的)条件在 TargetConditions 节点下使用,并将检查目标的条件。

注意:CompareConditions 仅在 TargetConditions 节点中有意义,因为它们比较 2 个实体,其中 1 个始终是施法者,另一个是目标实体。如果在条件节点中使用它们,施法者和目标总是相同的。

格式: 自 4.0.0 起,所有条件现在都有新格式。

  1. Conditions:
  2. - condition [variable]
  3. - condition [variable] [action]
  4. - condition [variable] [action] [action_variable]
  5. - condition{variable1=value;variable2=value} [action] [action_variable]

这些新的“动作”控制着满足或不满足条件时技能的行为方式。这里有些例子:

  1. Conditions:
  2. - day required
  3. - stance defensive power 0.5
  4. - stance{stance=defensive} power 0.5
  5. - score{objective=test;value=>20} cancel
  6. - haspotioneffect{type=POISON;level=>0;duration=0to100} true

范围值:范围

值使用格式 to- 。如果要在范围内使用负数,则必须使用 to 而不是 - 。这里以距离条件为例:

  1. TargetConditions:
  2. - distance{d=1to10} true
  3.  
  4. TriggerConditions:
  5. - distance{d=1to10} true
  6.  
  7. Conditions:
  8. - altitude{a=1-5}

条件动作

条件操作允许您根据条件执行其他操作。默认条件动作为True

行动描述
required (or true)技能运行需要条件。
cancel (or false)如果满足此条件,该技能将不会运行。
power [multiplier]修改技能的威力(ei power 2.0会使技能威力翻倍)
cast [skill]如果满足条件,则施放额外的技能。
castinstead [skill]如果满足条件,则改为施放不同的技能。
orElseCast [skill]如果不满足条件,则改为施放不同的技能

条件

具体的例子请查阅原wiki

条件类型描述
AltitudeEntity测试目标实体离地面多远
BiomeLocation测试目标是否在给定的生物群系列表中
BlockTypeLocation测试存在于目标位置的材料类型
BlockingEntity测试目标实体是否被盾牌阻挡
BurningEntity目标实体是否着火
ChildrenEntity测试施法者有多少召唤物
ColorEntity测试实体的颜色
CrouchingEntity目标实体是否蹲伏
CuboidCompare目标是否在 location1 x location2 之间的给定长方体内
DamageAmountEntity检查受到的一系列伤害
DamageCauseEntity检查损坏原因的类型
DawnLocation如果时间是黎明,从 22000 到 2000 游戏时间
DayLocation如果时间是白天,从 2000 到 10000 游戏时间
DistanceCompare施法者与目标的距离是否在给定范围内
DistanceFromSpawnLocation世界出生点到目标的距离是否在给定范围内
DuskLocation如果时间是黄昏,从14000到18000游戏时间。
EnchantingLevelEntity检查实体经验
EnderDragonPhaseEntity检查末影龙是否处于一个或多个阶段
EntityTypeEntity测试目标的实体类型
FactionEntity测试目标阵营
FallSpeedEntity如果目标的下落速度在给定范围内
FieldOfViewCompare测试目标是否在施法者注视的给定角度内
FoodLevel检查目标是否在范围内有食物
FoodSaturation检查目标是否在范围内有食物
GlidingEntity如果目标滑翔
GlobalscoreEntity检查全局记分牌值
HasAuraEntity检查目标实体是否具有给定的光环
HasAuraStacksEntity测试目标是否有给定范围的光环叠加
HasCurrencyEntity如果目标拥有给定数量的金库货币
HasInventorySpaceEntity如果目标有给定数量的背包空间
HasItemEntity测试目标玩家是否拥有给定数量的给定材料
HasOwnerEntity测试目标生物是否有所有者
HasParentEntity测试目标生物是否有父级
HasPassengerEntity检查目标实体是否被骑乘
HasGravityEntity测试目标生物是否有重力
HasPotionEffectEntity测试目标实体是否有药水效果
HasTagEntity测试目标是否有记分牌标签
HaspermissionEntity测试目标玩家是否有权限
HealthEntity匹配目标的血量
HeightLocation检查目标的 Y 位置是否在范围内
HeightAboveLocation检查目标的 Y 位置是否高于某个值
HeightBelowLocation检查目标的 Y 位置是否低于给定值
HoldingEntity检查目标是否持有给定的材料(支持 MythicMobs 和 MMOItems)
InblockLocation检查目标位置的材料
IncombatEntity如果目标生物在战斗中被考虑
InsideLocation检查目标头上是否有方块
isCasterEntity检查目标是否是施法者
isChildEntity检查目标是否是施法者的子级
isLivingEntity检查目标是否为生物
isMonsterEntity检查目标是否是怪物
isPlayerEntity检查目标是否是玩家
isSprintingEntity检查目标玩家是否正在冲刺
ItemRechargingEntity检查目标的武器是否正在装填
LastDamageCauseEntity检查目标的最后一次伤害原因
LastSignalEntity匹配目标生物收到的最后一个信号
LevelEntity检查目标 MythicMob 的等级
LightLevelLocation测试目标位置的光照水平
LineOfSightCompare测试目标是否在施法者的视线范围内
LunarPhaseLocation检查目标世界的月相
MobsinradiusLocation检查给定半径内有多少生物
MobsinchunkLocation将范围与目标位置区块中的生物数量相匹配
MobsinworldLocation将范围与目标世界中的生物数量相匹配
MountedEntity如果目标实体正在骑乘坐骑/车辆
MovingEntity如果目标的速度大于零
MythicMobTypeEntity检查目标生物的 MythicMob 类型
NightLocation如果时间是晚上,从 14000 到 22000 游戏时间
NotInRegionLocation如果目标位置不在给定的 WorldGuard 区域内
OffGCDEntity检查目标生物是否有激活的全局冷却时间
OnBlockLocation匹配目标实体所在的方块
OnGroundEntity如果目标实体站在坚实的地面上
OutsideLocation如果目标上方有开阔的天空
OwnerCompare检查目标实体是否是施法者的所有者
OwnerIsOnlineEntity检查目标生物的主人是否在线,如果主人是玩家
PitchEntity检查目标实体的间距是否在一个范围内
PlayerKillsEntity匹配目标生物杀死的玩家数量
PlayersInRadiusEntity检查半径内有多少玩家
PlayerNotWithinLocation检查是否有玩家在目标半径内
PlayerWithinLocation检查是否有玩家在目标半径内
RainingLocation如果目标世界正在下雨
RegionLocation如果目标在给定的 WorldGuard 区域内
SameFactionEntity测试施法者和目标是否在同一阵营
ScoreEntity检查目标实体的记分板值
SlimeSizeEntity检查目标实体的大小
StanceEntity检查目标生物的姿态
StringEqualsMeta检查 value1 是否等于 value2。这两个值都可以使用变量和占位符。
SunnyLocation如果目标世界的天气晴朗。
TargetInLineOfSight测试目标是否有视线到他们的目标
TargetNotInLineOfSight测试目标是否与目标没有视线
TargetWithinEntity测试目标的目标是否在一定距离内
TargetnotwithinEntity测试目标的目标是否不在一定距离内
TargetsMeta测试从父技能树继承的目标数量是否与给定范围匹配。
ThunderingLocation检测目标世界是否雷雨天气
VariableInRangeMeta检查给定的数值变量是否在某个范围内。
VariableIsSetMeta检查是否设置了给定的变量。
VariableequalsMeta检查给定变量是否具有特定值。
WearingEntity测试目标实体的装备。
WorldLocation检查目标世界的名称。
Worldtime将范围与目标位置的世界时间相匹配。
YawEntity根据范围检查目标实体的偏航。
yDiffEntity检查目标实体和施法者之间 Y 的差异。

更多例子

  1. FlameShock:
  2.   Cooldown: 1
  3.   Conditions:
  4. - targetwithin 15
  5. - targetinlineofsight true
  6. - incombat
  7. - stance aggressive
  8. - onblock GRASS
  9. - offgcd
  10.   Skills:
  11. - gcd{t=60}
  12. - message{m="<mob.name> begins casting a spell"}
  13. - potion{t=SLOW;d=60;l=7}
  14. - delay 60
  15. - message{m="<target.name> &ecombusts"}
  16. - effect:particles{p=flame;a=20;hS=3;vS=1;s=0;y=2}
  17. - potion{t=HARM;d=1;l=1}