• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

MythicMobs/条件

来自Minecraft插件百科
1240798440讨论 | 贡献2020年3月27日 (五) 13:42的版本 实体类目标
跳转至: 导航搜索

目录

条件要求(Conditions)

一些旧版(2.5.11)的条件。只要把Conditions改为LegacyConditions就仍然可在MM4.0.0+使用

实体类目标

条件名 描述 作用于
Altitude 检测实体离地面有多高 实体
Blocking 检测实体是否正在攻击盾牌 实体
Crouching 检测实体是否正在疾跑 实体
EntityType 检测实体的类型 实体
FallSpeed 检测实体的下落速度是否在指定范围内 实体
Gliding 检测实体是否正在滑翔 实体
Globalscore 检测全局记分板的分数 实体
HasAura 检测实体是否拥有光环 实体
HasAuraStacks 检测实体的一个光环堆叠数是否在指定范围内 实体
HasCurrency 检测目标玩家拥有多少金钱 玩家
HasInventorySpace 检测目标玩家拥有多少金钱 玩家
HasOwner 检测实体是否拥有主人 实体
HasParent 检测实体是否为子怪物 实体
HasPotionEffect 检测实体是否拥有特定药水效果 实体
HasTag 检测实体是否拥有特定标签 实体
Haspermission 检测玩家是否拥有特定权限 玩家
Health 检测实体生命 实体
Holding 检测实体是否手持特定物品 实体
Incombat 检测实体是否处在战斗状态 实体
ItemRecharging 检测实体武器是否正在蓄力 实体
LastDamageCause 检测实体最后一次受伤来源 实体
LastSignal 检测实体最后一次收到信号是否为特定信号 实体
Level 检测实体等级 实体
Mounted 检测实体是否处在骑乘状态 实体
Moving 检测实体是否正在移动 实体
MythicMobType 检测Mythicmob实体的实体类型 实体
OffGCD 检测实体是否有技能处在冷却 实体
OnGround 检测实体是否站在坚固的地面上 实体
OwnerIsOnline 检测实体的主人是否在线 实体(主人需为玩家)
Pitch 检测实体的目标离自己的距离是否在特定范围内 实体
PlayerKills 检测实体杀死了多少玩家 实体
Score 检测实体在特定记分板的分数 实体
Stance 检测实体是否拥有特定姿势 实体(除玩家)
TargetInLineOfSight 检测目标是否在它的目标的视野范围内 实体的目标
TargetNotInLineOfSight 检测目标是否不在它的目标的视野范围内 实体的目标
Wearing 检测实体穿戴的装备 实体
Yaw 检测实体的音高 实体
  • biome [biome_name]
    • 若在此地形
    • 地形种类
    • 允许使用/进行分隔
    • 地形名字应为全大写
    • biome FOREST


主人有多少宠物时触发

  • children [number]
    • 施法者拥有多少幼儿
    • 4.9.x新增


若在生成点特定的范围内

  • distancefromspawn [number](2.4)
    • 可以特定范围 10-405,也可以是范围值 >10 或 <77 等...
    • distancefromspawn >100


若玩家的分数...时

  • globalscore [objective];[score](2.3)
    • globalscore playerkills;>10


若在某y轴高度时

  • height [number_range]
    • 可以是范围 20-40, >10 或 <5 等...
    • 按F3可查看高度/Y轴
    • height 0-20


拥有重力

    • hasGravity
    • 实体是否拥有重力
    • 4.9.x新增


若在以上/以下高度时

  • heightabove/heightbelow [number]
    • 按F3可查看高度/Y轴
    • heightabove 0


当技能使用者手持制定物品时

    • 必须是Bukkit定义的物品名字。不能是MM物品名字
    • 方块/物品名字列表
    • 由于特殊漏洞原因,此条件不能检测带有损伤值的物品(2.2.1或之前)
    • holding STICK


若使用者在特定的方块时

  • inblock [material_type]
    • 用于检测是否在水中、空中、岩浆里时十分有效
    • 方块名字列表
    • 允许使用/进行分隔
    • 注意若想使用者在水方块中而非仅仅是在水面请使用STATIONARY_WATER替代WATER
    • inblock WATER


若处于战斗状态(拥有目标)时

  • incombat
    • incombat


若处于/不处于WorldGuard插件定义的区域时

  • inregion/notinregion [region]
    • inregion castle


若接受的最后一个信号为此指定的信号

  • lastsignal [signal](2.2.1)
    • 详见signal技能
    • 不同于stance条件,signal会检测完全匹配的数据
    • lastsignal ping


