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

MythicMobs/技能:修订间差异

来自Minecraft插件百科
跳转到导航 跳转到搜索
第1,813行: 第1,813行:
<br/>
<br/>
'''Example'''<br/>
'''Example'''<br/>
Skill.yml:
*Skill.yml:
<pre>
<pre>
CancelDamageEvent:
CancelDamageEvent:
第1,819行: 第1,819行:
   - CancelEvent
   - CancelEvent
</pre>
</pre>
Mob.yml:
*Mob.yml:
<pre>
<pre>
NoDamageMob:
NoDamageMob:
第2,174行: 第2,174行:
'''Examples'''<br/>
'''Examples'''<br/>
This example puts an icy-looking orbital shield around the mob when it is hit sometimes, that will last for 10 seconds or until it is triggered once:<br/>
This example puts an icy-looking orbital shield around the mob when it is hit sometimes, that will last for 10 seconds or until it is triggered once:<br/>
Mob File
*Mob File
<pre>
<pre>
   Mob:
   Mob:
第2,181行: 第2,181行:
     - skill{s=IceShield} @self ~onDamaged 0.2
     - skill{s=IceShield} @self ~onDamaged 0.2
</pre>
</pre>
Skills File
*Skills File
<pre>
<pre>
   IceShield:
   IceShield:
第2,468行: 第2,468行:
Skill.yml:<br/>
Skill.yml:<br/>
<pre>
<pre>
sudo:
*sudo:
   Skills:
   Skills:
   - arrowvolley{a=20;s=25;v=10;f=50;rd=200} @EIR{r=30}
   - arrowvolley{a=20;s=25;v=10;f=50;rd=200} @EIR{r=30}
   - message{msg="Triggername: <trigger.name>"} @world
   - message{msg="Triggername: <trigger.name>"} @world
</pre>
</pre>
Mob.yml:<br/>
*Mob.yml:<br/>
<pre>
<pre>
SudoMonkey:
SudoMonkey:

2019年4月20日 (六) 11:00的版本

已检索到其他语言的内容,请协助搬运外文内容至本页面,并翻译为本地化的中文。

点击此处开始搬运。(搬运完毕后请移除本模板并添加“待翻译”模板)

注意

  • 本页面的技能绝大部分都是MM4.5以下的

技能(Skill Mechanics)

  • 技能(或基本技能)是一类MM下的简单技能。你可以在生物的技能列表下直接配置他们或者把他们弄成一个技能组
  • 有些技能可以选取目标,有些则不可以。你可以通过控制技能目标(Targeters)来控制技能的对象目标

目标类技能

  • 以实体为目标的技能,有些还能以坐标/地点为目标

<spoiler>

actionmessage—动作栏信息


颜色代码等变量适用
或许会不适用于某些目标选择器
2.3.0往前的版本 @trigger 配合 ~onAttack 或 ~onDamaged 会导致技能不适用

标签(缩写) 描述 默认设置
message(m) 发送的文本信息
Skills:
- actionmessage{m="<mob.name>&f is casting a spell!"} @PlayersInRadius{r=30}
- actionmessage{m="&lHello! &cI'm &athe &9&lactionmessage-bar&r! &e:)"} @trigger ~onInteract
addtag—标签:给予目标一个scoreboard标签
标签(缩写) 描述 默认设置
tag(t) 标签的名字 default
  • 配合条件要求(Conditions)的hastag条件使用。使用原版的/scoreboard players tag <玩家名字> add [标签名字]也能做到同样的效果

给予发动技能的生物一个Test标签

TagSkill
  Skills:
  - addtag{t=Test} @self

当自身带有Test标签时才能使用suicide技能

TagTest:
  Conditions:
  - hastag{t=Test}
 Skills:
  - suicide @self
arrowvolley—射箭
标签(缩写) 描述 默认设置
amount(a) 射出的数量 20
spread(s) 扩散程度
数值需要设得比较高才能有明显效果
45
velocity(v) 箭的速度 20
fireTicks(f) 击中的目标被点燃的时间(刻) 0
removeDelay(rd) 箭过多久刻后才消失 200
  Skills:
  - arrowvolley{a=20;s=25;v=10;f=50;rd=200} @Target

射出20支速度为10的箭,扩散程度为25,射中的目标被点燃2.5秒,箭于10秒后消失

Base Damage—增强型攻击:造成自身攻击力%的伤害
标签(缩写) 描述 默认设置
multiplier(m) 百分比 1
ignoreArmor(ia) 是否无视防御 false
preventknockback(pkb,pk) 是否不造成击退 false
preventimmunity(pi) 是否无视伤害硬直 false
  • preventknockbackpreventimmunity添加于版本2.3

每次受到伤害时给予目标造成自身基础攻击力150%的伤害

  Skills:
  - basedamage{m=1.5} @target ~onDamaged
command—命令:给每个目标在控制台执行一次命令

允许使用颜色代码和变量
命令将不会成功运行若命令包含双引号"或大括号{ },若要使用请用代码代替
原因是MM自身需要"以正确读取技能的格式
2.4版本起,大括号{ }可不需要使用代码代替,但双引号"仍然需要

标签(缩写) 描述 默认设置
command(c) 执行的命令
command技能教程与准备
准备
  • 第一步:找到server.properties下的enable-command-block=并设置为true来允许服内使用命令
  • 第二步:一般来说Bukkit/Spigot会一定程度上修改我们所使用的命令,要保证我们的命令不被干涉,打开commands.yml并把command-block-overrides:下改为如下
    ‘*’意思为所有
command-block-overrides:
- '*'
  • 第三步:保证前两步的设置有效,重启或重载服务端。


管理员做到的事情/命令都能使用命令技能达成。能做到MM自身配置或技能所不能做到的事情。比如,能使一个生物临时无敌或启用/禁用其AI
还可以如用于修改下时间或天气之类的任何不指定玩家、实体或地点的技能

Skills:
- command{c="time set 0"}
- command{c="weather clear"}
- command{c="gamerule doMobSpawning false"}

由于Bukkit/Spigot端的服务器有自己版本的如/time或/weather的命令,若我们使用上面例子的/time命令就会是使用Bukkit下的/time命令。因此可能会给你造成想使用原版的命令却使用了不一样的命令的麻烦
除了准备工作下的方法外,若想使用原版命令比较建议设置成如下

Skills:
- command{c="minecraft:time set 0"}
- command{c="mincraft:weather clear"}
- command{c="minecraft:tp player1 player2"}
- 等...



从X执行命令
某些命令必须依靠实体的位置来执行。例如,我们希望一个生物在生成的时候把自己捆在一个羊毛制成的空间里。但是使用以下命令是不会管用的

Skills:
- command{c="minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"}

原因是这个命令将会发送到控制台下执行,导致相对坐标不能被确定 但如果我们套上execute命令

Skills:
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"}

应该就能实现了。<mob.uuid>为"施放此技能的生物的UUID"的变量,通过这种办法,命令就不会在控制台下执行,取而代之会在此生物下执行
又或者如下这个方法,<target.uuid>为技能目标对象的UUID,例子下的目标为@self,也就是以自己为技能目标使用fill命令

Skills:
- command{c="minecraft:execute **<target.uuid>**  ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"} **@self**



Skills:
- command{c="minecraft:execute **<target.uuid>**  ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"} **@MobsInRadius{r=10;t=BAT}**

上面的技能为放置羊毛方块于命令激活者半径10格范围下的所有蝙蝠

更多的示例供参考,虽然下面的技能都比较随意,不过也不妨能给予你们些很好的点子吧~

  - command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard objectives add mrjlmmw1b dummy mrjlmmw1b"}
  - command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9] mrjlmmw1b 0"}
  - command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9] mrjlmmw1b 1 <&lc>Inventory:[<&lc>id:minecraft:paper,tag:<&lc>display:<&lc>Lore:[0:,1:&7Can be used once for any,2:&7monorail on Jaygrounds.,3:&8Absolutely no refunds.,4:],Name:&fMonorail Ticket&r<&rc><&rc>,Damage:0s<&rc>]<&rc>"}
  - command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9,score_donators_min=1] mrjlmmw1b 2"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:tp @a[team=!pve_ruins_1,r=50] 366.5 71 487.5 0 0"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams join pve_ruins_1 @a[r=50]"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard objectives remove pve_ruins_cur"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams remove pve_ruins_2"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams remove pve_ruins_3"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:fill 368 71 494 364 72 494 minecraft:acacia_fence 0 replace minecraft:air"}
  - command{c="minecraft:execute <target.uuid> ~ ~ ~ mm m s pve_ruins_sign_arena_ready 1 world,366.5,71,493.5"}

正确的格式

