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

“MythicMobs/条件”的版本间的差异

来自Minecraft插件百科
跳转至: 导航搜索
实体类目标
 
(未显示3个用户的71个中间版本)
第1行: 第1行:
==条件要求(Conditions)==
+
[[MythicMobs|点击前往MM主页面]]<br>
一些旧版(2.5.11)的条件。只要把'''Conditions'''改为'''LegacyConditions'''就仍然可在MM4.0.0+使用
+
[[MythicMobs/Skills|点击前往技能页面]]<br>
==实体类目标==
+
[[MythicMobs/Conditions|点击前往条件页面]]<br>
{| border="1" cellpadding="5" cellspacing="0"
+
[[MythicMobs/Changelogs|点击前往更新日志页面]]<br>
|-
+
[[MythicMobsExtension/New|点击前往MME扩展页面]]<br>
|'''条件名'''
+
[[Artifacts|点击前往MythicMobsArtifacts页面]]<br>
|'''描述'''
+
[[MythicSkills|点击前往MythicSkills页面]]<br>
|'''作用于'''
+
[[MythicAnimatorStands|点击前往MythicAnimatorStands页面]]
|-
 
|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
 
|检测实体的音高
 
|实体
 
|}
 
</pre>
 
*'''biome [''biome_name'']'''
 
**'''若在此地形'''
 
**[https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/BiomeBase.java 地形种类]
 
**允许使用/进行分隔
 
**地形名字应为全大写
 
**'''biome FOREST'''
 
<br>
 
===主人有多少宠物时触发===
 
*'''children [number]'''
 
**'''施法者拥有多少幼儿'''
 
**'''4.9.x新增'''
 
<br>
 
===若在生成点特定的范围内===
 
*'''distancefromspawn [''number'']'''(2.4)
 
**可以特定范围 10-405,也可以是范围值 >10 或 <77 等...
 
**'''distancefromspawn >100'''
 
<br/>
 
===若玩家的分数...时===
 
*'''globalscore [''objective''];[''score'']'''(2.3)
 
**'''globalscore playerkills;>10'''
 
<br/>
 
===若在某y轴高度时===
 
*'''height [''number_range'']'''
 
**可以是范围 20-40, >10 或 <5 等...
 
**按F3可查看高度/Y轴
 
**'''height 0-20'''
 
<br>
 
===拥有重力===
 
**'''hasGravity'''
 
**'''实体是否拥有重力'''
 
**'''4.9.x新增'''
 
<br/>
 
 
 
===若在以上/以下高度时===
 
*'''heightabove/heightbelow [''number'']'''
 
**按F3可查看高度/Y轴
 
**'''heightabove 0'''
 
<br/>
 
===当技能使用者手持制定物品时===
 
**必须是Bukkit定义的物品名字。不能是MM物品名字
 
**[https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/Material.java 方块/物品名字列表]
 
**由于特殊漏洞原因,此条件不能检测带有损伤值的物品(2.2.1或之前)
 
**'''holding STICK'''
 
<br/>
 
===若使用者在特定的方块时===
 
*'''inblock [''material_type'']'''
 
**用于检测是否在水中、空中、岩浆里时十分有效
 
**[https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/Material.java 方块名字列表]
 
**允许使用/进行分隔
 
**注意若想使用者在水方块中而非仅仅是在水面请使用STATIONARY_WATER替代WATER
 
**'''inblock WATER'''
 
<br/>
 
===若处于战斗状态(拥有目标)时===
 
*'''incombat'''
 
**'''incombat'''
 
<br/>
 
===若处于/不处于WorldGuard插件定义的区域时===
 
*'''inregion/notinregion [''region'']'''
 
**'''inregion castle'''
 
<br/>
 
===若接受的最后一个信号为此指定的信号===
 
*'''lastsignal [''signal'']'''(2.2.1)
 
**详见signal技能
 
**不同于stance条件,signal会检测完全匹配的数据
 
**'''lastsignal ping'''
 