若在指定的等级范围内

  • level [number_range]
    • 可以是范围 20-40, >10 或 <5 等...
    • level >3


若处于指定的亮度范围内

  • lightlevel [number_range]
    • 选值范围必须为0~15之间
    • lightlevel 0-3


若处于以上/以下亮度范围内

  • lightlevelabove/lightlevelbelow [number]
    • lightlevelabove 6


若在游戏内的某一天时

  • lunarphase [phase]
    • 可用逗号,分隔指定的游戏天数
    • lunarphase 0,2,4


若其记分板的分数为某个值时

  • mobscore [objective];[score](2.3)
    • mobscore timeshit;=3


若所在区块有指定量的生物时

  • mobinchunk [number_range]
    • 可以是范围 20-40, >10 或 <5 等...
    • mobinchunk <20


若所在世界有指定量的生物时

  • mobinworld [number_range]
    • 可以是范围 20-40, >10 或 <5 等...
    • mobsinworld >100


若生物的名字匹配时生成此生物

  • mobtype [mobname]
    • 只用于随机生成配置下
    • mobtype COW


若技能的整体冷却时间global cooldown为0时

  • offgcd
    • global cooldown为用于决定生物所不能使用技能的时间段/技能延时
    • 使用gcd技能设置技能延时的时间,默认无冷却时间
    • 用于减慢或防止某些拥有多个技能的生物同时使用不同技能的几率
    • offfgcd


若站在某方块上时


若在室外/室内时

  • outside/inside [true/false]
    • 二白提醒您:室外的定义为对天空有清晰的视野时,室内的定义则相反
    • outside true


若玩家斩杀数为指定值时

  • playerkills [number]
    • playerkills 7


若玩家/目标不在范围内时

  • playernotwithin/targetnotwithin [distance]
    • 输入单个数值。若想使用范围值,使用targetdistance条件
    • playernotwithin 5
    • targetnotwithin 2


若玩家/目标在范围内时=

  • playerwithin/targetwithin [distance]
    • 输入单个数值。若想使用范围值,使用targetdistance条件
    • 通过连续配合targetinlineofsight条件使用来使生物即使见不到玩家或距离太远时也能使用技能
    • playerwithin 15
    • targetwithin 7


若正在/没有下雨时

  • raining [true/false]
    • raining false


用于检测虚拟玩家记分板下的分数

  • score(2.3)
    • score <objective>;<entry>;<numberrange>
    • score kills;dummyplayer;10-14


若生物处于某一状态时

  • stance [string]
    • 状态由setstance技能给予
    • 使复杂的检测系统成为可能。若当前的状态被设置为AGGRO,而stance条件检测GG时,此次检测成立
    • stance defensive


若处于/不为晴天时

  • sunny [true/false]
    • sunny true


若目标记分板的分数为某数值时

  • targetscore [objective];[score](2.3)
    • targetscore mobkills;>99


若目标处于范围值内时

  • targetdistance [number_range]
    • 识别使用范围,如 10-20
    • targetdistance 10-20


若目标在/不在可视范围内时

  • targetinlineofsight/targetnotinlineofsight [true/false]
    • targetinlineofsight true


若有/没有打雷时

  • thundering [true/false]
    • thundering false


若当前世界为指定的世界时

  • world [worldname]
    • 可以指定单个世界,也可以使用逗号列表
    • 允许使用/进行分隔
    • world snowyworld, lavaworld, islandworld


若当前世界时间为指定范围内时

  • worldtime [number_range]
    • 取值范围为0~24000
      可使用/time显示当前世界的时间
    • 0-12000为游戏内的白天,12001-13800为黄昏,13801-22200为晚上,22201-24000为黎明
    • worldtime 0-12000

例子

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}

条件判定方法

条件Conditions用于判定当处于/不处于某个情况时执行某项事件。条件的填写方法见例子
条件可用于以下位置 非所有条件适用于所有地方

当Conditions下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用/的条件只要满足其定义中的其中一个即视为匹配此条件

条件是如何运作的

条件可分为三种

  1. 条件(Conditions) - 以技能的使用者为目标
  2. 目标条件(TargetConditions) - 以技能的对象为目标
  3. 触发条件(TriggerConditions) - 以触发技能的对象为目标


要注意的是,并不是所有条件要求都适用于这三种类型的条件。比如,

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

globalscore并没有任何特殊的目标,所以只能在Conditions下运作

  TargetConditions:
  - lineofsight false

而这个并不能填写在Conditions下,因为lineofsight需要目标对象才能执行,所以只能填写在TargetConditions或TriggerConditions下