Skills:
- command{c="give <target.name> gold_bar 20"} @trigger ~onInteract
- command{c="minecraft:tp <target.name> <mob.uuid>"} @self ~onDamaged
- command{c="minecraft:summon Zombie ~ ~ ~ <&lc>NoAI:true,CustomName:<&dq>Summoned Zombie<&dq><&rc>"}
- command{c="minecraft:summon Zombie ~ ~ ~ {NoAI:true,CustomName:<&dq>Summoned Zombie<&dq>}"}

不正确的格式,因为没有使用代码代替命令下的双引号"

Skills:
- command{c="minecraft:summon Zombie ~ ~ ~ {NoAI:true,CustomName:"Summoned Zombie"}"}
consume—吸血:成功造成伤害后恢复自身血量
标签(缩写) 描述 默认设置
damage(d.dmg) 造成的伤害量
heal(h) 每次造成伤害的恢复量
preventknockback(pkb,pk) 是否不造成击退 false
preventimmunity(pi) 是否无视伤害硬直 false
ignorearmor(i,ia) 是否无视防御 false
  • preventknockbackpreventimmunity添加于版本2.3
  Skills:
  - consume{d=1000;h=20} @MobsInRadius{type=ZOMBIE;r=20}

杀掉附近范围的所有僵尸,每一只恢复技能使用者20点血量

damage—伤害
标签(缩写) 描述 默认设置
amount(a) 造成的伤害值 1
ignoreArmor(ia) 是否无视防御 false
preventknockback(pkb,pk) 是否不造成击退 false
preventimmunity(pi) 是否无视伤害硬直 false
  • preventknockbackpreventimmunity添加于版本2.3


每1秒(20刻)给予目标对象造成20点伤害(10颗心),无视防御

Skills:
- damage{amount=20;ignoreArmor=true} @target ~onTimer:20
Doppleganger—模仿:模仿目标的外貌
  • 若目标不是玩家时无效
  • 需要LibsDisguisesProtocolLib插件

生成时伪装成最近的玩家

Ditto:
  Type: SKELETON
  Skills:
  - doppleganger @NearestPlayer ~onSpawn
explosion—爆炸:于实体目标位置爆炸
标签(缩写) 描述 默认设置
yield(y) 爆炸的威力 0.013
blockdamage(bd) 是否破坏方块 false
fire(f,ft) 爆炸是否引起火焰 false

blockdamage貌似无视WorldGuard的保护设置,是否启用后果自负

ExplosiveBlast:
  Skills:
  - explosion{yield=4} @target
Force Pull—传送:传送实体目标到技能使用者
标签(缩写) 描述 默认设置
spread(s) 被传送过来的实体离技能使用者有多扩散 0
vspread(vs) 修改纵向的扩散范围 spread
  • 参考teleport和teleportto技能

传送30格半径范围内的所有实体到技能使用者5格半径范围内的随机位置

ForceGrip:
  Skills:
  - forcepull{spread=5} @EntitiesInRadius{r=30}
<pre>
受到伤害时骑乘到目标身上
Minecraft 1.10有当生物/玩家骑乘时显示不正确的BUG
  Skills:
  - mounttarget @target ~onDamaged'
*类似功能mount技能
Glow—发光BUFF

给实体添加发光BUFF

标签(缩写) 描述 默认设置
未测试 未测试 未测试
  • 注意:此技能为4.4之后的技能,编辑者没有进行测试
heal—治愈
标签(缩写) 描述 默认设置
amount(a) 恢复的数值 1
overheal(oh) 当最大血量时是否继续恢复/上升血量 false
  Skills:
  - heal{amount=20} @self ~onDamaged 0.2
  • 每次受伤时有20%几率恢复自身20点血量(10颗心)
  Skills:
  - heal{amount=20;overheal=true} @self ~onDamaged 0.2
  • 每次受伤时有20%几率恢复自身20点血量(10颗心)
    当血量已满时,20点血量将会添加到当前的血量值之上
    20/20 + 20 = 40/20
Heal Percent—%治愈
  • 添加于2.3
标签(缩写) 描述 默认设置
multiplier(m) 恢复目标最大血量的%数值 0.1
overheal 当最大血量时是否继续恢复/上升血量 false

技能使用者每次攻击时恢复自身20%的血量

  Skills:
  - healpercent{m=0.2} @self ~onAttack
ignite—点燃:燃烧对象目标
标签(缩写) 描述 默认设置
ticks(t,d,duration) 燃烧的持续时间(刻) 60
  Skills:
  - ignite{ticks=100} @trigger ~onAttack

每次攻击时,点燃激活此技能的目标对象100刻(5秒)

jsonmessage—发送JSON信息
标签(缩写) 描述 默认设置
message(m) 发送的文本信息,填写于"之内"
  • 添加于2.3.2

发送JSON格式的文本信息。比起message技能,JSON文本还有悬浮文字显示、可点击等功能
支持颜色和代码等变量
可用bukkit的颜色代码或json的颜色代码格式
注意除了技能标签的两个""外,标签内的所有"要替换为'
若对JSON不了解,可参考这里这里

  Skills:
  - jsonmessage{m="[{'text':'&aHey, i am a JSON message!'}]"} @trigger ~onInteract
  - jsonmessage{m="[{'text':'Hey, i am a red JSON message!','color':'red'}]"} @trigger ~onInteract


悬浮文字显示的例子

  Skills:
  - jsonmessage{m="[{'text':'&7With me, you can create hover events','hoverEvent':{'action':'show_text','value':{'text':'&aI am a hover event :)'}}}]"} @trigger ~onInteract


点击事件还能用于制作能与其互动的生物。以下例子当玩家点击可点文字时发送生物一个指定的信号

  Skills:
  - jsonmessage{m="[{'text':'&7&nAlso click events! :)','clickEvent':{'action':'run_command','value':'/mm signal <mob.uuid> <signal>'}}]"} @trigger ~onInteract
leap—跳跃:跳起并着陆于目标位置
  • 通过计算弹射物的轨道,当速度足够快时使生物尽可能地着陆于目标的所在位置
标签(缩写) 描述 默认设置
velocity(v) 跳起时最大的速度 100
noise 增加着落点的位差 1

由于其技能的特殊性,一般velocity超过100时运作比较好
技能组,使生物跳起接近目标之后往下撞并进行一次爆炸

CrushingLeap:
  Cooldown: 10
  Skills:
  - leap{velocity=200} @target
  - delay 20
  - jump{velocity=-100}
  - effect:explosion @self
  - damage{amount=20} @EntitiesInRadius{r=5}
lightning—雷击

生成一个闪电实体造成伤害并点燃命中的实体或方块(若当前没有下雨并且开启了火势蔓延)

标签(缩写) 描述 默认设置
damage(d) 造成的伤害值 0.01337

每5秒(100刻)以10格半径范围内的所有实体为目标生成闪电,例子 神烦羊...

StaticSheep:
  Type: SHEEP
  Skills:
  - lightning @EntitiesInRadius{r=10} ~onTimer:100
message—发送信息

颜色代码等变量适用

标签(缩写) 描述 默认设置
message(msg,m) 发送的信息文本,填写于"内"
  Skills:
  - message{m="<mob.name>&f<&co> Hahaha! You will all die!"} @PlayersInRadius{r=30}
modifyscore—记分板分数修改
  • 添加于2.3

修改虚拟玩家名字记分板下的分数

  • 可用的修改动作有
    • SET(设置)
    • ADD(增加)
    • SUBTRACT(减少)
    • MULTIPLY()
    • DIVIDE()
    • MOD(??暂无特别说明)
标签(缩写) 描述 默认设置
objective(obj,o) 指定所要修改的记分板名字,若为未创建的记分板,将自动创建
action(a) 修改动作 ADD
value(v) 修改的数值
name,entry(n,e) 用于记录记分板的虚拟玩家名字 dummy

暂无例子...soon!
可参考modifytargetscore技能

modifytargetscore—记分板分数修改(目标)
  • 添加于2.3

修改虚拟玩家名字记分板下的分数

  • 可用的修改动作有
    • SET(设置)
    • ADD(增加)
    • SUBTRACT(减少)
    • MULTIPLY()
    • DIVIDE()
    • MOD(??暂无特别说明)
标签(缩写) 描述 默认设置
objective(obj,o) 指定所要修改的记分板名字,若为未创建的记分板,将自动创建
action(a) 修改动作 ADD
value(v) 修改的数值

通过记分板记录技能使用者被谁伤害过并且伤害过多少次

  Skills:
  - modifytargetscore
      {
      objective=damagescore;
      action=add;
      value=1
      } @trigger ~onDamaged
mounttarget—目标骑乘

骑乘于目标对象头上

受到伤害时骑乘到目标身上
Minecraft 1.10有当生物/玩家骑乘时显示不正确的BUG
  Skills:
  - mounttarget @target ~onDamaged'
*类似功能mount技能
Percent Damage—最大生命百分比伤害

对目标造成目标最大生命值的百分比数值的伤害

