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

“MythicMobs/Skills”的版本间的差异

来自Minecraft插件百科
跳转至: 导航搜索
(1240798440移动页面MythicMobs/SkillsMythicMobs/Skills/All
1个标签新重定向
 
(已移除至MythicMobs/Skills/All的重定向)
1个标签移除重定向
第1行: 第1行:
#重定向 [[MythicMobs/Skills/All]]
+
=技能(Skills)]]=
 +
*一列可用的'''[[MythicMobs/Skills|技能]]'''详细列表
 +
*将写好的技能放在MythicMobs/Skills内
 +
*[[MythicMobs/Skills|技能]]为MM插件的一大特点。所有MM生物都可以根据不同情况发动[[MythicMobs/Skills|技能]]
 +
*一个完整的[[MythicMobs/Skills|技能]]由以下几个构成<br/>[[MythicMobs/Skills|技能名]]<br/>[[MythicMobs/Skills|特效类技能]]<br/>技能目标对象Targeters<br/>简易的技能触发要求Triggers<br/>更高级的触发[[MythicMobs/Conditions|Conditions]]
 +
<br/>
 +
==技能威力(Power)==
 +
鲲鲲:早在2020上半年就很好奇这是个啥东西..直到2020.1.6翻了翻官方百科
 +
*[[MythicMobs/Skills|技能]]威力影响的[[MythicMobs/Skills|技能]]计算
 +
{| class="wikitable"
 +
|-
 +
! [[MythicMobs/Skills|技能]]名 !! 受影响修改项 !! 影响之前的计算 !! 影响后的计算
 +
|-
 +
|basedamage || multiplier(m) || 数值为m的值 ||数值为m的值 * 技能威力
 +
|-
 +
|consume || damage(d)与health(h) || 数值为d与h的值 ||d与h的值各自*技能威力
 +
|-
 +
|damage || amount(a) || 数值为a的值 ||数值为a的值 * 技能威力
 +
|-
 +
|leap || velocity(v) || 数值为v的值 ||数值为v的值 * ( 1 + 技能威力 * 0.1 )
 +
|-
 +
|projectile || velocity(v)与maxrange(mr) || 数值为v与mr的值 ||v与mr的值各自*技能威力
 +
|-
 +
|missile || velocity(v)与maxrange(mr) || 数值为v与mr的值 ||v与mr的值各自*技能威力
 +
|}
 +
*栗子:
 +
<pre>
 +
2级的鲲鲲,damage伤害将从5增加到10(鲲鲲为1级 + 默认的技能威力为1
 +
即1+1 = 2, 5*2 = 10),3级的鲲鲲伤害则增加到15
 +
鲲鲲:
 +
  Type: SKELETON
 +
  Health: 20
 +
  LevelModifiers:
 +
    Health: 10
 +
    Power: 1
 +
  Skills:
 +
  - damage{a=5} @trigger ~onDamaged
 +
</pre>
 +
 
 +
==[[MythicMobs/Skills|技能顺序格式]]==
 +
<pre>
 +
鲲鲲:
 +
  Type: ZOMBIE
 +
  Display: '鲲鲲'
 +
  Health: 50
 +
  Skills:
 +
  - 技能 1
 +
  - ...
 +
</pre>
 +
大概就是这样,那一个实际的例子是怎样的呢?
 +
<pre>
 +
鲲鲲:
 +
  Type: ZOMBIE
 +
  Display: '鲲鲲'
 +
  Health: 50
 +
  Skills:
 +
  - ignite{ticks=100} @target ~onAttack <50% 0.5
 +
</pre>
 +
就是这样,现在我们来详细看下一个[[MythicMobs/Skills|技能]]的格式
 +
<pre>Skills:
 +
  - 技能名{技能修改项=数值或是否} 目标选择器 ~on激活条件 血量要求(栗:>2%) 几率
 +
</pre>
 +
 
 +
==[[MythicMobs/Skills|技能(Mechanics)]]==
 +
*[[MythicMobs/Skills|技能名字]],技能最重要最优先的东西,不支持部分特殊符号
 +
*大部分技能都有可修改项。就跟在技能名字的后面,填写于'''{ }'''的里面。而每个修改项用符号''';'''分隔
 +
<pre>Skills:
 +
  - 技能名{技能修改项=数值或是否;技能修改项=数值或是否;技能修改项=数值或是否}
 +
</pre>
 +
*你也可以像下面这样换行使其更易于编辑,不过请保证格式正确
 +
<pre>Skills:
 +
  - 技能名{}
 +
      技能修改项=数值;
 +
      技能修改项=数值;
 +
      技能修改项=数值;
 +
      }
 +
</pre>
 +
*大部分的[[MythicMobs/Skills|技能]]格式都是这样的啦,再举个例子,比如想生物把攻击对象点燃5秒(5秒=100刻,1秒=20刻)
 +
<pre>Skills:
 +
  - ignite{ticks=100}
 +
</pre>
 +
'''技能目标(Targeters)'''
 +
*技能目标,顾名思义就是你所希望[[MythicMobs/Skills|释放的技能]]所选取的目标。而[[MythicMobs/Skills|技能]]分两大类,以实体为目标的和以坐标/位置为目标的。给[[MythicMobs/Skills|技能]]选取正确的技能目标很重要哦。
 +
*目标通常跟随在@后,格式如下
 +
<pre>Skills:
 +
  - 技能名{技能修改项=数值或是否} 目标选择器{选择器修改项=数值}
 +
</pre>
 +
*在看回我们之前的例子,[[MythicMobs/Skills/TargetSkills|点火]]
 +
<pre>Skills
 +
  - ignite{ticks=100} @target
 +
</pre>
 +
*又或者你想[[MythicMobs/Skills/TargetSkills|技能:'''点燃''']]激活位置半径范围5格下的所有玩家
 +
<pre>Skills:
 +
  - ignite{ticks=100} @PlayersInRadius{r=5}
 +
</pre>
 +
*只要记住,目标就是[[MythicMobs/Skills|技能]]的目标
 +
'''触发条件(Triggers)'''
 +
*当然这个也很重要,决定是为何而触发[[MythicMobs/Skills|技能]],一般填写于'''~'''后面
 +
*触发条件还和一个特别的技能目标有关,[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@trigger]],以触发[[MythicMobs/Skills|技能]]的实体为[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|技能目标]]
 +
<pre>Skills:
 +
  - 技能名{技能修改项=数值或是否} 目标选择器{选择器修改项=数值} ~on激活时
 +
</pre>
 +
*在看回我们先前的例子...我们想生物每次进行攻击时使用一次5秒的点燃技能
 +
<pre>Skills:
 +
  - ignite{ticks=100} @target ~onAttack
 +
</pre>
 +
 
 +
==血量要求(Health Modifiers)==
 +
*血量要求,用于确定当生物的血量满足什么情况下[[MythicMobs/Skills|技能]]才可以发动<br/>使用这三个判定符'''=''','''<''','''>'''<br/>以下几个例子
 +
<pre>
 +
=90% - 血量到达90%时触发
 +
<50% - 血量小于50%时触发
 +
=30%-50% - 当血量为30%到50%之间时触发
 +
<2000 - 血量小于2000点时触发
 +
>500 - 血量大于500点时触发
 +
>10,=5,<3% - 血量大于10点,等于5,或小于3%时都可触发
 +
</pre>
 +
*我们把之前的例子再拉回来...血量小于50%时,每次攻击目标时使用[[MythicMobs/Skills/TargetSkills|技能:'''点燃''']]
 +
<pre>Skills:
 +
  - ignite{ticks=100} @target ~onAttack <50%
 +