<br/>
 
===若在指定的等级范围内===
 
*'''level [''number_range'']'''
 
**可以是范围 20-40, >10 或 <5 等...
 
**'''level >3'''
 
<br/>
 
===若处于指定的亮度范围内===
 
*'''lightlevel [''number_range'']'''
 
**选值范围必须为0~15之间
 
**'''lightlevel 0-3'''
 
<br/>
 
===若处于以上/以下亮度范围内===
 
*'''lightlevelabove/lightlevelbelow [''number'']'''
 
**'''lightlevelabove 6'''
 
<br/>
 
===若在游戏内的某一天时===
 
*'''lunarphase [''phase'']'''
 
**可用逗号,分隔指定的游戏天数
 
**'''lunarphase 0,2,4'''
 
<br/>
 
===若其记分板的分数为某个值时===
 
*'''mobscore [''objective''];[''score'']'''(2.3)
 
**'''mobscore timeshit;=3'''
 
<br/>
 
===若所在区块有指定量的生物时===
 
*'''mobinchunk [''number_range'']'''
 
**可以是范围 20-40, >10 或 <5 等...
 
**'''mobinchunk <20'''
 
<br/>
 
===若所在世界有指定量的生物时===
 
*'''mobinworld [''number_range'']'''
 
**可以是范围 20-40, >10 或 <5 等...
 
**'''mobsinworld >100'''
 
<br/>
 
===若生物的名字匹配时生成此生物===
 
*'''mobtype [''mobname'']'''
 
**只用于随机生成配置下
 
**'''mobtype COW'''
 
<br/>
 
===若技能的整体冷却时间global cooldown为0时===
 
*'''offgcd'''
 
**global cooldown为用于决定生物所不能使用技能的时间段/技能延时
 
**使用gcd技能设置技能延时的时间,默认无冷却时间
 
**用于减慢或防止某些拥有多个技能的生物同时使用不同技能的几率
 
**'''offfgcd'''
 
<br/>
 
===若站在某方块上时===
 
*'''onblock [''material_type'']'''
 
**[https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/Material.java 方块名字列表]
 
**允许使用/进行分隔
 
**'''onblock grass'''
 
<br/>
 
===若在室外/室内时===
 
*'''outside/inside [true/false]'''
 
**二白提醒您:''室外''的定义为对天空有清晰的视野时,''室内''的定义则相反
 
**'''outside true'''
 
<br/>
 
===若玩家斩杀数为指定值时===
 
*'''playerkills [''number'']'''
 
**'''playerkills 7'''
 
<br/>
 
===若玩家/目标不在范围内时===
 
*'''playernotwithin/targetnotwithin [''distance'']'''
 
**输入单个数值。若想使用范围值,使用targetdistance条件
 
**'''playernotwithin 5'''
 
**'''targetnotwithin 2'''
 
<br/>
 
===若玩家/目标在范围内时====
 
*'''playerwithin/targetwithin [''distance'']'''
 
**输入单个数值。若想使用范围值,使用targetdistance条件
 
**通过连续配合targetinlineofsight条件使用来使生物即使见不到玩家或距离太远时也能使用技能
 
**'''playerwithin 15'''
 
**'''targetwithin 7'''
 
<br/>
 
===若正在/没有下雨时===
 
*'''raining [true/false]'''
 
**'''raining false'''
 
<br/>
 
===用于检测虚拟玩家记分板下的分数===
 
*'''score'''(2.3)
 