标签(缩写) 描述 默认设置
percentage(p) 对目标造成目标最大生命值的百分比数值的伤害
测试:
  Skills:
  - Percent Damage{p=0.1} @target
对目标造成目标最大生命值的10%伤害
potion—药水

给予目标实体药水效果
隐形药水效果为目前唯一一种能使生物(盔甲架除外)隐身的办法

标签(缩写) 描述 默认设置
type(t) 药水的种类
duration(d) 时长(刻) 100
level(l) 药水等级,最低的等级可为0 1
force 是否覆盖当前药水效果(4.0+) false

10秒(200刻)内明显减慢目标的移动速度并给予目标10点伤害(5颗心)

Cripple:
  Skills:
  - potion{type=SLOW;duration=200;level=4}
  - damage{amount=10}
prison—监禁:暂时性生成方块包围目标
标签(缩写) 描述 默认设置
material(m) 生成方块的类型,物品名字列表 ICE
duration(d) 持续时间(刻) 100
breakable(b) 生成的方块是否能被破坏 false

围绕目标生成200刻(10秒)铁方块,方块可挖

IronPrison:
  Skills:
  - prison{material=IRON_BLOCK;duration=200;breakable=true} @target
pull—磁吸:强制移动目标到使用者位置
标签(缩写) 描述 默认设置
velocity(v) 拉力的初始速度 1
toOrigin(to) 是否移动到技能使用时的坐标位置 false

吸引的速度会根据使用者和目标的距离增加而加快。定义的velocity为初始速度,技能会根据此初始速度和距离计算加速速度

DeathGrip:
  Skills:
  - pull{velocity=10} @target
  - pull{v=6;to=true} @PIR{r=10}
rally—团结:让附近生物攻击目标
标签(缩写) 描述 默认设置
types(type,t) 将会受到影响的实体种类,可以是MM生物
radius(r) 将会受到影响的方块半径范围 10
vradius(vr) 覆盖纵向半径范围的设置 radius
hradius(hr) 覆盖横向半径范围的设置 radius
overwritetarget(ot) 是否影响已有目标的生物 true

技能组,发送求救信号,然后
使30格半径范围内当前没有目标、种类为Guard或Knight的生物攻击rally技能选取的目标

CallForHelp:
  Skills:
  - message{m="<mob.name><&co> Guards! Help me!"} @PlayersInRadius{r=30}
  - rally{types=Guard,Knight;radius=30;ot=false} @target
randommessage—随机信息

随机发送玩家一个设定好的信息,若目标对象不为玩家、或信息内有#符号的话技能使用失败

标签(缩写) 描述 默认设置
messages(m) 信息列表,每个信息填写于"内",使用逗号,分隔每个信息
  Skills:
  - randommessage
      {
      m=
      "message 1",
      "message 2",
      "message 3";
      } @PIR{r=20} ~onInteract
Skills:
- randommessage{m="one test","not a test","test";} @PIR{r=20} ~onInteract
remove—消失:移除指定实体,不适用于玩家

生物生成10秒(200刻)后消失

  Skills:
  - remove{delay=200} @self ~onSpawn

生物使用右键(普通攻击)时立刻消失

  Skills:
  - remove @self ~onInteract
removetag—移除目标记分板标签
标签(缩写) 描述 默认设置
tag(t) 标签的名字 default
  • 和hastag条件配合使用
    等同于原版命令/scoreboard players tag <player name> remove [Tag Name]
setgliding—滑翔
  • 使装备了鞘翅的玩家/实体开始/停止滑翔。
    目标必须在空中
标签(缩写) 描述 默认设置
gliding(g) 是否强制实体进行滑翔 true

1.10生物的滑翔动态有BUG。于1.11正常显示
使装备了鞘翅并在空中使用此技能者滑翔

MakeMobGlide:
  Skills:
  - setgliding{g=true;} @self
setowner—认主

MM 4.0.0版本加入
设置MM生物的持有者(owner)。配合@Owner目标选择器和Owner条件使用
和狼或豹猫的owner标签是两回事

PetWolf:
  Mobtype: wolf
  Display: 'Pet'
  Health: 20
  Damage: 18
  Skills:
  - skill{s=SetOwner} @trigger ~onInteract
  - skill{s=HealOwner} @PIR{R=10} ~onTimer:50

~onInteract时认主

SetOwner
  Skills:
  - setowner @trigger

恢复主人血量的技能

HealOwner:
  TargetConditions:
  - owner true
 Skills:
  - heal{a=10}
sendtitle—使用/title指令

发送目标标题和/或附标题,目标不是玩家时无效

标签(缩写) 描述 默认设置
title(t) 发送的标题信息,填写于"之间"
subtitle(st) 发送的附标题信息,填写于"之间"
duration(d) 显示时长(刻) 1
fadeIn(fi) 渐入效果时长(刻) 1
fadeOut(fo) 渐出效果时长(刻) 1
  Skills:
  - sendtitle{title="Beware!";subtitle="A dangerous spell is being cast!";d=20} @PlayersInRadius{r=10}
setscore—记分板分数设立
  • 添加于2.3

设立虚拟玩家名字记分板下的分数

标签(缩写) 描述 默认设置
objective(obj,o) 指定所要修改的记分板名字,若为未创建的记分板,将自动创建
value(v) 修改的数值
name,entry(n,e) 用于记录记分板的虚拟玩家名字 dummy

暂无例子...soon!
可参考modifyscore技能

settargetscore—目标记分板分数设立
  • 添加于2.3

设立玩家名字记分板下的分数
可参考modifytargetscore技能

标签(缩写) 描述 默认设置
objective(obj,o) 指定所要修改的记分板名字,若为未创建的记分板,将自动创建
value(v) 修改的数值

记录是否受到过伤害

  Skills:
  - settargetscore
      {
      objective=damagescore;
      value=1
      } @trigger ~onDamaged
setstance—设立姿势
标签(缩写) 描述 默认设置
stance(s) 姿势的名字 default

配合stance条件,用于作出当生物于不同的姿势状态时拥有不同的定义能力
若姿势设定为angry fiery explosive,而stance条件要求为stance firey,条件成立
修改使用者的姿势为bowphase

StanceChangeSkill
  Skills:
  - setstance{stance=bowphase} @self

当姿势为bowphase时才能使用xx技能

AnotherSkill:
  Conditions:
  - stance bowphase
 Skills:
  - ...我是技能
shootfireball—火球喷射
标签(缩写) 描述 默认设置
yield(y) 火球爆炸的威力 1
velocity(v) 初始速度 1
incendiary(i) 火球是否形成火 false
fireTicks(ft) 形成的火持续多久 0
smallfireball(small,sml) 是否弃用恶魂的火球,改用烈焰人的小火球 false
playsound(ps) 是否播放爆破时的音效 false

技能组,火球3连发

FireballBarrage:
  Skills:
  - shootfireball{y=1;v=4} @target
  - delay 10
  - shootfireball{y=1;v=4} @target
  - delay 10
  - shootfireball{y=1;v=4} @target
shootpotion—投掷药水
标签(缩写) 描述 默认设置
type(t) 药水的种类
duration(d) 时长(刻) 100
level(l) 药水等级 1
velocity(v) 初始速度 1
ThrownCripplingPotion:
  Skills:
  - shootpotion{type=SLOW;duration=200;level=4;velocity=5} @target
shootskull—骷髅弹
标签(缩写) 描述 默认设置
yield(y) 骷髅弹的爆炸威力 1
playsound(ps) 是否播放爆破时的音效 false

技能组,骷髅弹3连发

SkullBarrage:
  Skills:
  - shootskull{y=1;v=4} @target
  - delay 10
  - shootskull{y=1;v=4} @target
  - delay 10
  - shootskull{y=1;v=4} @target
signal—信号

于2.2.1添加
给生物发送用于配合~onSignal触发条件或lastsignal条件的信号

标签(缩写) 描述 默认设置
signal(s) 信号的名字 ping

以下示例,Master受伤后发送ATTACK信号给Minion
Minion在收到ATTACK信号后使用技能组ShootAttacker 生物配置文件:

Master:
  Type: zombie
  Skills:
  - summon{m=Minion} @self ~onSpawn
  - signal{s=ATTACK} @MobsInRadius{r=10;t=Minion} ~onDamaged
Minion:
  Type: baby_zombie
  Skills:
  - skill{s=ShootAttacker} @NearestPlayer ~onSignal:ATTACK

技能配置文件:

ShootAttacker:
  Skills:
  - shoot{t=arrow}
spring—喷泉:于目标位置生成临时液体方块
标签(缩写) 描述 默认设置
type(t) 液体的种类,water(水)或lava(岩浆) water
duration(d) 时长(刻) 40

注意:生成的液体会如往常一样冲走某些方块(铁轨,红石线,甘蔗...),谨慎使用

