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

MythicMobs/技能

来自Minecraft插件百科
白学家OvO留言 | 贡献2017年3月23日 (四) 03:21的版本 (折叠添加<spoiler>)
跳转到导航 跳转到搜索
已检索到其他语言的内容,请协助搬运外文内容至本页面,并翻译为本地化的中文。

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

本页面已存在其他语言的内容,请协助翻译为本地化的中文。
  • 点击此处开始翻译。
  • 如本模板出现在原文存档页面,请注意更新主页面后,仍需要去除此处该模板。
  • 如当前页面已经没有需要翻译的内容,请删去待翻译模板。
  • 有标题的大篇幅文章,如果短时间内无法全部翻译,请先把所有的标题翻译出来,以便之后的贡献者选择与翻译章节内容。


技能(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秒后消失

basedamage—增强型攻击:造成自身攻击力%的伤害
标签(缩写) 描述 默认设置
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
forcepull—传送:传送实体目标到技能使用者
标签(缩写) 描述 默认设置
spread(s) 被传送过来的实体离技能使用者有多扩散 0
vspread(vs) 修改纵向的扩散范围 spread
  • 参考teleport和teleportto技能

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

ForceGrip:
  Skills:
  - forcepull{spread=5} @EntitiesInRadius{r=30}
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—%治愈
  • 添加于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

  • 类似功能mount技能
  Skills:
  - mounttarget @trigger ~onDamaged

受到伤害时骑乘于攻击者头上

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>

特殊类技能

  • 多数技能用于配合其他技能使用,被这些技能所配合使用的技能将共用目标对象

<spoiler>

cancelevent—取消事件

取消激活技能的事件

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—轨迹:在目标周围生成弹射轨迹

(预计于版本2.6加入...)

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—技能:使目标执行一个指定技能

soon???

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>

needtext

</spoiler>


特效类技能(Skill Effects)

  • needtext

技能目标(Targeters)

  • needtext

技能触发(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