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

MythicMobs/条件

来自Minecraft插件百科
跳转到导航 跳转到搜索

条件要求(Conditions)

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

  • 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


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


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


  • heightabove/heightbelow [number]
    • 若在以上/以下高度时
    • 按F3可查看高度/Y轴
    • heightabove 0


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


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


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


  • inregion/notinregion [region]
    • 若处于/不处于WorldGuard插件定义的区域时
    • 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


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


  • onblock [material_type]


  • 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}

</spoiler> 条件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]}