</pre>
 +
 
 +
==几率(Chance)==
 +
*满足条件后[[MythicMobs/Skills|技能]]使用的几率
 +
*1.0为100%,一般不填写的话也就是默认100%使用;0.5是50%几率,0就是不会发动...
 +
*我们把例子最后一次再拉回来...血量小于50%时,每次攻击目标时有50%几率使用[[MythicMobs/Skills/TargetSkills|技能:'''点燃''']]
 +
<pre>Skills:
 +
  - ignite{ticks=100} @target ~onAttack <50% 0.5
 +
</pre>
 +
 
 +
==特殊符号==
 +
<spoiler>
 +
{| class="wikitable"
 +
|-
 +
! 变量 !! 描述
 +
|-
 +
| <&co> || 返还冒号 :
 +
|-
 +
| <&sq> || 返还撇号 '
 +
|-
 +
| <&da> || 返还减号 -
 +
|-
 +
| <&bs> || 返还反斜杠 \
 +
|-
 +
| <&fs> || 返还斜杠 /
 +
|-
 +
| <&sp> || 返还空格
 +
|-
 +
| <&cm> || 返还逗号 ,
 +
|-
 +
| <&sc> || 返还分号 ;
 +
|-
 +
| <&eq> || 返还等号 =
 +
|-
 +
| <&ss> || 返还分节符 §
 +
|-
 +
| <&dq> || 返还双引号 "
 +
|-
 +
| <&rb> || 返还右方括号 ]
 +
|-
 +
| <&lb> || 返还左方括号 [
 +
|-
 +
| <&rc> || 返还右大括号 }
 +
|-
 +
| <&lc> || 返还左大括号 {
 +
|-
 +
| <&nl> || 另起新的一行
 +
|-
 +
| <&heart> || 返还一个爱心符号
 +
|-
 +
| <&skull> || 返还一个骷髅骨头符号
 +
|}
 +
</spoiler>
 +
 
 +
==颜色代码==
 +
可使用于生物或[[MythicMobs/Skills|技能]]内,也能用于tellraw命令内
 +
*'''在部分预览版本被'''§'''所替代!'''
 +
<spoiler>
 +
{| class="wikitable"
 +
|-
 +
! 变量 !! 描述
 +
|-
 +
| &0 || {{Minecraft Color|&0|黑色}}
 +
|-
 +
| &1 || {{Minecraft Color|&1|深蓝色}}
 +
|-
 +
| &2 || {{Minecraft Color|&2|深绿色}}
 +
|-
 +
| &3 || {{Minecraft Color|&3|深水蓝色}}
 +
|-
 +
| &4 || {{Minecraft Color|&4|深红色}}
 +
|-
 +
| &5 || {{Minecraft Color|&5|深紫色}}
 +
|-
 +
| &6 || {{Minecraft Color|&6|金色}}
 +
|-
 +
| &7 || {{Minecraft Color|&7|灰色}}
 +
|-
 +
| &8 || {{Minecraft Color|&8|深灰色}}
 +
|-
 +
| &9 || {{Minecraft Color|&9|蓝色}}
 +
|-
 +
| &a || {{Minecraft Color|&a|绿色}}
 +
|-
 +
| &b || {{Minecraft Color|&b|水蓝色}}
 +
|-
 +
| &c || {{Minecraft Color|&c|红色}}
 +
|-
 +
| &d || {{Minecraft Color|&d|浅紫}}
 +
|-
 +
| &e || {{Minecraft Color|&e|黄色}}
 +
|-
 +
| &f || {{Minecraft Color|&f|白色}}
 +
|-
 +
| &K || 乱码
 +
|-
 +
| &L || '''加粗'''
 +
|-
 +
| &M || 删除线
 +
|-
 +
| &N || 下划线
 +
|-
 +
| &O || 斜体
 +
|-
 +
| &R || 颜色代码重置/清空
 +
|}
 +
</spoiler>
 +
 
 +
==[[MythicMobs/Conditions|条件要求(Conditions)]]==
 +
点击标题进入条件列表
 +
<div class="darken mw-collapsible mw-collapsed" id="mw-customcollapsible-chunan">
 +
恭喜你发现了彩蛋!
 +
 
 +
鲲鲲:感谢CHuNan帮忙搬运QWQ</br>
 +
CHuNan:<s>''其实我就是个打酱油的''</s>
 +
 
 +
''<span class="darken mw-customtoggle-chunan">点击此处隐藏彩蛋</span>''
 +
</div>
 +
 
 +
==目标选择器==
 +
*[[MythicMobs/Skills/NoTargetSkills|无目标类技能]]不需要目标选择器
 +
*[[MythicMobs/Skills|技能组]]内目标不填写则为生物Yml内该[[MythicMobs/Skills|技能组]]所填写的目标选择器
 +
*检测[[MythicMobs/Conditions|条件]]所检测的目标随目标选择器变化,例如[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]为检测自己
 +
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]时,Conditions/TargetConditions/TriggerConditions所检测的目标相同
 +
*范围类目标选择器有最大值,超过最大值时技能无效
 +
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]除外的实体目标选择器,Conditions检测施法者(与上述一样)TargetConditions检测[[MythicMobs/Skills|技能]]的目标
 +
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@trigger]]时,TargetConditions/TriggerConditions所检测的目标相同
 +
*[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]]不同于[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@selflcation]],本质上一个实体选择器一个位置选择器,其次[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|selflcation]]选择的是脚下,而不是实体"中心"
 +
<spoiler>
 +
===待测试目标选择器===
 +
*添加于MM4.11.0-BETA的目标选择器..
 +
{| class="wikitable"
 +
|-
 +
! 目标 !! 说明
 +
|-
 +
|@CasterSpawnLocation || 施法者出生的位置
 +
|-
 +
|@ObstructingBlock || 猜测是: 阻碍施法者接近目标的方块
 +
|-
 +
|@FloorOfTargets || 得写在[[MythicMobs/Skills|技能]]yml里
 +
|-
 +
|@LocationsOfTargets || 猜测是: 目标的位置,得写在[[MythicMobs/Skills|技能]]yml里
 +
|}
 +