**'''score <''objective''>;<''entry''>;<''numberrange''>
 
**'''score kills;dummyplayer;10-14'''
 
<br/>
 
===若生物处于某一状态时===
 
*'''stance [''string'']'''
 
**状态由setstance技能给予
 
**使复杂的检测系统成为可能。若当前的状态被设置为AGGRO,而stance条件检测GG时,此次检测成立
 
**'''stance defensive'''
 
<br/>
 
===若处于/不为晴天时===
 
*'''sunny [true/false]'''
 
**'''sunny true'''
 
<br/>
 
===若目标记分板的分数为某数值时===
 
*'''targetscore [''objective''];[''score'']'''(2.3)
 
**'''targetscore mobkills;>99'''
 
<br/>
 
===若目标处于范围值内时===
 
*'''targetdistance [''number_range'']'''
 
**识别使用范围,如 10-20
 
**'''targetdistance 10-20'''
 
<br/>
 
===若目标在/不在可视范围内时===
 
*'''targetinlineofsight/targetnotinlineofsight [true/false]'''
 
**'''targetinlineofsight true'''
 
<br/>
 
===若有/没有打雷时===
 
*'''thundering [true/false]'''
 
**'''thundering false'''
 
<br/>
 
===若当前世界为指定的世界时===
 
*'''world [''worldname'']'''
 
**可以指定单个世界,也可以使用逗号列表
 
**允许使用/进行分隔
 
**'''world snowyworld, lavaworld, islandworld'''
 
<br/>
 
===若当前世界时间为指定范围内时===
 
*'''worldtime [''number_range'']'''
 
**取值范围为0~24000<br/>可使用/time显示当前世界的时间
 
**0-12000为游戏内的白天,12001-13800为黄昏,13801-22200为晚上,22201-24000为黎明
 
**'''worldtime 0-12000'''
 
===例子===
 
<pre>
 
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}
 
</pre>
 
 
 
===条件判定方法===
 
条件Conditions用于判定当处于/不处于某个情况时执行某项事件。条件的填写方法见例子<br/>
 
条件可用于以下位置 ''非所有条件适用于所有地方''
 
*[[MythicMobs技能#.E6.8A.80.E8.83.BD.28Skill_Mechanics.29|基本技能]]
 
*[[#.E6.8E.89.E8.90.BD.E8.A1.A8.28DropsTables.29|掉落表]]
 
*[[#.E7.94.9F.E6.88.90.E7.82.B9.28Spawners.29|生成点]]
 
*随机生成
 
当Conditions下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用'''/'''的条件只要满足其定义中的其中一个即视为匹配此条件
 
===条件是如何运作的===
 
条件可分为三种<br/>
 
#条件(Conditions) - 以技能的使用者为目标
 
#目标条件(TargetConditions) - 以技能的对象为目标
 
#触发条件(TriggerConditions) - 以触发技能的对象为目标
 
<br/>
 
要注意的是,并不是所有条件要求都适用于这三种类型的条件。比如,
 
<pre>
 
  Conditions:
 
  - globalscore{objective=Test;v=>10}
 
</pre>
 
''globalscore''并没有任何特殊的目标,所以只能在Conditions下运作<br/>
 
<br/>
 
<pre>
 
  TargetConditions:
 
  - lineofsight false
 
</pre>
 
而这个并不能填写在Conditions下,因为''lineofsight''需要目标对象才能执行,所以只能填写在TargetConditions或TriggerConditions下<br/>
 
<br/>
 
'''格式:'''<br/>
 
从4.0.0起,所有条件的新格式大致如下
 
<pre>
 
Conditions:
 
- 条件 [变量]
 
- 条件 [变量] [条件动作]
 
- 条件 [变量] [条件动作] [条件动作的变量]
 
- 条件{变量1=数值;变量2=数值} [条件动作] [条件动作的变量]
 
</pre>
 
这个新的'''条件动作'''可用于在满足/不满足条件的情况下,是否使用技能。例子如下
 
<pre>
 
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
 
</pre>
 
===条件动作注释===<br/>
 
新增的条件动作使我们能在条件上有更多的修改空间。<br/>
 
比如,新版允许在满足/不满足条件的情况下执行...而旧版的条件要求只会在满足条件的情况下执行
 
*以下为一列条件动作
 
**'''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 等<br/>也可以是负数(用于跳跃时)
 
**一般掉落的速度为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]}
 

2021年2月27日 (六) 12:00的最新版本