在目标脚下生成持续5秒的喷泉

Flood:
  Skills:
  - spring{d=100} @target
summon—召唤
标签(缩写) 描述 默认设置
type(t) 生物的种类,可以是MM配置名或一般生物名 SKELETON
amount(a) 召唤的数量 1
radius(r) 离召唤者的半径方块范围(召唤的范围) 0
yRadius(yr) 覆盖y轴的半径 radius
yRadiusUpOnly(yu) 召唤的范围是否仅限于y轴 false
onSurface(os) 是否规定仅召唤在实体方块上 true
copyThreatTable(ctt) 召唤的生物是否复制召唤者的威胁表 false
inheritThreatTable(itt) 召唤的生物是否共享召唤者的威胁表

在玩家附近召唤5个凋灵骷髅

RaiseSkeletons:
  Skills:
  - summon{type=WITHER_SKELETON;amount=5;radius=4} @PIR{r=20}
teleport—传送:使用者→目标
标签(缩写) 描述 默认设置
spreadh(sh) 横向扩散程度 0
spreadv(sv) 纵向扩散程度 0

传送技能使用者到目标5码(yards)横向范围内,相同水平高度的位置

Warp:
  Skills:
  - teleport{spreadh=5;spreadv=0} @target
teleportto—传送:目标→坐标
标签(缩写) 描述 默认设置
location,coordinates(loc,l,c) 传送到的坐标
world(w) 传送到的世界
yaw(y) The yaw that the affected entities should assume 0
pitch(p) The pitch that the affected entities should assume 0
  • yawpitch于2.3添加


传送使用者50半径方块范围内所有玩家到190,64,200坐标

Skills:
- teleportto{location=190,64,200} @PIR{r=50}
threat—威胁度:目标的威胁等级修改
标签(缩写) 描述 默认设置
amount(a) 威胁度,可以是负数 1

使最近的玩家威胁度很高(10000)

Fixate:
  Skills:
  - threat{amount=10000} @NearestPlayer ~onSpawn
throw—投掷:抛开目标
标签(缩写) 描述 默认设置
velocity(v) 抛投的横向初始速度 1
velocityY(vy) 抛投的纵向初始速度 1
GroundSlam:
  Skills:
  - effect:explosion @Self
  - damage{amount=10} @PlayersInRadius{r=5}
  - throw{velocity=15;velocityY=5} @PlayersInRadius{r=5}
velocity—速度

修改目标的初始速度,可用于修改如模拟击退、风吹、或配合特定技能使用

标签(缩写) 描述 默认设置
mode(m) 修改的模式。SET设置,ADD添加,MULTIPLY乘于 SET
velocityx(vx,x) x轴的初始速度,可以为负数 1
velocityy(vy,y) y轴的初始速度,可以为负数 1
velocityz(vz,z) z轴的初始速度,可以为负数 1

让使用者受伤后停止移动直到其再次进行移动或受到其他因素移动为止

internal_mobname:
  Type: Zombie
  Skills:
  - velocity{m=set;x=0;y=0;z=0} @self ~onDamaged

</spoiler>

无目标类技能

  • 以下技能不选取目标,所以无需指定技能的使用目标
    始终以使用者为对象

<spoiler>

disguise—伪装

需要LibsDisguises和ProtocolLib插件

标签(缩写) 描述 默认设置
disguise(d) 伪装的生物

伪装成羊

  Skills:
  - disguise{d=SHEEP}

伪装成正版皮肤为Notch,并显示名字为Jeb的玩家
颜色代码适用

dismount—下马:取消骑乘状态
  Skills:
  - dismount ~onDamaged
ejectpassenger—拒载:取消被骑乘状态
  Skills:
  - ejectpassenger ~onDamaged
equip—装备

参考MythicMobs装备

标签(缩写) 描述 默认设置
item(i) 配置语法

主手装备钻石剑

EquipDiamondSword:
  Skills:
  - equip{item=diamond_sword:0}

头部装备配置名为KingsCrown的MM定义装备

EquipCrown:
  Skills:
  - equip{item=KingsCrown:4}
gcd—整体冷却时间

GCD,Global Cooldown。用于设置生物的整体冷却时间,配合offgcd条件使用

标签(缩写) 描述 默认设置
ticks(t) 时长(刻) 20

设置冷却时间40刻,并且在此期间自己的其他拥有offgcd条件的技能不可用

  IceBolt:
    Conditions:
    - offgcd
    - targetinlineofsight
    Skills:
    - gcd{ticks=40}
jump—跳跃

0.75的初始速度大约能跳1格高

标签(缩写) 描述 默认设置
velocity(v) 往上的初始速度 1
SuperJump:
  Skills:
  - jump{velocity=20}
modifyglobalscore—修改全局分数

添加于2.3
修改虚拟玩家_GLOBAL_的记分板分数
修改虚拟玩家名字记分板下的分数

  • 可用的修改动作有
    • SET(设置)
    • ADD(增加)
    • SUBTRACT(减少)
    • MULTIPLY()
    • DIVIDE()
    • MOD(??暂无特别说明)
标签(缩写) 描述 默认设置
objective(obj,o) 指定的记分板名字,若不存在将自动创建
action(a) 修改动作 ADD
value(v) 修改的数值
- modifyglobalscore
    {
    objective=someobjective;
    action=multiply;
    v=2
    } ~onAttack
modifymobscore—修改生物分数

添加于2.3
修改使用者(生物)的记分板分数
修改虚拟玩家名字记分板下的分数

  • 可用的修改动作有
    • SET(设置)
    • ADD(增加)
    • SUBTRACT(减少)
    • MULTIPLY()
    • DIVIDE()
    • MOD(??暂无特别说明)
标签(缩写) 描述 默认设置
objective(obj,o) 指定的记分板名字,若不存在将自动创建
action(a) 修改动作 ADD
value(v) 修改的数值

给使用者(生物)生成并记录杀除玩家数量的记分板

Skills:
- modifymobscore{objective=playerkills;action=add;value=1} ~onKillPlayer 
mount—骑乘:生成指定MM生物并骑上
标签(缩写) 描述 默认设置
type(t) MM生物配置名

生成MM配置下名为UndeadMound的生物并骑上去

  CallSkeletalHorse:
    Skills:
    - mount{type=UndeadMount}
remount—再骑乘

使生物再次骑乘之前生成的坐骑(若骑乘没被清除或死亡)
在骑乘状态下的Rider,受到伤害时下马
右键时骑回自己的坐骑TestHorse

Rider:
  Mobtype: skeleton
  Display: 'Rider'
  Health: 12
  Riding: TestHorse
  Skills:
  - dismount ~onDamaged
  - remount ~onInteract
TestHorse:
  Mobtype: horse
  Display: 'Test Horse'
  Health: 20
setglobalscore—设置全局分数

添加于2.3
设置虚拟玩家_GLOBAL_的记分板分数

标签(缩写) 描述 默认设置
objective(obj,o) 指定的记分板名字,若不存在将自动创建
value(v) 修改的数值
- setglobalscore
    {
    objective=someobjective;
    v=2
    } ~onAttack
setmobscore—设置生物分数

添加于2.3
设置使用者(生物)的记分板分数

标签(缩写) 描述 默认设置
objective(obj,o) 指定的记分板名字,若不存在将自动创建
value(v) 修改的数值

soon!

setlevel—修改等级

介绍于2.2.1
改变使用者(生物)的等级,配合等级制度使用

  • 可用的修改动作有
    • SET(设置)
    • ADD(增加)
    • SUBTRACT(减少)
    • MULTIPLY()
    • DIVIDE()
标签(缩写) 描述 默认设置
action(a) 修改动作 SET
level(l) 修改的等级 1

此生物生成时设置等级为3

- setlevel{a=set;l=3} ~onSpawn

此生物每次成功击杀玩家时提升一级

- setlevel{a=add;l=1} ~onKillPlayer
suicide—自杀

受到伤害时10%几率自杀

  Skills:
  - suicide ~onDamaged 0.1
weather—天气:改变当前世界天气
标签(缩写) 描述 默认设置
type(t) 天气的种类,sunny,rainy,stormy sunny
duration 天气维持的时长(刻) 500

Sunny:晴天,天气状态清空
Rainy:下雨
Stormy:暴雨,打雷
生物生成时跟随发生持续10分钟的暴雨

  Skills:
  - weather{type=storm;duration=6000} ~onSpawn

</spoiler>

特殊类技能

  • 多数技能用于配合其他技能使用,被这些技能所配合使用的技能将共用目标对象
  • 当你使用Artifacts将技能写进弓时,无论你如何设置技能目标.都会以玩家为目标,所以你不得不使用一个载体

似乎只有弓会这样 <spoiler>

cancelevent—取消事件