===单实体目标选择器===
 +
{|
 +
| class="wikitable"
 +
|-
 +
! 目标选择器名 !! 缩写 !! 说明
 +
|-
 +
| @Self || @Caster || 施法者本身
 +
|-
 +
| @Target || @T || 选定施法者的目标为目标
 +
|-
 +
| @Trigger || || 以触发技能の实体为目标
 +
|-
 +
| @NearestPlayer{r=#} || || 以半径最近の玩家为目标。默认为r=5
 +
|-
 +
| @WolfOwner || ||  以狼の主人为目标
 +
|-
 +
| @Owner || ||  以主人为目标
 +
|-
 +
| @Mount || ||  以目标骑乘着の实体为目标
 +
|-
 +
| @Parent || ||  如果激活者召唤出其他的怪物,那么怪物会以激活者为目标
 +
|-
 +
| @Children || ||  选取自身召唤出の其它怪物作为目标
 +
|-
 +
| @Passenger || ||  骑在目标上方的实体
 +
|-
 +
| @PlayerByName{name==""}(MM4.12+) || ||  选中指定名称の玩家为目标
 +
|-
 +
| @Vehicle(MM4.12+) || ||  以目标骑乘着的实体为目标
 +
|}
 +
===多实体目标选择器===
 +
{| class="wikitable"
 +
| 目标选择器名 || 缩写 || 描述
 +
|-
 +
| @LivingEntitiesInRadius{r=半径} ||  || 将半径内的生物作为目标
 +
|-
 +
| @PlayersInRadius{r=半径} || @PIR{r=半径} || 将半径内的玩家作为目标
 +
|-
 +
| @MobsInRadius{r=半径;types=A,B,C} || @MIR{r=半径;t=指定生物} || 将半径内的生物作为目标,,若type填写原版生物ID,那么与其类型一致的MM生物并不会被选中,type可以不写但会警告
 +
|-
 +
| @EntitiesInRadius{r=半径;types=A,B,C} || @EIR{r=半径;t=指定生物} || 将半径内的所有实体作为目标,type必须要写
 +
|-
 +
| @PlayersInWorld || @World || 将当前世界所有玩家作为目标
 +
|-
 +
| @PlayersOnServer || @Server || 将服务器内的所有玩家作为目标
 +
|-
 +
| @PlayersInRing{min=内圈半径;max=外圈半径} ||  || 将环内的所有玩家作为目标
 +
|-
 +
| @PlayersNearOrigin{r=半径} ||  || 将生效目标/投射物落点半径内的玩家作为目标
 +
|-
 +
| @MobsNearOrigin{r=半径;t=指定生物} ||  || 将生效目标/投射物落点半径内的生物作为目标
 +
|-
 +
| @EntitiesNearOrigin{r=半径} ||  || 将生效目标/投射物落点半径范围内的所有实体作为目标
 +
|-
 +
| @Siblings ||  || 以目标的同类为目标
 +
|}
 +
===威胁表目标选择器===
 +
这些目标只有在威胁表启用时可用
 +
{| class="wikitable"
 +
| 目标选择器名 || 缩写 || 描述
 +
|-
 +
| @RandomThreatTarget || @RTT || 将威胁表内的随机一名玩家作为目标
 +
|-
 +
| @ThreatTable || @TT || 将所有威胁表内的生物作为目标
 +
|-
 +
| @ThreatTablePlayers ||  || 将威胁表内的所有玩家作为目标
 +
|}
 +
===@Cone修改项的说明===
 +
@Cone本质上是选取一个2D扇形范围内的生物
 +
{| class="wikitable"
 +
|-
 +
! 修改项 !! 描述
 +
|-
 +
| angle || 始边与终边的夹角度数,正数为正角(顺时针扩大),负数为负角(逆时针扩大)
 +
|-
 +
| point || 扇形的弧由多少个点组成(不知道咋解释)
 +
|-
 +
| range || 扇形的半径
 +
|-
 +
| rotation || 对始边进行旋转,正数顺时针旋转,负数逆时针旋转
 +
|}
 +
===坐标类目标选择器===
 +
====单坐标目标选择器====
 +
{| class="wikitable"
 +
| 目标选择器名 || 缩写 || 描述
 +
|-
 +
| @SelfLocation{yoffset=0.0} ||  || 生物自己的坐标,y为y轴偏移
 +
|-
 +
| @TargetLocation ||  || 生物目标的坐标
 +
|-
 +
| @TriggerLocation ||  || 将触发[[MythicMobs/Skills|技能]]的生物的坐标作为目标
 +
|-
 +
| @Location{c=x,y,z,,yaw,pitch} ||  || 指定坐标作为目标,Yaw/Ptich(视角水平/俯仰视角度)新增于4.11
 +
|-
 +
| @Origin ||  || 将发射物的发射者的坐标作(不一定是生物)为目标
 +
|-
 +
| @Spawner{s=刷怪点名} ||  || 将刷怪点的坐标作为目标
 +
|-
 +
| @RLNTE{amount=数量;radius=半径;spacing=各点距离;minradius=最小半径} ||  || 选择生物周围随机的坐标点作为目标
 +
|-
 +
| @FloorOfTargets{r=半径;ry=y轴半径;noise=不知道;shape=sphere;oa=false;na=true} ||  || 选取目标脚下の方块为目标
 +
|-
 +
| @BlocksInRadius{radius=半径;radiusy=#;noise=不知道;shape=形状(sphere(球体)/cube(正方体));onlyair=false;noair=true} ||  ||  以目标为中心,选取指定半径内的所有方块为目标
 +
|}
 +
====多坐标目标选择器====
 +
{| class="wikitable"
 +
| 目标选择器名 || 缩写 || 描述
 +
|-
 +
| @PlayerLocationsInRadius{r=半径} || @PLIR{r=半径} || 将半径内的所有玩家的坐标作为目标
 +
|-
 +
| @Ring{radius=半径;points=#} ||  || 选择范围圆环内的目标点
 +
|-
 +
| @Cone{angle=扇形角度;points=点数;range=范围;rotation=起始点角度;yoffset=竖直偏移} ||  || 选择一个扇形作为目标点组
 +
|
 +
| @EntitiesInCone{angle=点数;range=范围;rotation=起始点角度;} ||  || 选择扇形内的所有生物
 +
|}
 +
===特殊目标===
 +
有一些目标只能用于[[MythicMobs/Skills|技能]]内部
 +
<pre>鲲鲲:
 +
  Type: creeper
 +
  Display: '鲲鲲'
 +
  Health: 12
 +
  AITargetSelectors:
 +
  - clear
 +
  - players
 +
  [[MythicMobs/Skills|Skills]]:
 +
  - [[MythicMobs/Skills|skill]]{s=鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]]
 +
鲲鲲:
 +
  [[MythicMobs/Skills|Skills]]:
 +
  - ignite [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@line{r=1]]}</pre>
 +
鲲鲲会点燃目标和生物之间的一切生物
 +
{| class="wikitable"
 +
| 目标选择器名 || 缩写 || 描述
 +
|-
 +
| @Line{radius=半径;fromorigin=true/false} || @Line{r=半径;fo=true/false} || 将目标和生物之间的连线的所有坐标点作为目标
 +
|-
 +
| @EntitiesInLine{radius=半径;fromorigin=true/false} || @EIL{r=半径;fo=true/false} || 将目标与生物间连线上的所有生物作为目标
 +
|}
 +
===原版目标,在1.13+中全部过时===
 +
这些目标会像 Minecraft 命令中的目标选择器一样工作。这些目标可能极其复杂冗长,但也可以很简单。这些拓展都包围在[ ]里,包含了可能的半径、数量、游戏模式、计分板分数、队员、生物种类、经验等级、目标等等。
 +
请注意,因为一个BUG,原版的目标选择器搭配 MythicMobs 使用,有可能没有最小半径和半径参数,这将导致没有任何目标被选中。以后的 MythicMobs 版本不再能选择非同一世界的目标。
 +
{| class="wikitable"
 +
| 目标选择器名 || 描述
 +
|-
 +
| @p || 选择最近的玩家
 +
|-
 +
| @a || 选择所有玩家
 +
|-
 +
| @r || 选择随机玩家
 +
|-
 +
| @e || !选择所有实体
 +
|}
 +
{| class="wikitable"
 +
| 参数 || 描述
 +
|-
 +
| x=X, y=Y, z=Z || 坐标。如果给出了这些属性,那么目标会以此作为基准
 +
|-
 +
| r=R || 最大半径,必须设置坐标
 +
|-
 +
| rm=RM || 最小半径
 +
|-
 +
| m=M || 游戏模式。目标处于的游戏模式 0 = 生存, 1 = 创造, 2 = 冒险, 3 = 旁观
 +
|-
 +
| c=C || 最大数量的生物,正数尝试选择最近的,负数则是最远的
 +
|-
 +
| l=L || 最大等级,会尝试选择最高的
 +
|-
 +
| lm=LM || 最小等级
 +
|-
 +
| score_<obj>=SCORE || 最大计分板分数
 +
|-
 +
| score_<obj>_min=SCORE || 最小计分板分数
 +
|-
 +
| team=TEAM || 是“TEAM”队伍的成员
 +
|-
 +
| team=!TEAM || 不是“TEAM”队伍的成员
 +
|-
 +
| name=NAME || 名称必须为“NAME”
 +
|-
 +
| name=!NAME || 名称必须不为“NAME”
 +
|-
 +
| dx=DX, dy=DY, dz=DZ || 体积尺寸,选择长方形区域
 +
|-
 +
| rx=RX || 最大垂直旋转角
 +
|-
 +
| rxm=RXM || 最小垂直旋转角
 +
|-
 +
| ry=RY || 最大水平旋转角
 +
|-
 +
| rym=RYM || 最小水平旋转角
 +
|-
 +
| type=TYPE || 目标必须为“TYPE”型生物
 +
|-
 +
| type=!TYPE || 目标必须不是“TYPE”型生物
 +
|-
 +
| tag=TAG || 目标必须拥有“TAG”计分板标签
 +
|-
 +
| tag=!TAG || 目标必须没有“TAG”计分板标签
 +
|}
 +
====示例====
 +
*@p[lm=10]
 +
**选择最近经验大于10级的玩家
 +
*@a[r=10]
 +
**选择所有10格内的玩家
 +
*@a[r=10,c=3]
 +
**选择10格内最近的3个玩家
 +
*@a[r=10,c=2,lm=10]
 +
**选择10格内的经验大于10级的最近的2个玩家
 +
*@a[r=10,score_ASD=1]
 +
**选择10格内的计分板 ASD 最大为1的所有玩家
 +
*@a[r=12,score_ASD_min=2]
 +
**选择10格内的计分板 ASD 最小为2的所有玩家
 +
可能性非常之多!
 +
</spoiler>
 +
===目标过滤器===
 +
目标过滤器允许你过滤掉现有的目标,让[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8|目标选择器]]更加灵活
 +
