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

MythicMobs/Skill

来自Minecraft插件百科
1240798440留言 | 贡献2020年3月26日 (四) 14:30的版本 (创建页面,内容为“{{待搬运}} =注意= *本页面的技能绝大部分都是MM4.5以下的 =技能(Skill Mechanics)= *技能(或基本技能)是一类MM下的简单技能。你可…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索
已检索到其他语言的内容,请协助搬运外文内容至本页面,并翻译为本地化的中文。

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

注意

  • 本页面的技能绝大部分都是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系统详细说明)
标签(缩写) 描述 默认设置
tag(t) 标签的名字 default
  • 配合条件要求(Conditions)的hastag条件使用。使用原版的/scoreboard players tag <玩家名字> add [标签名字]也能做到同样的效果

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

  • 若一个实体拥有标签,你可以靠近它使用/scoreboard players tag @e[r=5] list来查看它拥有的标签
  • 不同于stance的是,Tag可作用于玩家,一个实体能拥有多个Tag,并且有指定删除标签的技能,stance无法实现.
TagSkill
  Skills:
  - addtag{t=Test} @self

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

TagTest:
  Conditions:
  - hastag{t=Test}
 Skills:
  - suicide @self
Animate Armorstand—改变盔甲架姿势:配合此技能来制作盔甲架动画(MM4.9.0+)
标签(缩写) 描述 默认设置
duration(d) 动画持续时间,单位tick 1
head 头部偏转,填x,y,z,下面偏转同样
body 身体偏转
leftarm 左手臂偏转
rightarm 右手臂偏转
leftleg 左腿偏转
rightleg 右腿偏转
smart 让你的动画更平滑 true
ignoreempty 不改变未设定部位的pose true
usedegrees 将x,y,z当作度数来改变pose true
鲲鲲:
  Skills:
  - animatearmorstand{d=60;head=45,0,0}
  - animatearmorstand{d=10;leftarm=90,0,0;rightarm=270,0,0;ignoreempty=false}
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秒后消失

Bar Create—创建BOSS条:令目标创造一个BOSS条(MM4.7.2+)
标签(缩写) 描述 默认设置
name(n) BOSS条名称 infobar
display(d) 显示在BOSS条上的文本 <skill.var.aura-name>
value(v) BOSS条的血量百分比,0-1之间 1
color(c) BOSS条颜色 粉PINK 蓝BLUE 红RED 绿GREEN 黄YELLOW 紫PURPLE 白 WHITE RED
style(s) BOSS条类型: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20 . SOLID
  鲲鲲:
  Skills:
  - barCreate{name="MyBossBar";display="<caster.name> - <caster.hp>";value=1.0;color=BLUE;style=SEGMENTED_6} @self ~onSpawn
Bar Set—改变BOSS条:改变目标的BOSS条(MM4.7.2+)
标签(缩写) 描述 默认设置
name(n) BOSS条名称 infobar
display(d) 显示在BOSS条上的文本 <skill.var.aura-name>
value(v) BOSS条的血量百分比,0-1之间
  鲲鲲:
  Skills:
  - barSet{name="MyBossBar";display="<caster.name> - <caster.hp>";value=1.0} @self ~onDamaged
Bar Remove—删除BOSS条:删除目标的BOSS条(MM4.7.2+)
标签(缩写) 描述 默认设置
name(n) BOSS条名称
  鲲鲲:
  Skills:
  - barRemove{name="MyBossBar";display="<caster.name> - <caster.hp>";value=1.0} @self ~onInteract
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
CurrencyGive—给予玩家金钱
标签(缩写) 描述 默认设置
amount(a) 金钱的数量 0
  Skills:
  - currencygive{amount=20} @pir{r=20} ~onSpawn

在出生时给予20m半径内的玩家20金钱

  • 此技能需要在config里开启对Vault的支持(默认已开启)以及有效的Vault插件
CurrencyTake—夺取金钱:夺取玩家的金钱
标签(缩写) 描述 默认设置
amount(a) 夺取的金钱数量 0

在出生时夺走20m半径内玩家20的金钱

你的钱照样是咱的钱QAQ:
  Skills:
  - currencytake{amount=20} @pir{r=20} ~onSpawn