格式:
从4.0.0起,所有条件的新格式大致如下

Conditions:
- 条件 [变量]
- 条件 [变量] [条件动作]
- 条件 [变量] [条件动作] [条件动作的变量]
- 条件{变量1=数值;变量2=数值} [条件动作] [条件动作的变量]

这个新的条件动作可用于在满足/不满足条件的情况下,是否使用技能。例子如下

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=0 to 100} true

===条件动作注释===
新增的条件动作使我们能在条件上有更多的修改空间。
比如,新版允许在满足/不满足条件的情况下执行...而旧版的条件要求只会在满足条件的情况下执行

  • 以下为一列条件动作
    • reqiured/true(默认) - 满足条件时,执行技能
    • cancel/false - 满足条件时,不执行技能
    • power [数值] - 满足条件时,调整技能的伤害 (power 2.0 会使技能的威力翻倍)
    • cast [技能] - 满足条件时,使用额外指定技能
    • castinstead [技能] - 满足条件时,使用指定技能替代原定技能

不选取目标类条件

  • globalscore{objective=[objective];value=[vaule]}
    • 检测名为"__GLOBAL__"玩家的分数
    • 你可以以此用作记录服务器某项东西的分数
    • globalscore{objective=Test;value⇒10}
  • mobsinworld{a=[amount]}
    • 检测当前世界的生物数量
    • 可输入单个数值,或使用数值范围
    • mobsinworld{a⇒10}

目标/触发类条件

  • distance{d=[value]}
    • 当目标在指定范围内时
    • 可输入单个数值,或使用数值范围 20-40 >10 <5 等
    • distance{d=<2}
  • lineofsight
    • 当使用者(生物)在/不在玩家视野范围内时
    • targetinlineofsight true
  • owner
    • 当目标是/不是某生物的主人时
    • 主人必须通过setowner技能设置
    • owner true
  • targetwithin/targetnotwithin{d=[value]}
    • 当目标在/不在指定范围内时
    • targetwithin{d=2}

基本类条件

  • altitude{a=[number]}
    • 当使用者/目标离地面的高度满足指定数值时
    • 可输入单个数值,或使用数值范围 20-40 >10 <5 等
    • altitude{a⇒1}
  • biome{b=[biome]}
    • 当使用者/目标处于指定群系时
    • 默认为Plains群系
    • biome{b=DESERT} true
  • crouching
    • 当目标(玩家)潜行(shift键)时
    • 应该只适用于玩家
    • crouching false
  • distancefromspawn [number]
    • 检测离世界出生点的距离
    • 可输入单个数值,或使用数值范围 20-40 >10 <5 等
    • distancefromspawn >100
  • entitytype [entity]
    • 检测实体的种类
    • entitytype player
  • fallspeed{speed=[number/number range]}
    • 可输入单个数值,或使用数值范围 20-40 >10 <5 等
      也可以是负数(用于跳跃时)
    • 一般掉落的速度为0.785
    • fallspeed{speed⇒0.7845}
  • gliding
    • 检测生物/实体是否佩带滑翔翼并滑翔
    • 可用setgliding技能使生物滑翔
    • gliding true
  • Cuboid
    • 检测目标是否在由两个点(locationl)组成的矩形内
    • 4.5新增
    • cuboid{location1=x,y,z;location2=x,y,z;world=world}
  • LastDamageCause
    • 目标受到的最后一次攻击的类型
    • 4.5新增
    • - lastdamagecause ENTITY_ATTACK
  • pitch
    • 实体的音高
    • 4.5新增,不明作用,可用to ><来取范围/定值
    • TargetConditions:
    • - pitch 20to40
    • - pitch <100
    • cuboid{location1=x,y,z;location2=x,y,z;world=world}
  • *Wearing
    • 检测生物指定槽位是否装有指定物品(可以是mm物品)
    • 4.5新增
    • TargetConditions:
    • - wearing{slot=helmet;material=DIAMOND_HELMET} true
    • - wearing{slot=chestplate;mmitem=AnItem}
    • 槽位有 头盔(helmet), 胸甲(chestplate), 护腿(leggings), 和靴子(boots)
  • YAW
    • 目标的视角角度
    • 4.5新增
    • TargetConditions:
    • - yaw >50
    • - yaw 50to100Stance
  • Strict
    • 是否进行严格模式(作用于Stance)
    • 4.5新增
    • strict=true/false (默认为false)
  • haspotioneffect{type=[potion type];level=[level];duration=[duration start] to [duration end]}