它仅支持[[MythicMobs#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8|@EIR]]以及[[MythicMobs#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8|@PIR]]
 +
可以使用两个选项(可用任何生物目标):
 +
*ignore=X
 +
*target=X
 +
举个例子,过滤掉所有的玩家和动物,可以这样做:
 +
<pre>damage{a=20} @EntitiesInRadius{r=10;ignore=players,animals}</pre>
 +
让目标只选择玩家,可以这样:
 +
<pre>skill{s=鲲鲲} @EntitiesInRadius{r=5;target=players}</pre>
 +
或者
 +
<pre>skill:鲲鲲 @EntitiesInRadius{r=5;targetplayers=true}</pre>
 +
可用的过滤器:
 +
<spoiler>
 +
*忽略创造/观察模式无效,此漏洞修复于4.11
 +
{| class="wikitable"
 +
|-
 +
! 值 !! 说明
 +
|-
 +
| self || 自身
 +
|-
 +
| animals || 非敌人生物
 +
|-
 +
| creative || 创造/观察模式,默认忽略
 +
|-
 +
| creatures || 任何生物
 +
|-
 +
| flyingmobs || 飞行生物
 +
|-
 +
| monsters || 敌对生物
 +
|-
 +
| NPCs || 插件:'''Citizens'''のNPC
 +
|-
 +
| players || 玩家
 +
|-
 +
| samefaction || 同派系生物
 +
|-
 +
| spectators || 旁观者,默认忽略
 +
|-
 +
| watermobs || 水中生物
 +
|-
 +
| vanilla || 非 MythicMobs 生物
 +
|}
 +
</spoiler>
 +
 
 +
===目标数量限制器===
 +
所有实体目标现在都支持目标限制,通过此功能,您可以限制目标的数量,包括选择目标的顺序.
 +
可以使用两个选项(可用任何生物目标):
 +
*limit=数量
 +
*sort=排序类型
 +
举个例子,假设你想在30米内选择2个最近的玩家,您只需将limit的数量设置为2并将soft设置为按NEAREST(最近优先)的顺序排序:
 +
@PlayersInRadius{r=30;limit=2;sort=NEAREST}
 +
可填写以下值
 +
<spoiler>
 +
{| class="wikitable"
 +
|-
 +
! 值 !! 说明
 +
|-
 +
| NONE || 以实体的存活时间排序
 +
|-
 +
| RANDOM || 随机
 +
|-
 +
| NEAREST || 以实体离自身距离排序,近者优先
 +
|-
 +
| FURTHEST || 以实体离自身距离排序,近者优先
 +
|}
 +
</spoiler>
 +
===目标生命/威胁数量选择器===
 +
可填写以下值
 +
<spoiler>
 +
{| class="wikitable"
 +
|-
 +
! 值 !! 说明
 +
|-
 +
| HIGHEST_HEALTH || 最高生命
 +
|-
 +
| LOWEST_HEALTH || 最高生命
 +
|-
 +
| HIGHEST_THREAT || 最大威胁
 +
|-
 +
| LOWEST_THREAT || 最小威胁
 +
|}
 +
</spoiler>
 +
</pre>
 +
@ThreatTablePlayers{sort=HIGHEST_THREAT;limit=5}
 +
</pre>
 +
选中5个威胁最高的玩家
 +
 
 +
===随机附近目标选择器===
 +
@RandomLocationsNearTargets
 +
随机选中自身附近的一个实体
 +
 
 +
==触发器==
 +
触发器决定了[[MythicMobs/Skills|技能]]何时触发,且无法被写在[[MythicMobs/Skills|技能文档]]内
 +
{| class="wikitable mw-collapsible mw-collapsed"
 +
! colspan="2" style="text-align: center;" | 可用的所有触发器
 +
|-
 +
! 触发器 !! 何时触发...
 +
|-
 +
| onCombat || 默认
 +
|-
 +
| onAttack || 生物攻击后
 +
|-
 +
| onDamaged || 生物受到伤害后
 +
|-
 +
| onSpawn || 生物生成后
 +
|-
 +
| onDeSpawn || 生物非因死亡而消失后(添加于4.6.x)
 +
|-
 +
| onFirstSpawn || 生物第一次从刷怪点出生后
 +
|-
 +
| onDeath || 生物死亡后
 +
|-
 +
| onTimer:# || 多少tick后
 +
|-
 +
| onInteract || 生物被右键后
 +
|-
 +
| onKillPlayer || 生物击杀玩家后
 +
|-
 +
| onPlayerDeath || 玩家死亡后
 +
|-
 +
| onEnterCombat || 生物开始战斗后(需要开启威胁表)
 +
|-
 +
| onDropCombat || 生物停止战斗后(需要开启威胁表)
 +
|-
 +
| onChangeTarget || 生物改变目标后(需要开启威胁表)
 +
|-
 +
| onExplode || 生物爆炸后(经常只用于爬行者)
 +
|-
 +
| onTeleport || 生物传送后(经常只用于末影人)
 +
|-
 +
| onSignal || 生物接收到信号后
 +
|-
 +
| onShoot || 生物射击后
 +
|-
 +
| onSignal:信号名[/i] || 生物接收到特定信号后
 +
|}
 +
 
 +
===使用触发器===
 +
{{Hide|标题=示例
 +
|内容=
 +
<pre>[[MythicMobs/Skills|Skills]]:
 +
  - ignite{ticks=100} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]] ~onAttack
 +
  - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲Shield} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|trigger]] ~onDamaged 0.1
 +
  - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=AOE鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onTimer:300
 +
</pre>
 +
在这个栗子里,生物将目标点燃5秒,受伤使用 鲲鲲Shield 每15秒使用 AOE鲲鲲 [[MythicMobs/Skills|技能]]。
 +
