|
|
(未显示3个用户的75个中间版本) |
第1行: |
第1行: |
| ==条件要求(Conditions)==
| | [[MythicMobs|点击前往MM主页面]]<br> |
| 一些旧版(2.5.11)的条件。只要把'''Conditions'''改为'''LegacyConditions'''就仍然可在MM4.0.0+使用
| | [[MythicMobs/Skills|点击前往技能页面]]<br> |
| {| border="1" cellpadding="5" cellspacing="0"
| | [[MythicMobs/Conditions|点击前往条件页面]]<br> |
| |-
| | [[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]}
| |