- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobs/条件:修订间差异
跳转到导航
跳转到搜索
1240798440(留言 | 贡献) (创建页面,内容为“==条件要求(Conditions)== 一些旧版(2.5.11)的条件。只要把'''Conditions'''改为'''LegacyConditions'''就仍然可在MM4.0.0+使用 <spoiler> *'''biome […”) |
|||
第1行: | 第1行: | ||
==条件要求(Conditions)== | ==条件要求(Conditions)== | ||
一些旧版(2.5.11)的条件。只要把'''Conditions'''改为'''LegacyConditions'''就仍然可在MM4.0.0+使用 | 一些旧版(2.5.11)的条件。只要把'''Conditions'''改为'''LegacyConditions'''就仍然可在MM4.0.0+使用 | ||
*'''biome [''biome_name'']''' | *'''biome [''biome_name'']''' | ||
**'''若在此地形''' | **'''若在此地形''' |
2020年3月27日 (五) 04:13的版本
条件要求(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]
- 若站在某方块上时
- 方块名字列表
- 允许使用/进行分隔
- onblock grass
- 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下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用/的条件只要满足其定义中的其中一个即视为匹配此条件
条件是如何运作的
条件的种类:
条件可分为三种
- 条件(Conditions) - 以技能的使用者为目标
- 目标条件(TargetConditions) - 以技能的对象为目标
- 触发条件(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}
- 可输入单个数值,或使用数值范围 20-40 >10 <5 等
- 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]}