Cancel the Event that triggered the skill. This mechanic has several important requirements in order to execute properly:

  • The mechanic (or the first skill that leads to it) must be run with sync=true in the mob's skill list. Example: - skill{s=CancelEventSkill;sync=true} ~onDamaged
  • No delays allowed.
  • It only works with specific triggers that make sense.


Possible Triggers

  • ~onAttack
  • ~onDamaged
  • ~onExplode
  • ~onInteract
  • ~onCombat
  • ~onTeleport


Example

  • Skill.yml:
CancelDamageEvent:
  Skills:
  - CancelEvent
  • Mob.yml:
NoDamageMob:
  Type: villager
  Skills:
  - skill{s=CancelDamageEvent;sync=true} ~onDamaged
delay—延时

延迟当前技能表(刻)
也能直接填写于技能之内,见下例

  Skills:
  - ignite{ticks=60}
  - delay 60
  - explode
  Skills:
  - ignite{ticks=60;delay=80}
  - explode{delay=80}
  Skills:
  - skill{skill=exampleskill;delay=200}
missile—导弹

添加于2.2
类似于projectile技能,但导弹不能像projectile那样设置成METEOR类,且不能接触地表。不过可以通过修改inertia标签,并添加onStart技能来指定导弹是否只攻击目标

标签(缩写) 描述 默认设置
Inertia(in) 设置导弹的转弯速度。数值越小转弯速度越快,同理设置较大数值(10-100)使导弹转弯时速度减慢 1.5
onTick(oT) 每x刻于发射原点执行某个技能
onHit(oH) 当击中东西时执行某个技能
onEnd(oE) 导弹发射结束时执行某个技能
onStart(oS) 导弹发射开始时执行某个技能
Interval(i,int) 导弹刷新的频率(刻) 4
HorizontalRadius(hRadius,hR,h) 横向攻击范围 1.25
VerticalRadius(vRadius,vR) 纵向攻击范围 Horizontal Radius
MaxDuration(md) 导弹最大存留时间(刻) 100
MaxRange(mr) 导弹最大移动方块距离 40
Velocity(v) 导弹的初始速度 5
StartYOffset(syo) 起始发射点Y轴偏移
用于保证不会生成的导弹攻击到技能使用者
+1
StartFOffset(sfo) 起始发射点X轴偏移
用于保证不会生成的导弹攻击到技能使用者
+1
TargetYOffset(tyo) 目标命中偏移度 +1
HitPlayers(hp) 是否攻击玩家??? true
HitNonPlayers(hnp) 是否攻击非玩家??? false
HitTarget(ht) 是否攻击目标??? true
HitTargetOnly 是否只攻击目标??? false
StopAtEntity(sE) 导弹是否碰到实体时停止 true
StopAtBlock(sE) 导弹是否碰到实体方块时停止 true
HugSurface(hs) 是否沿着地面继续移动 false
PowerAffectsRange(par) 技能使用者(生物)的(power level)等级是否影响导弹的范围 true
PowerAffectsVelocity(pav) 技能使用者(生物)的(power level)等级是否影响导弹的初始速度 true
fromOrigin(fo) 导弹是否从原点发射 false
  • fromOrigin添加于2.3


发射一个带有火焰粒子轨迹并拥有高转弯速度的导弹,并且当其击中目标时引发一次爆炸

  • 生物配置下填写的技能
Mob:
  Type: ZOMBIE
  Skills:
  - skill{s=Homer} @target ~onTimer:100
  • 技能配置下填写的3个技能组
Homer:
  Skills:
  - missile{ot=Homer_TICK;oh=Homer_HIT;v=4;i=1;hR=1;vR=1;in=0.75}

Homer_TICK:
  Skills:
  - effect:particles{p=flame;a=1} @origin

Homer_HIT:
  Skills:
  - effect:particles{p=lava;a=50;hS=1;vS=1}
  - effect:sound{s=entity.generic.explode;v=1;p=0}
  - damage{a=1337;i=false}
orbital—轨迹:在目标周围生成弹射轨迹

The Orbital skill fires a special type of projectile that will orbit around the target and can also act as an Aura.
Like the projectile, it will trigger other skills on anyone that is hit by it during its orbit.
Much like projectile, it's great for creating complex skills, such as a fire shield, and is a very complex skill to master.

Attributes

Attribute Aliases Description Default Value
onStart oS Meta-Skill executed when the orbital first starts.
onTick oT Meta-Skill executed every [interval] ticks at the orbital's origin location.
onHit oH Meta-Skill executed when the projectile hits something.

Targets hit are inherited by the meta-skill.

onEnd oE Meta-Skill executed when the projectile ends.
Charges c If set, the orbital will stop after firing this many times. 0
Duration d The max duration (in ticks) the orbital will persist. 100
Interval i How often (in ticks) the orbital updates its position 4
Radius r The radius of the orbit around the target. 4
HitRadius hr The radius around the orbital that something will be hit. 1
VerticalHitRadius vhr, vr The radius around the orbital that something will be hit. 1
Points p How many “points” that comprise the circle that makes up the orbit.

More points will make the circle more defined.
But will also increase the time it takes to complete an orbit.

32
XRotation rotx, rx Rotates the orbital along the X axis. 0
YRotation roty, ry Rotates the orbital along the Y axis. 0
ZRotation rotz, rz Rotates the orbital along the Z axis. 0
XOffset ox Offsets the orbital along the X axis of the target. 0
YOffset oy Offsets the orbital along the X axis of the target. 0
ZOffset oz Offsets the orbital along the X axis of the target. 0
AngularVelocityX avx, vx Modifies the angular velocity of the orbital on the X axis. 0
AngularVelocityY avy, vy Modifies the angular velocity of the orbital on the Y axis. 0
AngularVelocityZ avz, vz Modifies the angular velocity of the orbital on the Z axis. 0
HitPlayers hp true
HitNonPlayers hnp false
HitSelf hs false
CancelOnGiveDamage cogd false
CancelOnTakeDamage cotd false
CancelOnDeath cod true
CancelOnTeleport cot false
CancelOnChangeWorld cocw false
CancelOnSkillUse cosu false
CancelOnQuit coq true


Special Notes
For the onStart Skill:
onStart skills work in a special way - any buff or “special effect” mechanics fired by onStart that have a duration (such as ParticleTornado) will attach to the projectile for their duration, which allows for some interesting effects.

For the onTick Skill:
using the @origin targeter will cause any skills or effects to target the projectile's location.
This is the intended way to configure how the projectile looks.

For the onHit Skill:
Any targets the projectile hits are passed to the skill inherently.
Any targeters you put in the onHit skill will override these and cause your skill to likely not work as you intend.

For the onEnd Skill:
Special effects for the projectile's end also use @origin.
Also, If you want entities near the end-point of the projectile to be hit in a certain way (such as a final large fireball explosion) you can use the @PlayersNearOrigin{r=[radius]} targeter.

Examples
This example puts an icy-looking orbital shield around the mob when it is hit sometimes, that will last for 10 seconds or until it is triggered once:

  • Mob File
  Mob:
    Type: SKELETON
    Skills:
    - skill{s=IceShield} @self ~onDamaged 0.2
  • Skills File
  IceShield:
    Skills:
    - orbital{onTick=IceShield-Tick;onHit=IceShield-Hit;points=20;interval=1;duration=200;charges=1}
  IceShield-Tick:
    Skills:
    - effect:particles{p=snowballpoof;amount=20;speed=0;hS=0.2;vS=0.2} @origin
  IceShield-Hit:
    Skills:
    - damage{a=10}
    - potion{type=SLOW;duration=100;lvl=2}
projectile—发射

可配合particle和sound特效类技能组成复杂而华丽的技能

标签(缩写) 描述 默认设置
onTick(oT) 每x刻于发射原点执行某个技能
onHit(oH) 当击中东西时执行某个技能
onEnd(oE) 弹射物发射结束时执行某个技能
Type(t) NORMAL为基本型,于使用者坐标发射
METEOR则从天而降并落于目标
NORMAL
Interval(i) 弹射物刷新的频率(刻) 4
HorizontalRadius(hRadius,hR,h) 横向攻击范围 1.25
VerticalRadius(vRadius,vR) 纵向攻击范围 Horizontal Radius
Duration(md) 弹射物最大存留时间(刻) 100
MaxRange(mr) 弹射物最大移动方块距离 40
Velocity(v) 弹射物的初始速度 5
StartYOffset(syo) 起始发射点Y轴偏移
用于保证不会生成的弹射物攻击到技能使用者
+1
StartFOffset(sfo) 起始发射点X轴偏移
用于保证不会生成的弹射物攻击到技能使用者
+1
TargetYOffset(tyo) 目标命中偏移度 +1
HorizontalOffset(hO) 将对弹射物的初始速度进行横向360度的偏移 0
VerticalOffset(vO) 将对弹射物的初始速度进行纵向360度的偏移 0
HitPlayers(hp) 是否攻击玩家??? true
HitNonPlayers(hnp) 是否攻击非玩家??? false
StopAtEntity(sE) 弹射物是否碰到实体时停止 true
StopAtBlock(sE) 弹射物是否碰到实体方块时停止 true
HugSurface(hs) 是否沿着地面继续移动 false
HeightFromSurface(hfs) NORMAL类:当HugSurface为TRUE时,弹射物所允许距离地表的高度
METEOR类:起始降落高度
0.5
PowerAffectsRange(par) 技能使用者(生物)的(power level)等级是否影响弹射物的范围 true
PowerAffectsVelocity(pav) 技能使用者(生物)的(power level)等级是否影响弹射物的初始速度 true
gravity(g) 弹射物所承受的重力,填写0.1~0.2以减少重力 0