*此技能需要在config里开启对Vault的支持(默认已开启)以及有效的Vault插件
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
Decapitate—斩首:掉落玩家头颅
  • 若目标不是玩家时无效

生成时掉落附近玩家的头颅

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

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

ExplosiveBlast:
  Skills:
  - explosion{yield=4} @target
Doppleganger—模仿:模仿目标的外貌
  • 若目标不是玩家时无效
  • 需要LibsDisguisesProtocolLib插件

生成时伪装成最近的玩家

Ditto:
  Type: SKELETON
  Skills:
  - doppleganger @NearestPlayer ~onSpawn
EjectPassenger—驱逐骑乘者:让骑乘在目标上的怪物取消骑乘
鲲鲲w:
  Skills:
  - ejectpassenger ~onDamaged
*受伤时驱逐骑在身上的生物
*此技能没有目标
explosion—爆炸:于实体目标位置爆炸
标签(缩写) 描述 默认设置
yield(y) 爆炸的威力 0.013
blockdamage(bd) 是否破坏方块 false
fire(f,ft) 爆炸是否引起火焰 false

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

ExplosiveBlast:
  Skills:
  - explosion{yield=4} @target
Feed—恢复饥饿与饱和:恢复饱和与饥饿度
  • 2点饥饿度/饱和度=1格饥饿度/饱和度
标签(缩写) 描述 默认设置
amount(a) 恢复玩家的饥饿度数值 1
saturation(s) 恢复玩家的饱和度数值 0
overfeed(o,of) 是否过量恢复 false

blockdamage对非玩家目标不起作用

鲲鲲w:
  Skills:
  - feed{amount=10} @trigger ~onDamaged