<pre>
 +
  [[MythicMobs/Skills|Skills]]:
 +
  - onDamaged{
 +
      auraName=测试;d=200;
 +
      onTick=[
 +
        - particles{p=flame;amount=10;hS=0.4}
 +
      ];
 +
      damageMods="FIRE 0.5"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|self]] ~onInteract
 +
</pre>
 +
生物被右键时自身获得持续10秒名为'测试'的光环,期间受到FIRE类型的伤害减半,并不断释放火焰粒子,这个栗子是[[MythicMobs/Skills|新技能写法]]
 +
}}
 +
{{Hide|标题=4.8.0+的触发器技能
 +
|内容=<s></s>
 +
*onDamaged现在可为施法者添加一个伤害修正光环,并应用指定伤害调整(damageMode)拥有持续时间设置
 +
*同时也可以作为抵消指定伤害的[[MythicMobs/Skills/SpecialSkills|光环]](下面这个是[[MythicMobs/Skills|新版技能写法]] [[文件:光环特效.png|有框|右|光环特效]]
 +
<pre>
 +
鲲鲲:
 +
  Type: Zombie
 +
  [[MythicMobs/Skills|Skills]]:
 +
  - [[MythicMobs/Skills|skill]]{[[MythicMobs/s|技能]]=鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onDamaged
 +
  鲲鲲:
 +
  [[MythicMobs/Skills|Skills]]:
 +
  - onDamaged{
 +
      auraName=鲲鲲护盾;d=200;
 +
      onTick=[
 +
        - particles{p=flame;amount=10;hS=0.4}
 +
      ];
 +
      damageMods="FIRE 0.5"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onInteract
 +
</pre>
 +
在这个例子里,当鲲鲲受伤的时候激活鲲鲲这个[[MythicMobs/Skills|技能]],鲲鲲会获得名为"鲲鲲护盾"的光环持续10秒,并在持续期间不断释放火焰粒子,并在自身被右键的时候免去一半火焰类型的伤害.
 +
}}
 +
 
 +
===不使用触发器....===
 +
若不写触发器,它会默认为onCombat,既生物受伤/攻击/出生/死亡都会触发[[MythicMobs/Skills|技能]]
 +
<pre>Skills:
 +
  - skill:鲲鲲 =10%-90%</pre>
 +
生物血量在最大生命值的10-90%之间受伤/攻击会触发 鲲鲲 [[MythicMobs/Skills|技能]],。
 +
 
 +
===@trigger 目标选择器===
 +
不同于@target,@target选择的是施法者的目标,而@trigger会选择令施法者激活触发器的目标,栗子,施法者在追玩家B,玩家A伤害了施法者,且施法者使用了触发器onDamage,那么技能的目标会是玩家A,如果目标选择器写@target,那么目标会是玩家B,触发器onSignal也支持这个目标选择器
 +
===详细信息 & 示例===
 +
<spoiler>
 +
*~onSpawn
 +
**生物生成后触发[[MythicMobs/Skills|技能]]
 +
**只会触发一次
 +
**可以与几率参数一同使用
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onSpawn 0.50''' (生物生成后有 50% 使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onDeath
 +
**生物死亡后触发[[MythicMobs/Skills|技能]]
 +
**只会触发一次
 +
**可以与几率参数一同使用
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onDeath 1''' (生物死亡后 100% 使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onDeSpawn
 +
**生物消失后触发[[MythicMobs/Skills|技能]]
 +
**只会触发一次
 +
**可以与几率参数一同使用
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onDeSpawn''' (生物消失后必定使用鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onAttack
 +
**生物成功攻击后触发[[MythicMobs/Skills|技能]]
 +
**可与生命和几率参数一同使用
 +
**'''- [[MythicMobs/Skills|skill]]{s=鲲鲲} ~onAttack <50% 0.1''' (当生物在 50% 血以下时,攻击有 10% 几率使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onDamaged
 +
**当生物受到伤害后触发
 +
**可以与生命和几率参数一同使用
 +
**''' - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onDamaged 1''' (当生物受到伤害后必定使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onExplode
 +
**生物爆炸后触发[[MythicMobs/Skills|技能]]
 +
**除非你设置了 PreventSuicide 选项,否则只会触发一次。基本上只在爬行者使用,因为其他生物看起来不会爆炸...
 +
** 可以与几率参数一同使用
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onExplode 0.25''' (生物在爆炸后有 25% 的几率使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onTeleport
 +
**生物传送后触发[[MythicMobs/Skills|技能]]
 +
** 可以与生命和几率参数一同使用
 +
**''' - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onTeleport <50% 1''' (生物在传送后必定使用鲲鲲 [[MythicMobs/Skills|技能]],并且需要血量少于 50%)
 +
*~onTimer:<ticks>
 +
**基于计时器触发[[MythicMobs/Skills|技能]]
 +
** ticks 作为单位
 +
**不建议使用几率和生命参数
 +
**''' - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onTimer:200'''' (每10秒使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onPlayerKill
 +
** 击杀玩家后触发[[MythicMobs/Skills|技能]]
 +
**可以与生命和几率参数一同使用
 +
**''' - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onPlayerKill >0 1''' (当生物击杀玩家,必定使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onEnterCombat
 +
**生物开始战斗后触发[[MythicMobs/Skills|技能]]
 +
** '''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onEnterCombat >0 1''' (当生物开始战斗,必定使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onDropCombat
 +
**生物停止战斗后触发[[MythicMobs/Skills|技能]]
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲}} ~onDropCombat >0 1''' (生物停止战斗后,必定使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onTargetChange
 +
** 生物改变目标后触发[[MythicMobs/Skills|技能]]
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onTargetChange >0 1''' (生物改变目标后,必定使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onInteract
 +
**生物被右键后触发[[MythicMobs/Skills|技能]],不支持盔甲架类型怪物
 +
**'''- [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲} ~onInteract >0 1''' (生物被右键后,必定使用 鲲鲲 [[MythicMobs/Skills|技能]])
 +
*~onSignal 或 ~onSignal:信号
 +
** 在生物收到特定信号后触发[[MythicMobs/Skills|技能]]
 +
</spoiler>

2021年7月16日 (五) 18:05的版本

技能(Skills)]]

  • 一列可用的技能详细列表
  • 将写好的技能放在MythicMobs/Skills内
  • 技能为MM插件的一大特点。所有MM生物都可以根据不同情况发动技能
  • 一个完整的技能由以下几个构成
    技能名
    特效类技能
    技能目标对象Targeters
    简易的技能触发要求Triggers
    更高级的触发Conditions


技能威力(Power)

鲲鲲:早在2020上半年就很好奇这是个啥东西..直到2020.1.6翻了翻官方百科

技能 受影响修改项 影响之前的计算 影响后的计算
basedamage multiplier(m) 数值为m的值 数值为m的值 * 技能威力
consume damage(d)与health(h) 数值为d与h的值 d与h的值各自*技能威力
damage amount(a) 数值为a的值 数值为a的值 * 技能威力
leap velocity(v) 数值为v的值 数值为v的值 * ( 1 + 技能威力 * 0.1 )
projectile velocity(v)与maxrange(mr) 数值为v与mr的值 v与mr的值各自*技能威力
missile velocity(v)与maxrange(mr) 数值为v与mr的值 v与mr的值各自*技能威力
  • 栗子:
2级的鲲鲲,damage伤害将从5增加到10(鲲鲲为1级 + 默认的技能威力为1
即1+1 = 2, 5*2 = 10),3级的鲲鲲伤害则增加到15
鲲鲲:
  Type: SKELETON
  Health: 20
  LevelModifiers:
    Health: 10
    Power: 1
  Skills:
  - damage{a=5} @trigger ~onDamaged

技能顺序格式

鲲鲲:
  Type: ZOMBIE
  Display: '鲲鲲'
  Health: 50
  Skills:
  - 技能 1
  - ...

大概就是这样,那一个实际的例子是怎样的呢?

鲲鲲:
  Type: ZOMBIE
  Display: '鲲鲲'
  Health: 50
  Skills:
  - ignite{ticks=100} @target ~onAttack <50% 0.5

就是这样,现在我们来详细看下一个技能的格式

Skills:
  - 技能名{技能修改项=数值或是否} 目标选择器 ~on激活条件 血量要求(栗:>2%) 几率

技能(Mechanics)

  • 技能名字,技能最重要最优先的东西,不支持部分特殊符号
  • 大部分技能都有可修改项。就跟在技能名字的后面,填写于{ }的里面。而每个修改项用符号;分隔
Skills:
  - 技能名{技能修改项=数值或是否;技能修改项=数值或是否;技能修改项=数值或是否}
  • 你也可以像下面这样换行使其更易于编辑,不过请保证格式正确
Skills:
  - 技能名{}
      技能修改项=数值;
      技能修改项=数值;
      技能修改项=数值;
      }
  • 大部分的技能格式都是这样的啦,再举个例子,比如想生物把攻击对象点燃5秒(5秒=100刻,1秒=20刻)
Skills:
  - ignite{ticks=100}

技能目标(Targeters)

  • 技能目标,顾名思义就是你所希望释放的技能所选取的目标。而技能分两大类,以实体为目标的和以坐标/位置为目标的。给技能选取正确的技能目标很重要哦。
  • 目标通常跟随在@后,格式如下
Skills:
  - 技能名{技能修改项=数值或是否} 目标选择器{选择器修改项=数值}
  • 在看回我们之前的例子,点火
Skills
  - ignite{ticks=100} @target
  • 又或者你想技能:点燃激活位置半径范围5格下的所有玩家
Skills:
  - ignite{ticks=100} @PlayersInRadius{r=5}
  • 只要记住,目标就是技能的目标

触发条件(Triggers)

  • 当然这个也很重要,决定是为何而触发技能,一般填写于~后面
  • 触发条件还和一个特别的技能目标有关,@trigger,以触发技能的实体为技能目标
Skills:
  - 技能名{技能修改项=数值或是否} 目标选择器{选择器修改项=数值} ~on激活时
  • 在看回我们先前的例子...我们想生物每次进行攻击时使用一次5秒的点燃技能
Skills:
  - ignite{ticks=100} @target ~onAttack

血量要求(Health Modifiers)

  • 血量要求,用于确定当生物的血量满足什么情况下技能才可以发动
    使用这三个判定符=,<,>
    以下几个例子
=90% - 血量到达90%时触发
<50% - 血量小于50%时触发
=30%-50% - 当血量为30%到50%之间时触发
<2000 - 血量小于2000点时触发
>500 - 血量大于500点时触发
>10,=5,<3% - 血量大于10点,等于5,或小于3%时都可触发
  • 我们把之前的例子再拉回来...血量小于50%时,每次攻击目标时使用技能:点燃
Skills:
   - ignite{ticks=100} @target ~onAttack <50%

几率(Chance)

  • 满足条件后技能使用的几率
  • 1.0为100%,一般不填写的话也就是默认100%使用;0.5是50%几率,0就是不会发动...
  • 我们把例子最后一次再拉回来...血量小于50%时,每次攻击目标时有50%几率使用技能:点燃
Skills:
  - ignite{ticks=100} @target ~onAttack <50% 0.5

特殊符号

变量 描述
<&co> 返还冒号 :
<&sq> 返还撇号 '
<&da> 返还减号 -
<&bs> 返还反斜杠 \
<&fs> 返还斜杠 /
<&sp> 返还空格
<&cm> 返还逗号 ,
<&sc> 返还分号 ;
<&eq> 返还等号 =
<&ss> 返还分节符 §
<&dq> 返还双引号 "
<&rb> 返还右方括号 ]
<&lb> 返还左方括号 [
<&rc> 返还右大括号 }
<&lc> 返还左大括号 {
<&nl> 另起新的一行
<&heart> 返还一个爱心符号
<&skull> 返还一个骷髅骨头符号

颜色代码

可使用于生物或技能内,也能用于tellraw命令内

  • 在部分预览版本被§所替代!

变量 描述
&0 黑色
&1 深蓝色
&2 深绿色
&3 深水蓝色
&4 深红色
&5 深紫色
&6 金色
&7 灰色
&8 深灰色
&9 蓝色
&a 绿色
&b 水蓝色
&c 红色
&d 浅紫
&e 黄色
&f 白色
&K 乱码
&L 加粗
&M 删除线
&N 下划线
&O 斜体
&R 颜色代码重置/清空

条件要求(Conditions)

点击标题进入条件列表

恭喜你发现了彩蛋!

鲲鲲:感谢CHuNan帮忙搬运QWQ
CHuNan:其实我就是个打酱油的

点击此处隐藏彩蛋

目标选择器

  • 无目标类技能不需要目标选择器
  • 技能组内目标不填写则为生物Yml内该技能组所填写的目标选择器
  • 检测条件所检测的目标随目标选择器变化,例如@self为检测自己
  • @self时,Conditions/TargetConditions/TriggerConditions所检测的目标相同
  • 范围类目标选择器有最大值,超过最大值时技能无效
  • @self除外的实体目标选择器,Conditions检测施法者(与上述一样)TargetConditions检测技能的目标
  • @trigger时,TargetConditions/TriggerConditions所检测的目标相同
  • @self不同于@selflcation,本质上一个实体选择器一个位置选择器,其次selflcation选择的是脚下,而不是实体"中心"

待测试目标选择器

  • 添加于MM4.11.0-BETA的目标选择器..
目标 说明
@CasterSpawnLocation 施法者出生的位置
@ObstructingBlock 猜测是: 阻碍施法者接近目标的方块
@FloorOfTargets 得写在技能yml里
@LocationsOfTargets 猜测是: 目标的位置,得写在技能yml里

单实体目标选择器

class="wikitable"
目标选择器名 缩写 说明
@Self @Caster 施法者本身
@Target @T 选定施法者的目标为目标
@Trigger 以触发技能の实体为目标
@NearestPlayer{r=#} 以半径最近の玩家为目标。默认为r=5
@WolfOwner 以狼の主人为目标
@Owner 以主人为目标
@Mount 以目标骑乘着の实体为目标
@Parent 如果激活者召唤出其他的怪物,那么怪物会以激活者为目标
@Children 选取自身召唤出の其它怪物作为目标
@Passenger 骑在目标上方的实体
@PlayerByName{name==""}(MM4.12+) 选中指定名称の玩家为目标
@Vehicle(MM4.12+) 以目标骑乘着的实体为目标

多实体目标选择器

目标选择器名 缩写 描述
@LivingEntitiesInRadius{r=半径} 将半径内的生物作为目标
@PlayersInRadius{r=半径} @PIR{r=半径} 将半径内的玩家作为目标
@MobsInRadius{r=半径;types=A,B,C} @MIR{r=半径;t=指定生物} 将半径内的生物作为目标,,若type填写原版生物ID,那么与其类型一致的MM生物并不会被选中,type可以不写但会警告
@EntitiesInRadius{r=半径;types=A,B,C} @EIR{r=半径;t=指定生物} 将半径内的所有实体作为目标,type必须要写
@PlayersInWorld @World 将当前世界所有玩家作为目标
@PlayersOnServer @Server 将服务器内的所有玩家作为目标
@PlayersInRing{min=内圈半径;max=外圈半径} 将环内的所有玩家作为目标
@PlayersNearOrigin{r=半径} 将生效目标/投射物落点半径内的玩家作为目标
@MobsNearOrigin{r=半径;t=指定生物} 将生效目标/投射物落点半径内的生物作为目标
@EntitiesNearOrigin{r=半径} 将生效目标/投射物落点半径范围内的所有实体作为目标
@Siblings 以目标的同类为目标

威胁表目标选择器

这些目标只有在威胁表启用时可用

目标选择器名 缩写 描述
@RandomThreatTarget @RTT 将威胁表内的随机一名玩家作为目标
@ThreatTable @TT 将所有威胁表内的生物作为目标
@ThreatTablePlayers 将威胁表内的所有玩家作为目标

@Cone修改项的说明

@Cone本质上是选取一个2D扇形范围内的生物

修改项 描述
angle 始边与终边的夹角度数,正数为正角(顺时针扩大),负数为负角(逆时针扩大)
point 扇形的弧由多少个点组成(不知道咋解释)
range 扇形的半径
rotation 对始边进行旋转,正数顺时针旋转,负数逆时针旋转

坐标类目标选择器

单坐标目标选择器

目标选择器名 缩写 描述
@SelfLocation{yoffset=0.0} 生物自己的坐标,y为y轴偏移
@TargetLocation 生物目标的坐标
@TriggerLocation 将触发技能的生物的坐标作为目标
@Location{c=x,y,z,,yaw,pitch} 指定坐标作为目标,Yaw/Ptich(视角水平/俯仰视角度)新增于4.11
@Origin 将发射物的发射者的坐标作(不一定是生物)为目标
@Spawner{s=刷怪点名} 将刷怪点的坐标作为目标
@RLNTE{amount=数量;radius=半径;spacing=各点距离;minradius=最小半径} 选择生物周围随机的坐标点作为目标
@FloorOfTargets{r=半径;ry=y轴半径;noise=不知道;shape=sphere;oa=false;na=true} 选取目标脚下の方块为目标
@BlocksInRadius{radius=半径;radiusy=#;noise=不知道;shape=形状(sphere(球体)/cube(正方体));onlyair=false;noair=true} 以目标为中心,选取指定半径内的所有方块为目标

多坐标目标选择器

目标选择器名 缩写 描述
@PlayerLocationsInRadius{r=半径} @PLIR{r=半径} 将半径内的所有玩家的坐标作为目标
@Ring{radius=半径;points=#} 选择范围圆环内的目标点
@Cone{angle=扇形角度;points=点数;range=范围;rotation=起始点角度;yoffset=竖直偏移} 选择一个扇形作为目标点组 @EntitiesInCone{angle=点数;range=范围;rotation=起始点角度;} 选择扇形内的所有生物

特殊目标

有一些目标只能用于技能内部

鲲鲲:
  Type: creeper
  Display: '鲲鲲'
  Health: 12
  AITargetSelectors:
  - clear
  - players
  [[MythicMobs/Skills|Skills]]:
  - [[MythicMobs/Skills|skill]]{s=鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]]
鲲鲲:
  [[MythicMobs/Skills|Skills]]:
  - ignite [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@line{r=1]]}

鲲鲲会点燃目标和生物之间的一切生物

目标选择器名 缩写 描述
@Line{radius=半径;fromorigin=true/false} @Line{r=半径;fo=true/false} 将目标和生物之间的连线的所有坐标点作为目标
@EntitiesInLine{radius=半径;fromorigin=true/false} @EIL{r=半径;fo=true/false} 将目标与生物间连线上的所有生物作为目标

原版目标,在1.13+中全部过时

这些目标会像 Minecraft 命令中的目标选择器一样工作。这些目标可能极其复杂冗长,但也可以很简单。这些拓展都包围在[ ]里,包含了可能的半径、数量、游戏模式、计分板分数、队员、生物种类、经验等级、目标等等。 请注意,因为一个BUG,原版的目标选择器搭配 MythicMobs 使用,有可能没有最小半径和半径参数,这将导致没有任何目标被选中。以后的 MythicMobs 版本不再能选择非同一世界的目标。

目标选择器名 描述
@p 选择最近的玩家
@a 选择所有玩家
@r 选择随机玩家
@e !选择所有实体
参数 描述
x=X, y=Y, z=Z 坐标。如果给出了这些属性,那么目标会以此作为基准
r=R 最大半径,必须设置坐标
rm=RM 最小半径
m=M 游戏模式。目标处于的游戏模式 0 = 生存, 1 = 创造, 2 = 冒险, 3 = 旁观
c=C 最大数量的生物,正数尝试选择最近的,负数则是最远的
l=L 最大等级,会尝试选择最高的
lm=LM 最小等级
score_<obj>=SCORE 最大计分板分数
score_<obj>_min=SCORE 最小计分板分数
team=TEAM 是“TEAM”队伍的成员
team=!TEAM 不是“TEAM”队伍的成员
name=NAME 名称必须为“NAME”
name=!NAME 名称必须不为“NAME”
dx=DX, dy=DY, dz=DZ 体积尺寸,选择长方形区域
rx=RX 最大垂直旋转角
rxm=RXM 最小垂直旋转角
ry=RY 最大水平旋转角
rym=RYM 最小水平旋转角
type=TYPE 目标必须为“TYPE”型生物
type=!TYPE 目标必须不是“TYPE”型生物
tag=TAG 目标必须拥有“TAG”计分板标签
tag=!TAG 目标必须没有“TAG”计分板标签

示例

  • @p[lm=10]
    • 选择最近经验大于10级的玩家
  • @a[r=10]
    • 选择所有10格内的玩家
  • @a[r=10,c=3]
    • 选择10格内最近的3个玩家
  • @a[r=10,c=2,lm=10]
    • 选择10格内的经验大于10级的最近的2个玩家
  • @a[r=10,score_ASD=1]
    • 选择10格内的计分板 ASD 最大为1的所有玩家
  • @a[r=12,score_ASD_min=2]
    • 选择10格内的计分板 ASD 最小为2的所有玩家

可能性非常之多!

目标过滤器

目标过滤器允许你过滤掉现有的目标,让目标选择器更加灵活 它仅支持@EIR以及@PIR 可以使用两个选项(可用任何生物目标):

  • ignore=X
  • target=X

举个例子,过滤掉所有的玩家和动物,可以这样做:

damage{a=20} @EntitiesInRadius{r=10;ignore=players,animals}

让目标只选择玩家,可以这样:

skill{s=鲲鲲} @EntitiesInRadius{r=5;target=players}

或者

skill:鲲鲲 @EntitiesInRadius{r=5;targetplayers=true}

可用的过滤器:

  • 忽略创造/观察模式无效,此漏洞修复于4.11
说明
self 自身
animals 非敌人生物
creative 创造/观察模式,默认忽略
creatures 任何生物
flyingmobs 飞行生物
monsters 敌对生物
NPCs 插件:CitizensのNPC
players 玩家
samefaction 同派系生物
spectators 旁观者,默认忽略
watermobs 水中生物
vanilla 非 MythicMobs 生物

目标数量限制器

所有实体目标现在都支持目标限制,通过此功能,您可以限制目标的数量,包括选择目标的顺序. 可以使用两个选项(可用任何生物目标):

  • limit=数量
  • sort=排序类型

举个例子,假设你想在30米内选择2个最近的玩家,您只需将limit的数量设置为2并将soft设置为按NEAREST(最近优先)的顺序排序: @PlayersInRadius{r=30;limit=2;sort=NEAREST} 可填写以下值

说明
NONE 以实体的存活时间排序
RANDOM 随机
NEAREST 以实体离自身距离排序,近者优先
FURTHEST 以实体离自身距离排序,近者优先

目标生命/威胁数量选择器

可填写以下值

说明
HIGHEST_HEALTH 最高生命
LOWEST_HEALTH 最高生命
HIGHEST_THREAT 最大威胁
LOWEST_THREAT 最小威胁

@ThreatTablePlayers{sort=HIGHEST_THREAT;limit=5}

选中5个威胁最高的玩家

随机附近目标选择器

@RandomLocationsNearTargets 随机选中自身附近的一个实体

触发器

触发器决定了技能何时触发,且无法被写在技能文档

可用的所有触发器
触发器 何时触发...
onCombat 默认
onAttack 生物攻击后
onDamaged 生物受到伤害后
onSpawn 生物生成后
onDeSpawn 生物非因死亡而消失后(添加于4.6.x)
onFirstSpawn 生物第一次从刷怪点出生后
onDeath 生物死亡后
onTimer:# 多少tick后
onInteract 生物被右键后
onKillPlayer 生物击杀玩家后
onPlayerDeath 玩家死亡后
onEnterCombat 生物开始战斗后(需要开启威胁表)
onDropCombat 生物停止战斗后(需要开启威胁表)
onChangeTarget 生物改变目标后(需要开启威胁表)
onExplode 生物爆炸后(经常只用于爬行者)
onTeleport 生物传送后(经常只用于末影人)
onSignal 生物接收到信号后
onShoot 生物射击后
onSignal:信号名[/i] 生物接收到特定信号后

使用触发器

示例
[[MythicMobs/Skills|Skills]]:
  - ignite{ticks=100} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]] ~onAttack
  - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲Shield} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|trigger]] ~onDamaged 0.1
  - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=AOE鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onTimer:300

