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

MythicMobs/技能

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

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


技能(Skill Mechanics)

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

目标类技能

  • 以实体为目标的技能,有些还能以坐标/地点为目标
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秒以10格半径范围内的所有实体为目标生成闪电,例子 神烦羊...

StaticSheep:
  Type: SHEEP
  Skills:
  - lightning @EntitiesInRadius{r=10} ~onTimer:100

特效类技能(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