<pre>
|}
{| class="wikitable mw-collapsible mw-collapsed"
! style="text-align: left;" | Force Pull—传送:传送实体目标到技能使用者
|-
| 
{| border="1" cellpadding="5" cellspacing="0"
|-
|'''标签(缩写)'''
|'''描述'''
|'''默认设置'''
|-
|spread(s)
|被传送过来的实体离技能使用者有多扩散
|0
|-
|vspread(vs)
|修改纵向的扩散范围
|spread
|}
*参考teleport和teleportto技能
传送30格半径范围内的所有实体到技能使用者5格半径范围内的随机位置
<pre>
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
healPercent—最大生命百分比治愈
标签(缩写) 描述 默认设置
multiplier(m) 恢复目标最大血量的%数值 1
overheal(oh) 当最大血量时是否继续恢复/上升血量 false
  Skills:
  - healPercent{m=1} @self ~onDamaged 0.2
  • 受伤有几率恢复自身全部血量
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
lunge—冲刺:向目标冲刺
  • 本质上和leap差不多
标签(缩写) 描述 默认设置
velocity(v) 跳起时最大的速度 1
velocityY(vy) 向上跳的速度 1
鲲鲲w:
  Cooldown: 10
  Skills:
  - lunge{velocity=15;velocityY=5} @Self
leap—跳跃:跳起并着陆于目标位置
  • 通过计算弹射物的轨道,当速度足够快时使生物尽可能地着陆于目标的所在位置
标签(缩写) 描述 默认设置
velocity(v) 跳起时最大的速度 1
noise 增加着落点的位差

由于其技能的特殊性,一般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
Look—看:看向目标
标签(缩写) 描述 默认设置
headOnly 仅头部转动 true
immediately 立即看向目标不带转身动画 false
  • 于MM4.3加入
每0.5秒自动看向目标(不带动画)
很恐怖,咱知道QAQ1551
鲲鲲w:
  Skills:
  - look{headOnly=true;immediately=true} @Target ~onSpawn
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
Mount—召唤坐骑:生成一个实体并骑乘上去
标签(缩写) 描述 默认设置
type(t) MM实体的种类
让施法者在出生时召唤一只鲲鲲并骑上去
斯哈斯哈~♥
骑鲲鲲♥:
  Skills:
  - mount{type=鲲鲲}
mounttarget—目标骑乘

骑乘于目标对象头上

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

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

标签(缩写) 描述 默认设置
multiplier(m) 对目标造成目标最大生命值的百分比数值的伤害
测试:
  Skills:
  - damagepercent{m=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
removeOwner—让目标忘记主人(4.6+)
忘记主人:
  Skills:
  - removeowner @self ~onSpawn
removetag—移除目标记分板标签
标签(缩写) 描述 默认设置
tag(t) 标签的名字 default
  • 和hastag条件配合使用
    等同于原版命令/scoreboard players tag <player name> remove [Tag Name]
RunAIGoalSelector—运行AI
标签(缩写) 描述 默认设置
goal 类型
可能有以下类型:
clear or reset (清除全部AI)
arrowattack(远程攻击)
skeletonbowattack / bowshoot / bowmaster(使用弓远程攻击)
breakdoor(摧毁门)
eatgrass(食草吧你x)
fleegolems / runfromgolems(逃避傀儡)
fleeplayers / runfromplayers(逃避玩家)
fleevillagers runfromvillagers(逃避村民)
fleesun(逃避阳光)
float / swim(浮水面上/游泳)
gotolocation / goto (移动向..,变量看这里https://www.mythicmobs.net/manual/doku.php/skills/stringvariables)
gotoowner(走向主人)
lookatplayers(看向玩家)
leapattarget(向目标跳跃)
meleeattack(近战攻击)
spiderattack(蜘蛛攻击,也就是跳跃攻击)
moveindoors(室内活动)
movethroughvillage(村庄内活动)
movetowardsrestriction(移动限制)
movetowardstarget(向目标走动)
opendoor(开门)
opendoors(开多种门)
patrol / patrolroute (循环走动路线(解析特殊字符看这里https://www.mythicmobs.net/manual/doku.php/skills/stringvariables)
randomlookaround / lookaround(随意看向周围/看向周围)
randomstroll(随机走动)
restrictopendoor(躲避门)
closedoors(关门)
restrictsun(躲避日光)
<pre>
鲲鲲w:
  Skills:
  - runaigoalselector{goal=clear}
  - runaigoalselector{goal=fleesun}
  - runaigoalselector{goal=randomstroll}
这只怪物会忘掉原AI并躲避阳光与随机走动
RunAIGoalSelector—运行目标选择AI
标签(缩写) 描述 默认设置
goal 类型
可能有以下类型:
clear / reset (清除实体AI)
hurtbytarget / damager / attacker(选中攻击自身者)
ownerhurttarget / ownertarget(选中主人)
monsters(选中怪物)
players(选中玩家)
villagers(选中村民)
iron_golems / golems(选中铁傀儡/傀儡)
otherfaction(选中其它派系)
otherfactionmonsters(选中其它派系内的怪物)
otherfactionvillagers(选中其它派系内的村民)
specificfaction(选中指定派系)
specificfactionmonsters(选中指定派系内的怪物)
<pre>
鲲鲲w:
  Skills:
  - runaitargetselector{target=clear}
  - runaitargetselector{target=players}
  - runaitargetselector{target=monsters}
这只怪物会忘掉原AI并攻击怪物与玩家
SendResourcePack—向玩家发送资源包链接(4.6+)
标签(缩写) 描述 默认设置
url 资源包下载的URL
向玩家推送连接内的资源包:
  Skills:
  - sendresourepack {www.website.com/resourcepack.zip} @self ~onSpawn
setFaction—修改目标派系(4.6+)
标签(缩写) 描述 默认设置
faction 派系
设置生物为X派系:
  Skills:
  - setFaction{faction=X} @self ~onSpawn
setgamemode—修改玩家模式(4.6+)
标签(缩写) 描述 默认设置
mode 玩家模式
出生设置最近玩家模式为创造:
  Skills:
  - setgamemode{mode=creative} @NearestPlayer ~onSpawn
setgliding—滑翔
  • 使装备了鞘翅的玩家/实体开始/停止滑翔。
    目标必须在空中
标签(缩写) 描述 默认设置
gliding(g) 是否强制实体进行滑翔 true

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

MakeMobGlide:
  Skills:
  - setgliding{g=true;} @self
Set Name—修改目标名称
标签(缩写) 描述 默认设置
name 设置的名称
  鲲鲲:
  Skills:
  - setname{鲲鲲} @self ~onDamaged 1
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}
Send toast—发送自定义成就消息(MM4.8.0+)

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

标签(缩写) 描述 默认设置
icon(1) 成就的图标 Diamond(钻石)
iconnbt(nbt) 成就图标的数据值
message(msg,m) 成就的文本,必须在俩边使用""
frame(f) 成就的类型 可选项:挑战(challenge)、目标(goal)、任务(task)
鲲鲲:
  Skills:
  - sendtoast{icon=DIAMOND; iconnbt={CustomModelData:1};message="鲲!";frame=challenge} @PIR{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:
  - ...我是技能
setVariable—设置变量(4.6+)
  • 二白提醒您:获取变量的玩家必须是生存模式.(MythicMobs部分目标器会自动过滤创造,观察者模式)
  • 若要将设置的变量,例: <caster.damage> 运用到其他地方,需要更改为这种格式: <caster.var.damage>
  • 鲲鲲提醒您:变量计算(例如damage{a='2 * <caster.var.damage'> @self),运算符号必须和两个因数(可全为变量名,也可一个变量一个数字)之间隔着一个空格
  • 同时,能使用()和[]进行"复杂"的计算,计算只能用在damage/damagepercent、heal/healpercnet、setlevel,其它技能计算均无效.
  • 详见底部的"随着怪物剩余血量百分比的减少增加伤害"例子,另外,100%=100,不等于1
标签 描述 默认数值
value 要设置为的数值,可为其他插件的变量(例如:%sx_damage%)
score 变量运用的位置 skill
type 比较复杂,专门罗列出来讲. Integer
variable(var) 可自定义设置的变量值,但前缀必须是caster/trigger/skill/target 任意一种.
条件类型 描述
VariableIsSet 变量是否为此技能设置的
VariableInRange 检测变量是否在特定的数值范围
VariableEquals 检测变量的数值
类型 描述
String 支持单词,句子
Integer 支持整数
Float 支持带小数点的数字
  • 二白提醒您:这里的类型是指value对应的类型,若要使用%sx_damage%等类似变量建议使用String.

例子: 玩家攻击时会触发攻击属性百分比伤害:

Skills:
- skill{s=玩家攻击属性百分比伤害} ~onAttack

技能设置:

Skills:
- setvariable{type=STRING;var=caster.damage;value="%sx_damage%"} @Self
- message{m="&a你对敌方造成了 <caster.var.damage> 点伤害."} @Self
- damage{a=<caster.var.sm>*2} @Target

注释:玩家在攻击时会给自己设置一个变量,并且通过message提示自己这个数值的大小(也可用于制作者检测变量设置是否成功),并对怪物造成该数值翻倍的伤害.

例子2:(取自鲲鲲)

Skills:
- sudoskill{s=激活反伤} @Target

反伤效果:

Skills:
- setvariable{type=STRING;var=caster.dm;value="ap_combatpower"} @Self
- message{m="&c你受到了防反核心的反伤伤害,共计: <caster.var.dm> !"} @Self
- damage{a='<caster.var.dm>'} @Self
- heal{a='<caster.var.dm>'} @MIR{r=100;t=鲲鲲}

注释:鲲鲲让玩家执行“激活反伤”技能,激活后玩家将给自己设置为一个变量<caster.dm>,接着用message提示这个变量的数值(也可制作者用于检测是否成功),并让玩家受到自己攻击等量的伤害.最后,100半径内的MythicMobs内部名为“鲲鲲”的怪物将会恢复玩家攻击的等量血量.

  • 接下来是鲲鲲搬运的变量条件例子..

例子: 检测玩家的伤害变量是否为10: 注释:若伤害等于5,鲲鲲才不会激活反伤效果

激活反伤:
  TargetConditions:
  - variableEquals{var=caster.dm;value="5"} false
  Skills:
  - sudoskill{s=激活反伤} @Target

注释:若伤害大于5,鲲鲲才不会激活反伤效果

激活反伤:
  TargetConditions:
  - variableInRange{var=caster.dm;value=>5} false
  Skills:
  - sudoskill{s=激活反伤} @Target

注释:鲲鲲受伤时会让目标受到1+1* (100-剩余生命百分比)点伤害,剩余生命百分比最高为100,百分比是整数而不是小数!

鲲鲲:
  Type: Zombie
  Skills:
  - skill{s=测试增伤} @self ~onTimer:1
  - skill{s=测试增伤提示} @self ~onDamaged
测试增伤:
  Skills:
  - setvariable{type=STRING;var=caster.dm;value="<caster.php>"} @self
测试增伤提示:
  Skills:
  - damage{a='1 + 1 * (100 - <caster.var.dm>) '} @EIR{r=10}
  - message{m="&c怪物生命为 <caster.var.dm> "} @EIR{r=10}
Shield—护盾(MM4.6+/MC1.13+)
标签(缩写) 描述 默认设置
amount(a) 护盾的数值
maxshield 护盾最大承受值

生成一个抵挡10伤害的护盾

护盾:
  Skills:
  - shield{amount=10;maxShield=20} @self
ShieldPercent—最大生命值护盾(MM4.6+/MC1.13+)
标签(缩写) 描述 默认设置
amount(a) 护盾的数值
maxshield 护盾最大承受值

生成一个护盾,抵挡伤害值为怪物最大生命值的50%.

护盾:
  Skills:
  - shield{multiplier=0.5} @self
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}
Speak—说话:使目标在聊天栏和全息(气泡)发送文本
标签(缩写) 描述 默认设置
offset(o) 全息(气泡)的偏移 0.6f
maxlinelength(ll,ml,mll) 全息(气泡)的长度 22
lineprefix(lp) 全息(气泡)的前缀 &f
message(m) 发送消息的内容
chatprefix(cp) 聊天栏消息的前缀 <caster.name>&f<&co>
duration(d,t) 全息(气泡)的持续时间 文本长度*4
*要使用全息(气泡)需安装一个全息图插件
鲲鲲:
  Skills:
  - speak{offset=0.6f;radius=30;maxlinelength=22;lineprefix="&5";message=" I just spawned!";chatprefix=<caster.name>&f<&co>;duration=200} @self ~onSpawn
spring—喷泉:于目标位置生成临时液体方块
标签(缩写) 描述 默认设置
type(t) 液体的种类,water(水)或lava(岩浆) water
duration(d) 时长(刻) 40

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

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

Flood:
  Skills:
  - spring{d=100} @target
stun—眩晕(mm4.8.0+)
标签(缩写) 描述 默认设置
CancelOnGiveDamage(cogd) 当眩晕的实体对其它实体造成伤害时取消眩晕 false
CancelOnTakeDamage(cotd) 当眩晕的受伤时取消眩晕 false
CancelOnDeath(cod) 当眩晕的实体死亡时取消眩晕 false
CancelOnTeleport(cot) 当眩晕的实体被传送时取消眩晕(仅限玩家) false
CancelOnChangeWorld(cocw) 当玩家切换世界时取消眩晕(仅限玩家) false
CancelOnSkillUse(cosu) 若眩晕的实体释放了其它技能则取消眩晕 false
CancelOnQuit(coq) 当玩家退出游戏时结束眩晕(仅限玩家) true
duration(d)stopai 眩晕时间 100
facing(face,f) 被眩晕的实体是否能移动视角 false
gravity(g) 被眩晕的实体是否拥有重力 false
stopai(ai) 被眩晕的实体是否拥有AI false
  Skills:
  - stun{d=100;facing=true;onTick=[- particles{p=crit;amount=10;hS=0.4}]} @self ~onInteract
  • 注意,在4.9.0,duration不能为MythicmobsExtension的dur,否则会变成默认的5秒!
  • 在被右键时眩晕5秒并不断释放粒子
summon—召唤
标签(缩写) 描述 默认设置
type(t) 生物的种类,可以是MM配置名或一般生物名 SKELETON
amount(a) 召唤的数量 1
radius(r) 离召唤者的半径方块范围(召唤的范围) 0
yRadius(yr) 覆盖y轴的半径 radius
yRadiusUpOnly(yu) 召唤的范围是否仅限于y轴 false
summonerIsParent 召唤的生物是否是施法者的子生物 false summonerIsOwner 施法者是否是召唤的生物的主人 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
setseed—设置实体速度

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

标签(缩写) 描述 默认设置
speed(s) 设置的速度
type(t) 速度的类型 可为WALKING(步行)FLYING(飞行)
  鲲鲲:
  Skills:
  - setspeed{speed=2;type=walking} ~onSpawn
weather—天气:改变当前世界天气
标签(缩写) 描述 默认设置
type(t) 天气的种类,sunny,rainy,stormy sunny
duration 天气维持的时长(刻) 500

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

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

</spoiler>

特殊类技能

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

似乎只有弓会这样 <spoiler>

aura—光环(MM4.6+)

光环对目标起一个类似状态的作用,并能在光环持续期间激活技能.
你可以用光环创造增益或减益效果
光环持续期间会被"跟踪"以及能作用于目标和条件.

可修改项

描述 缩写 说明 默认值
auraName 光环名称,需要配合其它技能和条件
onStart oS 获得光环时执行的技能
onTick oT 光环期间执行的技能
onEnd oE 光环消失时执行的技能
Charges c 如果设置了此项,那么光环将在击中了多少次实体后消失.(4.7.2及以下无法正常使用.) 0
Duration d 光环持续时间 200
Interval i 光环每多少tick激活一次oT所写的技能 1
maxStacks 若设置多次,则意味着此光环能在目标上叠加多次
refreshDuration 若受到同样的光环则刷新光环持续时间 false
mergeSameCaster 将所有同样的光环合为一个(防止在同一目标身上多次叠加同样光环) false
mergeAll 将所有光环合为一个(防止其他生物在同目标身上多次叠加光环) false
CancelOnGiveDamage cogd 当当有光环的实体造成伤害时消除光环. false
CancelOnTakeDamage cotd 当有光环的实体受到伤害时消除光环. false
CancelOnDeath cod 当有光环的实体死亡时消除光环 true
CancelOnTeleport cot 当有光环的实体传送时消除光环 false
CancelOnChangeWorld cocw 当有光环的实体改变所处世界时取消光环 false
CancelOnSkillUse cosu 当有光环的实体在光环持续期间使用其它技能时消除光环 false
CancelOnQuit coq 当有光环的玩家退出游戏时消除光环 true


特殊选项
onAttack设置的光环有以下选择:

   普通光环所有可选项.
   onHit=[技能] - 当光环激活时执行的技能.
   cancelEvent=true - 是否能被取消,不造成伤害
   multiplier=# - 百分比增加造成的伤害
   add=# - 增加造成的伤害

(用法见下面的栗子)
onDamaged设置的光环有以下选择:

   普通光环所有可选项.
   onHit=[技能] - 当光环激活时执行的技能.
   cancelEvent=true - 是否能被取消,不减免受到的伤害
   multiplier=# - 减少受到的伤害(百分比)
   sub=# - 减少受到的伤害

(用法见下面的栗子)

栗子

  鲲鲲:
  Skills:
  - Aura{auraName=Retributing_Light;oT=RetributingLightDamage;i=10;d=240} @self

给予目标(在这个栗子中为自身)名为Retributing_Light的光环,持续12秒.
每过10tick(或0.5秒)激活一次RetributingLightDamage.

  鲲鲲:
  Skills:
  - onDamaged{auraName=fire_shield;oH=FireShield;d=200;c=5;multiplier=0.5} @self

在这个栗子里,施法者在10秒内受到的5次伤害都会激活FireShield以及减免受到伤害的50%.
事实上,如果FireShield写了Conditions(条件)且自身不符合,则不会减免伤害,因为没激活FireShield.

  鲲鲲:
  Skills:
  - onAttack{auraName=fiery_strikes;oH=FireStrike;d=200;c=5;multiplier=2} @self

在这个栗子里,施法者在10秒内造成的5次伤害都会激活FireStrike以及造成双倍伤害.
事实上,如果FireStrike写了Conditions(条件)且自身不符合,则不会增加伤害,因为没激活FireStrike.

cancelevent—取消事件

取消技能的触发事件。这个技能有几个重要的要求来保证他正常运行:

  • 这个技能 (or the first skill that leads to it) 必须在怪物(mob)的技能列表中将sync设置为true 例如: - skill{s=CancelEventSkill;sync=true} ~onDamaged
  • 不能有技能延迟(delay)
  • 它只在特定的触发器生效


可用的触发器

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


例子(无敌怪物)

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

链允许你创造在目标之间反弹的技能,就像“闪电链”类型的技能 反弹条件在技能每次“反弹”后释放技能。举个例子,如果有人站在墙 的另一边,而你却站在门口,它可能会从你身上反弹到他们身上,因 为它会在墙上反弹每次施放只能反弹到同一个实体一次。同样,每次 技能反弹,它反弹的实体将成为此技能中的“原点”,而原点的继承目 标将是它反弹到的下一个实体

标签(缩写) 描述 默认设置
onBounce(ob) 在目标之间反弹的技能
bounces(ob) 反弹的次数 2
delay(d) 命中目标后反弹的延迟 1
radius(r) 目标反弹到下一个目标的最大距离 5
hitSelf(hs) 是否反弹施法者 false
hitNonPlayers(hnp) 是否反弹非玩家实体 false
hitPlayers(hp) 是否反弹玩家 true
bounceConditions(conditions) 满足条件的生物才会被反弹
鲲鲲:
  Skills:
  - chain{
      bounces=5;
      bounceRadius=10;
      bounceDelay=1;
      hitSelf=false;
      hitPlayers=true; 
      hitNonPlayers=true;
      hitTarget=true;
      onBounce=[
        - effect:particleline{p=flame;fromOrigin=true}
      ];
      bounceConditions=[
        - inlineofsight
        - hasaura{aura=damageResist} false
      ];
    }
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) 抛射物命中目标y轴偏移度 +1
HitPlayers(hp) 是否攻击玩家??? true
HitNonPlayers(hnp) 是否攻击非玩家??? false
HitTarget(ht) 是否攻击目标??? true
HitTargetOnly 是否只攻击目标??? false
StartSideOffset(sso) 抛射物起始点偏移量 0
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—轨迹

发射一个特别的弹射物(projectile),此弹射物将围绕目标(target)运动而且还可以充当 光环(Aura)的作用.
就像弹射技能(projectile)一样, 当其他人在弹射物环绕过程中被其击中那么它将会触发其他技能.
此技能非常适合制作复杂技能(火盾之类的技能),但是它很难掌握.

属性设置

标签 标签缩写 描述 默认设置
onStart oS 当orbital技能开始时执行的技能.
onTick oT 每x刻于发射原点执行某个技能.
onHit oH 当击中东西时执行某个技能 .

orbital技能的目标将被此时执行的技能继承.

onEnd oE 当orbital技能结束时执行的技能.
Charges c 如果设置了此项,那么orbital技能将会在发射了你设置的次数之后停止.(4.7.2及以下无法正常使用.) 0
Duration d 最长持续时间(刻). 100
Interval i 环绕物多长时间(刻)更新一次它的位置 4
Radius r 环绕半径. 4
HitRadius hr 距离环绕物多远时将被击中(水平范围). 1
VerticalHitRadius vhr, vr 距离环绕物多远时将被击中(垂直范围). 1
Points p 环绕物环绕的圆环由多少点构成.

越多的点将会使orbital的环绕圆环更加清晰.
但也会增加完成一个圆环所需的时间.

32
XRotation rotx, rx 环绕物沿X轴方向的转向. 0
YRotation roty, ry 环绕物沿Y轴方向的转向. 0
ZRotation rotz, rz 环绕物沿Z轴方向的转向. 0
XOffset ox 环绕物对于X轴的偏移. 0
YOffset oy 环绕物对于Y轴的偏移. 0
ZOffset oz 环绕物对于Z轴的偏移. 0
AngularVelocityX avx, vx 调整轨道在X轴上的角速度. 0
AngularVelocityY avy, vy 调整轨道在Y轴上的角速度. 0
AngularVelocityZ avz, vz 调整轨道在Z轴上的角速度. 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


特别提示
onStart技能:
onStart执行任何有持续时间的buff或者粒子效果(粒子龙卷风之类的)时,此类buff或粒子效果将在其持续时间内一直依附于环绕物上并产生效果.
通过这个你可以做出很多有趣的特效.

onTick技能:
使用@origin目标选择器会使任何技能或效果以环绕物的当前坐标执行.
可用于修饰环绕物的外貌.

onHit技能:
任何被环绕物击中的目标会被定义为"即将执行的技能"的目标.

onEnd技能:
使用@origin目标选择器为环绕物添加结束时的特效。
若想使环绕物结束时能给予附近玩家造成爆炸,那个爆炸技能可以使用@PlayersNearOrigin{r=radius}目标选择器

例子
当生物被击中后有概率发射一个冰球环绕在该生物周围,形成护盾。
当护盾击中目标时,给予目标一定的伤害且附加缓慢效果。
这个护盾将持续10秒。

  • 生物配置
  Mob:
    Type: SKELETON
    Skills:
    - skill{s=IceShield} @self ~onDamaged 0.2
  • 技能组配置
  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特效类技能组成复杂而华丽的技能

标签(缩写) 描述 默认设置
bulletType(4.7.2+) 发射物的类型 可选项:Arrow(箭矢)、BLOCK(立体方块)、ITEM(物品)、MOB(生物)
onTick(oT) 每x刻于发射原点执行某个技能
onHit(oH) 当击中东西时执行某个技能
onEnd(oE) 弹射物发射结束时执行某个技能
Type(t) NORMAL为基本型,于使用者坐标发射
METEOR则从天而降并落于目标
NORMAL
Interval(i) 弹射物刷新的频率(刻) 4
HorizontalRadius(hRadius,hR,h) 横向攻击范围 1.2
material(4.7.2+) 发射物为BLOCK和ITEM时指定的方块/物品 STONE(石头)(当buttletype为block时为方块种类,为item时为物品种类)
mob(4.7.2+) 发射物为MOB时指定的生物 SKELETON(骷髅)
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
StartSideOffset(sso) 抛射物起始点偏移量 0
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—技能:使目标执行一个指定技能

SudoSkill技能允许你强制使实体释放一个Mythicmobs的技能.
此技能可以配置是否继承sudoskill的施法者目标为实体的目标,甚至可以强制玩家使用Mythicmobs技能:
属性设置

标签 标签缩写 描述 默认设置
skill s 执行的技能.
setcasterastrigger cat 这个技能施法者是否为sudoskill技能的施法者. false
当cat为true时,sudoskill里所写的skill的施法者(caster)为sudoskill的施法者

false则sudoskill的指定目标为施法者

- SudoSkill{s=技能名;setcasterastrigger=true/false(默认)}



例子

  • Skill.yml:
鲲鲲:
  Skills:
  - arrowvolley{a=20;s=25;v=10;f=50;rd=200} @EIR{r=30}
  - message{msg="Triggername: <trigger.name>"} @world
  • Mob.yml:
鲲鲲1:
  Type: villager
  Display: '鲲鲲1'
鲲鲲2:
  Type: villager
  Display: '鲲鲲'
  Skills:
  - sudoskill{s=鲲鲲;cat=true} @trigger ~onDamaged
假如鲲鲲1攻击了鲲鲲2
这个技能组,会使鲲鲲2让鲲鲲1使用鲲鲲这个技能,
对30m内的实体召唤箭雨同时提示"Triggername(@trigger选中的目标):鲲鲲1"但施法者为鲲鲲2.
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 投掷可修改多种选项的魔法
Meteor 详见projectile技能,把Type修改为METEOR
Run AI Goal Selector
Run AI Target Selector
Set Health 设置目标的血量
Set Max Health 设置目标的最大血量
Swap 和目标替换位置
Time 设置时间

更好的特殊类技能写法

  • 旧的写法照样能用,根据自己爱好来选择

<spoiler>

 Skills:
 - projectile{
     interval=1; velocity=30; bulletType=BLOCK; material=MAGMA_BLOCK; tyo=0.5; g=1; bulletSpin=-40; hnp=true; stopatentity=false; duration=100;
     onHit=[
         - damage{amount=50}
         - ignite{ticks=20}
     ];
     onTick=[
         - particles{p=flame;a=20;hs=0.5;vs=0.5}
     ];
     onEnd=[
         - particles{p=largeexplode;a=50;speed=1;hs=0.05;vs=0.05}
         - effect:sound{s=entity.dragon_fireball.explode;p=0.6;v=2}
         - damage{amount=30} @ENO{r=5}
     ];
 } @targetlocation

</spoiler>

技能目标(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} 将目标和生物之间的连线的所有坐标点作为目标
Forward{f=5;y=0.0} @Forward{f=5;y=0.0} 怪物前面5个方块,Y修正为0的区域
@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