在这个栗子里,生物将目标点燃5秒,受伤使用 鲲鲲Shield 每15秒使用 AOE鲲鲲 技能

  [[MythicMobs/Skills|Skills]]:
  - onDamaged{
      auraName=测试;d=200;
      onTick=[
        - particles{p=flame;amount=10;hS=0.4}
      ];
      damageMods="FIRE 0.5"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|self]] ~onInteract

生物被右键时自身获得持续10秒名为'测试'的光环,期间受到FIRE类型的伤害减半,并不断释放火焰粒子,这个栗子是新技能写法

4.8.0+的触发器技能
  • onDamaged现在可为施法者添加一个伤害修正光环,并应用指定伤害调整(damageMode)拥有持续时间设置
  • 同时也可以作为抵消指定伤害的光环(下面这个是新版技能写法
    光环特效
鲲鲲:
  Type: Zombie
  [[MythicMobs/Skills|Skills]]:
  - [[MythicMobs/Skills|skill]]{[[MythicMobs/s|技能]]=鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onDamaged
  鲲鲲:
  [[MythicMobs/Skills|Skills]]:
  - onDamaged{
      auraName=鲲鲲护盾;d=200;
      onTick=[
        - particles{p=flame;amount=10;hS=0.4}
      ];
      damageMods="FIRE 0.5"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onInteract

在这个例子里,当鲲鲲受伤的时候激活鲲鲲这个技能,鲲鲲会获得名为"鲲鲲护盾"的光环持续10秒,并在持续期间不断释放火焰粒子,并在自身被右键的时候免去一半火焰类型的伤害.

不使用触发器....

若不写触发器,它会默认为onCombat,既生物受伤/攻击/出生/死亡都会触发技能

Skills:
  - skill:鲲鲲 =10%-90%

生物血量在最大生命值的10-90%之间受伤/攻击会触发 鲲鲲 技能,。

@trigger 目标选择器

不同于@target,@target选择的是施法者的目标,而@trigger会选择令施法者激活触发器的目标,栗子,施法者在追玩家B,玩家A伤害了施法者,且施法者使用了触发器onDamage,那么技能的目标会是玩家A,如果目标选择器写@target,那么目标会是玩家B,触发器onSignal也支持这个目标选择器

详细信息 & 示例

  • ~onSpawn
    • 生物生成后触发技能
    • 只会触发一次
    • 可以与几率参数一同使用
    • - skill{s=鲲鲲} ~onSpawn 0.50 (生物生成后有 50% 使用 鲲鲲 技能)
  • ~onDeath
    • 生物死亡后触发技能
    • 只会触发一次
    • 可以与几率参数一同使用
    • - skill{s=鲲鲲} ~onDeath 1 (生物死亡后 100% 使用 鲲鲲 技能)
  • ~onDeSpawn
    • 生物消失后触发技能
    • 只会触发一次
    • 可以与几率参数一同使用
    • - skill{s=鲲鲲} ~onDeSpawn (生物消失后必定使用鲲鲲 技能)
  • ~onAttack
    • 生物成功攻击后触发技能
    • 可与生命和几率参数一同使用
    • - skill{s=鲲鲲} ~onAttack <50% 0.1 (当生物在 50% 血以下时,攻击有 10% 几率使用 鲲鲲 技能)
  • ~onDamaged
    • 当生物受到伤害后触发
    • 可以与生命和几率参数一同使用
    • - skill{s=鲲鲲} ~onDamaged 1 (当生物受到伤害后必定使用 鲲鲲 技能)
  • ~onExplode
    • 生物爆炸后触发技能
    • 除非你设置了 PreventSuicide 选项,否则只会触发一次。基本上只在爬行者使用,因为其他生物看起来不会爆炸...
    • 可以与几率参数一同使用
    • - skill{s=鲲鲲} ~onExplode 0.25 (生物在爆炸后有 25% 的几率使用 鲲鲲 技能)
  • ~onTeleport
    • 生物传送后触发技能
    • 可以与生命和几率参数一同使用
    • - skill{s=鲲鲲} ~onTeleport <50% 1 (生物在传送后必定使用鲲鲲 技能,并且需要血量少于 50%)
  • ~onTimer:<ticks>
    • 基于计时器触发技能
    • ticks 作为单位
    • 不建议使用几率和生命参数
    • - skill{s=鲲鲲} ~onTimer:200' (每10秒使用 鲲鲲 技能)
  • ~onPlayerKill
    • 击杀玩家后触发技能
    • 可以与生命和几率参数一同使用
    • - skill{s=鲲鲲} ~onPlayerKill >0 1 (当生物击杀玩家,必定使用 鲲鲲 技能)
  • ~onEnterCombat
    • 生物开始战斗后触发技能
    • - skill{s=鲲鲲} ~onEnterCombat >0 1 (当生物开始战斗,必定使用 鲲鲲 技能)
  • ~onDropCombat
    • 生物停止战斗后触发技能
    • - skill{s=鲲鲲}} ~onDropCombat >0 1 (生物停止战斗后,必定使用 鲲鲲 技能)
  • ~onTargetChange
    • 生物改变目标后触发技能
    • - skill{s=鲲鲲} ~onTargetChange >0 1 (生物改变目标后,必定使用 鲲鲲 技能)
  • ~onInteract
    • 生物被右键后触发技能,不支持盔甲架类型怪物
    • - skill{s=鲲鲲} ~onInteract >0 1 (生物被右键后,必定使用 鲲鲲 技能)
  • ~onSignal 或 ~onSignal:信号
    • 在生物收到特定信号后触发技能