●onTick技能:使用@origin目标选择器会使任何技能或效果以弹射物的当前坐标执行,可用于修饰弹射物的外貌
●onHit技能:任何被弹射物击中的目标会被定义为"即将执行的技能"的目标
●onEnd技能:使用@origin目标选择器为弹射物添加结束时的特效。并且,若想使弹射物结束时能给予附近玩家造成爆炸,那个爆炸技能可以使用@PlayersNearOrigin{r=radius}目标选择器

发射快速移动冰球并减慢击中对象的速度

  • 生物配置
  Mob:
    Type: SKELETON
    Skills:
    - skill{s=IceBolt} @target ~onTimer:100
  • 技能组配置
  IceBolt:
    Skills:
    - projectile{onTick=IceBolt-Tick;onHit=IceBolt-Hit;v=8;i=1;hR=1;vR=1}
  IceBolt-Tick:
    Skills:
    - effect:particles{p=snowballpoof;amount=20;speed=0;hS=0.2;vS=0.2} @origin
  IceBolt-Hit:
    Skills:
    - damage{a=10}
    - potion{type=SLOW;duration=100;lvl=2}
shoot—发射:向目标发射自定义物品

向目标发射箭或其他投射物并造成伤害
于2.4有所改动

标签(缩写) 描述 默认设置
type(t) 发射物的显示种类,arrow(箭),snowball(雪球),egg(蛋),enderpearl末影珍珠,potion(药水) arrow
damage(d) 所能造成的伤害 5
velocity(v) 初始速度 1
maxDistance(md) 最大移动距离 64
vspread(vs) 纵向命中范围 0
hspread(hs) 横向命中范围 0
poweraffectsvelocity(pav) 初始速度是否受生物的power level影响 true
interval(int,i) 每秒发射物造成tick-event的次数 4
ontickskill(ontick,ot) 每次tick-event时执行的命令
onhitskill(onhit,oh) 击中目标时执行的命令
onendskill(onend,oe) 发射物结束时执行的命令

vspread,hspread,poweraffectsvelocity,interval,ontick,onhit,onend添加于2.4
技能组

ArrowBarrage:
  Skills:
  - shoot{type=ARROW;velocity=5;damage=10}
  - delay 10
  - shoot{type=ARROW;velocity=5;damage=10}
  - delay 10
  - shoot{type=ARROW;velocity=5;damage=10}
  - delay 10
  - shoot{type=ARROW;velocity=5;damage=10}
  - delay 10
  - shoot{type=ARROW;velocity=5;damage=10}
skill—技能:执行一个指定技能

执行一个/MythicMobs/Skills配置下的制定技能
在没有特指目标的情况下,所执行的技能将继承任何目标
写法

Skills:
- skill{skill=所执行的技能名字}
- skill{s=所执行的技能名字}

自2.2.0版本之后,默认执行技能设置为异步进行。若当前版本有问题而之前版本没问题的技能,尝试添加sync=true以强制技能同步执行。sync同样建议用于技能组下间隔较短的技能之下
设置sync=true之后,所执行技能将同样继承sync=true且不能被取消

标签(缩写) 描述 默认设置
forcesync(sync) 是否强制技能同步执行 false
  • forcesync添加于2.2

冷却
配置下的技能组可设置冷却时间(秒)。自2.2版本起,冷却时间的取值可以包括小数点。下面一个添加技能组冷却时间的格式

internal_skillname:
  Cooldown: <seconds>
  Conditions:
  - condition
  - ...
  Skills:
  - mechanic{}
  - ...

注意,冷却时间只能设置于/MythicMobs/Skills技能配置文本下
不可直接设置于生物配置内的技能之下

Skills:
- skill{s=AnotherSkill;sync=true}
- skill{s=ice_bolt;sync=true}
- skill{sync=true;s=flamethrower}
- skill
    {
    skill=leafs;
    sync=true
    }
sudoskill—技能:使目标执行一个指定技能

The SudoSkill mechanic allows you to force the targeted entity to “cast” a MythicMobs meta skill.
No mechanics can be used straight, they have to be in a skill yaml.
This skill will inherit the previous targets in the stack from a previous parent skill, and is even able to force players to use MythicMobs skills:

- SudoSkill{s=SkillName;setcasterastrigger=true/false(default)}

If setcasterastrigger is true, the trigger of the skill will be set to the caster of the sudoskill.
Else the trigger is the caster of the skill.

Example
Skill.yml:

*sudo:
  Skills:
  - arrowvolley{a=20;s=25;v=10;f=50;rd=200} @EIR{r=30}
  - message{msg="Triggername: <trigger.name>"} @world
  • Mob.yml:
SudoMonkey:
  Type: villager
  Display: 'a Villager'
  Skills:
  - sudoskill{s=sudo;cat=true} @trigger ~onDamaged
randomskill—随机技能

执行指定技能中的随机一个skill技能
选取时将会自动无视处于冷却时间的技能
没有技能数量限制

Skills:
- randomskill{skills=skill1,skill2,skill3}

另一个方便查看的写法

Skills:
- randomskill
    {
    skills=
    superskill,
    green_skill,
    skill3,
    grandSkill,
    7331
    }
totem—图腾

添加于2.2
在使用者位置生成一个隐形图腾。图腾会向特定目标发射简易的弹射物
然而也可以考虑使用projectile技能或missile技能

标签(缩写) 描述 默认设置
Charges(ch,c) 发射的频率 0
onTick(oT) 每x刻于发射原点执行某个技能
onHit(oH) 当击中东西时执行某个技能
onEnd(oE) 弹射物发射结束时执行某个技能
onStart(oS) 导弹发射开始时执行某个技能
Interval(i,int) 弹射物刷新的频率(刻) 4
HorizontalRadius(hRadius,hR) 横向攻击范围 1.25
VerticalRadius(vRadius,vR) 纵向攻击范围 Horizontal Radius
Duration(md) 弹射物最大存留时间(刻) 200
YOffset(yo) 起始发射点Y轴偏移 +1
HitPlayers(hp) 是否攻击玩家??? false
HitNonPlayers(hnp) 是否攻击非玩家??? false
HitTarget(ht) 是否攻击目标??? true
HitTargetOnly 是否只攻击目标??? false

Coming soon...

</spoiler>

坐标类技能

  • 此类技能的位置从@Location目标选择器或其他原因选取

<spoiler>

activatespawner—激活刷怪点
标签(缩写) 描述 默认设置
spawners(spawner,s) 刷怪点的名字,或其他

最好配合"刷怪点的useTimer设置为false"使用
激活名为BossAdd的刷怪点

Skills:
- activatespawner{spawner=BossAdd}

激活所有于Castle组下的刷怪点

Skills:
- activatespawner{spawner=g:Castle}

生成名字带有DungeonBoss1Spawner的刷怪点(比如DungeonBoss1Spawner1, DungeonBoss1Spawner2)

Skills:
- activatespawner{spawner=DungeonBoss1Spawner*}
pushbutton—按钮:按下坐标位置的按钮
标签(缩写) 描述 默认设置
x x轴坐标 0
y y轴坐标 0
z z轴坐标 0
HitSecretButton:
  Skills:
  - pushbutton{x=15;y=67;z=-213}
togglelever—拉杆:激活坐标位置的拉杆
标签(缩写) 描述 默认设置
duration(d) 拉杆持续激活的时间(刻) 20
x x轴坐标 0
y y轴坐标 0
z z轴坐标 0
OpenSecretDoor:
  Skills:
  - togglelever{duration=600;x=15;y=67;z=-213}

</spoiler>

通用标签

一列适用于所有技能的标签

标签(缩写) 描述 默认设置
cooldown(cd) 技能冷却时间 0
delay 延迟所执行的技能时间(刻) 0
repeat 技能重复的次数 0
repeatInterval 每过多少刻才能重复技能 0

通用标签的具体用法

Cooldown(cd)-冷却
  • 冷却的计时单位是秒,且数值前方必须有空格!,冷却可以是小数
  • ≤0可能会没用?
这是一个例子
测试:
  Cooldown: 0
  Skills:
  - 技能
Delay(不可缩写)-延迟
  • 延迟的计时单位是刻(tick),且数值前方必须有空格!
  • 一般来讲刻不会是小数.
  • 换算:1h=72000tick;1min=1200tick;1s=20tick
  • 网络延迟越大,1刻就会变得越久
  • 延迟应当写在应用技能的上方
  • 如果上面写了多条延迟,那么下面的技能会叠加多条延迟!
这是一个例子
测试:
  Skills:
  - delay 5 #0.25秒
  - 技能
  - delay 10 #0.5秒
  - 技能2
在0.25秒后释放技能,0.75秒(0.25秒+0.5秒)后释放技能2
repeat(不可缩写)-重复次数
  • 此标签需要写在skill{s=技能}里,下文会给例子
  • 次数不可能为小数
  • 必须配合标签repeatInterval使用!
这是一个例子
测试:
  Skills:
  - skill{s=技能;repeat=50;repeatInterval=1} @self
在50tick(1tick/次x50次)内连续释放50次技能
repeatInterval(不可缩写)-重复间隔
  • 此标签需要写在skill{s=技能}里,下文会给例子
  • 次数不可能为小数
  • 必须配合标签repeat使用!
  • 技能持续时间=重复次数x重复间隔,下文说明为何要在这点明
  • 若技能标签所在的技能(skill{s=Super;repeat=#;repeatInterval=$)
-里的Super设置了冷却,则重复间隔会加上冷却时间!
这是一个例子
测试:
  Cooldown: 20
  Skills:
  - skill{s=技能;repeat=50;repeatInterval=2} @self
在5秒(100tick=2tick/次x50次)内连续释放50次技能
由于你设置了冷却为20秒,在第一次重复就会开始冷却
也就是说真正的冷却时间只有15秒
另一种情况:测试无冷却,技能有冷却
测试:
  Skills:
  - skill{s=技能;repeat=50;repeatInterval=2} @self
技能:
  cd: 2
  - damage{a=0;ia=true}

间隔设置的是0.1秒/次,而我们设置了重复的技能冷却时间为2秒 只有冷却结束才会重复出“技能”,但这并不代表冷却未到的时候两 个重复标签会等待冷却,而是在冷却未到期间不会放出“技能” 50次x2tick/秒=100tick,2sx20tick=40tick 100/40=2余20,所以在测试重复释放“技能”期间,只会释放两次"技能"

计划中的技能

或许会在以后的版本中加入。某些技能已写入到插件内,但仍未实装
这里的部分技能可通过MythicMobsExtension拓展插件来实现

技能 描述
BarTimer
Cast 投掷可修改多种选项的魔法
Chain 使技能拥有多种目标
Meteor 详见projectile技能,把Type修改为METEOR
Run AI Goal Selector
Run AI Target Selector
Set Health 设置目标的血量
Set Max Health 设置目标的最大血量
Set Name 设置目标的名字
Stun 眩晕目标
Swap 和目标替换位置
Time 设置时间

技能目标(Targeters)

目标是触发技能的对象.

Targeters are always required (or the mob won't know what it is attacking), and forgetting a targeter is probably one of the most common mistakes people new to MythicMobs make.

If a targeter is used with a meta skill, then all of the skills inside of the meta skill inherit the parent targeter. It is important to keep that in mind as excessive targeter use is a common cause of poor server performance. Of course, you can overwrite the parent targeter for individual skills inside of the meta skill by giving them their own targeter to use, and there are even a few targeters that work specifically off of inherited targets.

根据个人理解能力,对你来说设置目标也许会很简单也可能很复杂!

特效类技能(Skill Effects)

  • 此类技能用于制作特殊的显示效果
    大部分技能都可以实体或位置为目标对象。使用目标选择器指定特效显示的对象
  • 部分特效没有可修改项,所以写法上这样写就可以了effect:技能名字
Skills:
- effect:flames @target
- effect:lightning @self
- effect:ender @PlayersInRadius{r=20}

<spoiler> 特效

blockmask/blockunmask—伪装方块:临时使某方块显示为另一种方块

添加于2.2

blockmask
使目标附近的方块视觉上临时显示为另一种指定的方块。被修改的方块将会在此技能结束后消失或复原。若想使方块提早复原可使用blockunmask技能(见下)
并不会真正替换方块,所以并不会对环境造成破坏

标签(缩写) 描述 默认设置
material(mat,m) 所显示的方块
必须为Bukkit下的方块名字
gravel
data(dv) 方块的数据值 0
radius(r) 伪装的半径范围 0
noair(na) 是否不替换空气方块 true
noise(n) 噪点,用于制作效果的随机性 0
duration(d) 方块伪装的持续时间(刻)
0为无限时
0
shape(s) 显示范围所呈现出的形状 sphere

方块的Bukkit名字和数据值可在游戏中握在主手后使用命令/itemdb查看。此命令适用于所有bukkit/spigot服务端

blockunmask
用于撤回方块的伪装。可在(生物)使用者死亡后用于清除伪装方块
当然blockmask形成的方块会在区块被重载时复原(也仅于那位刷新区块的玩家)

标签(缩写) 描述 默认设置
radius(r) 半径范围 0
shape(s) 修改范围所呈现出的形状 sphere

例子

  • 生物周围显示为地狱岩
    由于duration为0,伪装方块会在方块被更新或玩家重进时返回原貌
- effect:blockmask{m=netherrack;r=5} @self ~onTimer:1200
  • 在50格范围内玩家脚下生成一层冰,使其走起路来滑滑的
- effect:blockmask{m=ice;r=2;d=20} @PIR{r=50} ~onTimer:5
  • 使30格范围的伪装方块返回原貌
- effect:blockunmask{r=30}
ender—末影效果
- effect:ender @self ~onTimer:20
enderbeam—末影光束:形成末影水晶发出的光束效果至目标
标签(缩写) 描述 默认设置
duration(d) 时长(刻) 60
yoffset(y,yo) 位于技能激活点生成光束的y轴显示偏移 0

注意:此技能会在技能使用位置生成末影水晶
技能组 向目标生成5秒y轴偏移2格的光束

  Enderbeam:
  - effect:enderbeam{d=100;y=2;} @target
explosion—爆炸

爆炸时播放音效和粒子效果,不会对目标造成任何伤害

- effect:explosion @self ~onDamaged
firework—烟花
标签(缩写) 描述 默认设置
type(t) 烟花的主要类型,数值为0~4之间

0 = 小型球状
1 = 大型球状
2 = 星形
3 = 爬行者标志
4 = 爆裂,普通的烟花
数值大于4视为0

0
duration(d) 烟花火箭的飞行时长(秒) 0
flicker(f) 爆炸是否添加闪烁效果 false
trail(tr) 烟花火箭是否添加残留粒子 false
colors(c) 烟花的颜色
待修复
fadecolors(fc) 消失时的颜色
待修复
Skills:
- effect:firework{t=3;d=1;f=true;tr=true} @self ~onInteract
flames—刷怪笼火焰
- effect:flames @self ~onTimer:5
geyser—喷泉:从目标脚下生成往上的水/岩浆方块
标签(缩写) 描述 默认设置
type(t) 种类,water水 或 lava岩浆 water
height(h) 往上喷射的高度
speed(s) 喷泉的动态显示速度(刻) 10
Skills:
- effect:geyser{type=LAVA;height=3;speed=10}
itemspray—物品抛洒:在目标位置呈现出临时物品的掉落
标签(缩写) 描述 默认设置
item(i) 物品种类名字,Bukkit物品或MM配置物品 iron_sword
amount(a) 数量 10
duration(d) 时长(刻) 20
radius(r) 半径范围 0
velocity(v,force,f) 物品的初始速度 1
yVelocity(vv感觉是yv) 物品的y轴初始速度 velocity
yOffset(yo) y轴偏移度 1
allowpickup(ap) 掉落的物品是否允许被玩家捡拾 false
FanOfKnives:
- effect:itemspray{item=iron_sword;amount=20;velocity=5;d=100;} @self
lightning—闪电

生成不造成伤害的闪电并播放闪电的音效

标签(缩写) 描述 默认设置
localized(l) 闪电是否只被范围内玩家可见/可听 false
localizedradius(lr,r) 闪电的可视/可听范围,仅在localized=true时有效 128
  • localizedlocalizedradius添加于2.4
- effect:lightning @target
- effect:lightning @self
- effect:lightning{repeat=20,repeatInterval=1} @PIR{r=100}
particles—粒子效果

基本属性

标签(缩写) 描述 默认设置
particles(p) 粒子种类 reddust
amount(a) 粒子数量 10
hSpread(hs) 横向扩散范围 0
vSpread(vs) 纵向扩散范围 0
speed(s) 粒子的速度 0
yOffset(y) y轴偏移 0
viewDistance(vd) 粒子渲染/可视的最大范围 128
color(c) 粒子颜色(见下)
fromorigin(fo) false

实体属性

标签(缩写) 描述 默认设置
useEyeLocation(uel) 粒子是否以实体的眼部位置为标准 false
forwardOffset(fo) 向前偏移 0
sideOffset(so) 左右偏移 0

粒子颜色
自版本2.3起,部分粒子(mobSpell,mobSpellAmbient和reddust)可以使用color=hexcode。2.5.0+和minecraft1.10起,fallingdust也可使用color属性
hexcode就是十六进制颜色码

- effect:particles{p=reddust;color=#FF00FF}


Flameburst:
- effect:particles{particle=flame;amount=200;hS=1;vS=1;speed=5} @self
- ...
particlebox—箱状粒子:生成用粒子组成的箱子形状

添加于2.1 其余标签参考particles技能

标签(缩写) 描述 默认设置
radius(r) 箱子的半径范围 5
FlameBox:
- effect:particlebox{particle=flame;amount=200;radius=5} @self
- ...
particleline—线状粒子:生成显示从触发点到目标的粒子

其余标签参考particles技能
因为会涉及到多个坐标点,所以建议amount项不要设置得太高

标签(缩写) 描述 默认设置
distanceBetween(db) 各点之间的间隔 0.25
yStartOffset(ys) y轴偏移 0
fromOrigin(fo) 粒子线的启始位置是否从原点开始 false

从原点到目标的火焰粒子线

FireBeam:
- effect:particleline{particle=flame;amount=1;fromOrigin=true} @target
- ...
particlering—圈形粒子

其余标签参考particles技能
因为会涉及到多个坐标点,所以建议amount项不要设置得太高

标签(缩写) 描述 默认设置
points(p) 组成外围圈的点的数量
越多就越圆,反则越方
10
radius(r) 圆的半径 10

对目标生成由32个点组成的火圈

RingOfFire:
- effect:particlering{particle=flame;radius=20;points=32;amount=1;hS=1;vS=0} @target
- ...
particlesphere—球壮粒子

其余标签参考particles技能

标签(缩写) 描述 默认设置
radius(r) 球状的半径 5
FlameSphere:
- effect:particlesphere{particle=flame;amount=200;radius=5} @self
- ...
particletornado—粒子龙卷风

添加于2.1
因为会使用比较大量的服务器资源,设置不当严重的话会导致卡服或崩溃

标签(缩写) 描述 默认设置 建议
maxradius(mr) 龙卷风最高位圆圈的半径 3 1
yoffset(yo) y轴偏移,并没有什么用 0.8 0
height(h) 高度
所期望的龙卷风圆圈数量 * 2 + 1
4 3
interval(i) 粒子的纵向显示间隔,参考rotationspeed 4 1
duration(d) 技能的持续时间(刻) 200
rotationspeed(rs) 粒子的横向显示间隔,参考interval 0.04 0.5
sliceheight(sh) 数值低于1会显示不完整的龙卷风,高于10会使龙卷风出现不同的形状和显示规律,原理未知 64 1
cloudparticle(cp) 所使用的粒子 largeexplode largeexplode
cloudsize(cs) 粒子的半径(看着会比较像球状) 5 1
cloudamount(ca) 每一层龙卷所使用的粒子量 1 1
cloudhspread(chs) 龙卷层的横向扩散范围 1 1
cloudvspread(cvs) 龙卷层的纵向扩散范围 1.8 0.1
cloudpspeed(cps) 播放粒子的速度 2
cloudyoffset(cyo) 整个龙卷风的y轴偏移
1 + 所期望的高度
1.8 2
Skills:
- effect:particletornado{p=flame;cp=largeexplode;mr=1;h=3;i=4;d=100;rs=1;sh=1;cs=0;ca=0;chs=0.1;cvs=0.1;cps=1;cyo=2} @self ~onTimer:100
smoke—喷烟
标签(缩写) 描述 默认设置
direction(d) 烟所喷的方向 1~4 4
- effect:smoke @target ~onTimer:10
- effect:smoke{direction=2} @self ~onAttack
smokeswirl—旋涡壮的烟
标签(缩写) 描述 默认设置
duration(d) 持续时间,多少次间隔后消失 6
interval(i) 间隔,每一次烟雾的间隔(刻) 10

生成对目标位置持续5秒的此技能
10次间隔,每次维持10刻。一共100刻,也就是5秒

SmokeBomb:
- effect:smokeswirl{duration=10;interval=10} @TargetLocation
- ...
sound—播放音效

播放原版或材质包下的音效。音效名字参考wiki音效页面
音效名字某些版本会有差异,需要注意下

标签(缩写) 描述 默认设置
sound(s) 播放的音效名
pitch(p) 播放的速度,0.01~2.0 1.0
volume(v) 音量 1.0

音量超过1.0之后,每加1点 播放范围就扩大16格
音量 * 16(格) = 最大可播放范围
MC1.9前的格式(音效名字上有变化)

Skills:
- sound{s=mob.endermen.scream} @self

MC1.9+的格式

Skills:
- sound{s=entity.endermen.scream} @self
spin—旋转:使目标生物360度转动

添加于2.1

标签(缩写) 描述 默认设置
duration(d) 旋转的时间(刻) 40
velocity(v) 旋转速度 18
Whirlwind:
- effect:spin{duration=100;velocity=20} @self
- ...

</spoiler>

EffectLib Effects

  • needtext

Upcoming Effects

  • needtext

实体目标

单个实体目标

<colgroup> <col style="width: 30%"> </colgroup> <thead> </thead> <tbody> </tbody>

目标

说明

说明

@Self

激活者本身

@Target

选定激活者的目标为目标

@Trigger

以触发技能的实体为目标

@NearestPlayer{r=#}

以半径最近的玩家为目标。默认为r=5

@WolfOwner

以狼的主人为目标

@Owner

以主人为目标

@Mount (MM 2.5.0+)

以目标骑乘着的实体为目标

@Parent

如果激活者召唤出其他的怪物,那么怪物会以激活者为目标

@Passenger

骑在目标上方的实体

多个实体目标

目标 缩写 描述
@LivingEntitiesInRadius{r=#} 将半径内的生物作为目标
@PlayersInRadius{r=#} @MIR{r=R;t=T} 将半径内的生物作为目标
@PlayersInRadius{r=#} @PIR{r=#}} 将半径内的玩家作为目标
@EntitiesInRadius{r=#;types=X,X,X} @PER{r=#;t=#}} 将目标范围内的所有实体作为目标
@PlayeronServer @Server 将当前世界所有玩家作为目标
@PlayersInRing{min=#;max=#} 将环内的所有玩家作为目标
@PlayersNearOrigin{r=#}
@MobsNearOrigin{r=R;t=T}
@EntitiesNearOrigin{r=#}

威胁表目标

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

单坐标目标

目标 缩写 描述
@RandomThreatTarget 生物自己的坐标
@@TargetLocation 生物目标的坐标
@Location{c=x,y,z} 指定坐标作为目标
@Origin 将发射物的发射者的坐标作(不一定是生物)为目标
@@Spawner{s=[string]} 将刷怪点的坐标作为目标
@RLNTE{amount=#;radius=#;spacing=#;minradius=#;} 选择生物周围随机的坐标点作为目标,amount代表坐标点数量,radius代表半径的距离,spacing代表每个坐标之间的距离,minradius代表最小半径,这个选择常用于 Meteor 技能

多坐标目标

目标 缩写 描述
@PlayerLocationsInRadius{r=#} 将半径内的所有玩家的坐标作为目标
@Ring{radius=#;points=#} 选择范围圆环内的目标点
@@Cone{angle=#;points=#;range=#;rotation=#;} 选择一个锥形体作为目标点组
@EntitiesInCone{angle=#;range=#;rotation=#;} 选择锥形内的所有生物

特殊目标

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

原版目标

目标选择器 描述
@p 选择最近的实体(没配置是玩家)
@a 选择所有玩家
@r 选择随机实体(没配置是玩家)
@e 选择所有实体(自行配置)
参数 描述
m=M 游戏模式。目标处于的游戏模式 0 = 生存, 1 = 创造, 2 = 冒险, 3 = 旁观
r=R 最大半径,必须设置坐标
m=RM 最小半径
l=L 最大等级,会尝试选择最高的
score_=SCORE 最大记分板分数

更多查看这里: https://pluginscdtribe.github.io/wiki/mythicmobs/Targeters.html

技能触发(Triggers)

  • needtext

待补充∅

∅needtext∅

相关链接

MythicMobs官网:http://www.mythicmobs.net/index.php
MythicMobsManual:http://www.mythicmobs.net/manual/doku.php
MythicMobsForum:http://www.mythicmobs.net/index.php?forums/

授权声明

本页内容翻译/搬运自MythicMobs插件手册
授权方式为GNU Free Documentation License 1.3