- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobs/Skills
鉴于排版难以修复, 编者不再维护插件百科的MythicMobs, 转向gitlab https://gitlab.com/TranslatedByShark/Mythic-Manual-CN/-/wikis/%E7%89%A9%E5%93%81 请谅解, 当然若你仍使用MM 4.13以下仍可以使用插件百科的mythicmobs百科 但若4.13及以上 务必使用gitlab以获取最新的内容更新
技能(Skills)
免费版变量机制能作用于消息类技能修改项、击杀信息等,例如Speak,付费版变量机制在此基础上能作用于大多数技能修改项
- 技能组必须存放于MythicMobs/Skillsの任意文档内
- 技能为MM插件的一大特点。所有MM实体都可以根据不同情况发动技能
- 一个完整の技能配置由以下因素构成
技能(组)名
技能行
技能目标对象Targeters(一些情况下非必要)
技能触发器Triggers
条件
血量与触发几率(非必要)
技能组
为了更好的阅读体验,中文百科新增了一个官网未拥有的名词:技能组
概念
- 技能组,就是由多条技能组合而成の一个技能,但也可以是单条技能,存放于Skills文件夹の任意文档内
- 技能不一定包含于技能组,实体配置内所写的多条技能不属于技能组,而应称之为技能配置
- 技能组内最重要の是技能组名:与Skills,此俩项一旦错误,所处の文档内所有技能都会失效,且不产生报错
- 百科内一般不会用技能组去代表单条技能,一般意思是即可以仅含单条技能の技能组也可以由多条技能组合而成の技能组
- 单条技能一般称之为技能行
技能格式
- 实体文档内の技能配置
鲲鲲: Type: ZOMBIE Display: '鲲鲲' Health: 50 Skills: - 无目标类技能 触发器 - ignite{ticks=100} @target ~onAttack <50% 0.5 - skill:技能组名 @T ~onDamaged >0% 1 - 技能名{修改项=值;修改项=值} 目标选择器 触发器 血量要求 几率
或:
Skills: - 技能名{ 技能修改项=数值; 技能修改项=数值; 技能修改项=数值; }
- 技能组格式:
技能组名: Skills: - 技能 - 技能 目标选择器
再次提醒一下,必须确保组名与Skills没有任何错误
- 特殊类技能可使用の第二种格式:
鲲鲲: Skills: - projectile{ interval=1;velocity=5;tyo=0.5;g=1;hnp=true;stopatentity=true;duration=300; onHit=[ - ignite{ticks=20} ]; onTick=[ - effect:particles{p=flame;a=20;hs=0.5;vs=0.5} ]; onEnd=[ - effect: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} ]} @target
血量要求(Health Modifiers)
=90% - 血量到达90%时触发 <50% - 血量小于50%时触发 =30%-50% - 当血量为30%到50%之间时触发 <2000 - 血量小于2000点时触发 >10,=5,<3% - 血量大于10点,等于5,或小于3%时都可触发
- 我们把之前的例子再拉回来...血量小于50%时,每次攻击目标时使用技能:点燃
Skills: - ignite{ticks=100} @target ~onAttack <50%
几率(Chance)
- =满足条件后技能使用的几率
- 1.0为100%,一般不填写的话也就是默认100%使用;0.5是50%几率,0就是不会发动...
- 我们把例子最后一次再拉回来...血量小于50%时,每次攻击目标时有50%几率使用技能:点燃
Skills: - ignite{ticks=100} @target ~onAttack <50% 0.5
技能分类列表
通过点击下方の蓝色文字浏览相应类型的技能列表,或在全技能页面()浏览全部技能
常用类
目标类技能|无目标类技能|特殊类技能|特效类技能(附带粒子名)
坐标类
- 此类技能的位置从@Location目标选择器或其他原因选取
activatespawner—激活刷怪点 | ||||||
---|---|---|---|---|---|---|
最好配合"刷怪点的useTimer设置为false"使用 Skills: - activatespawner{spawner=鲲鲲}激活所有于鲲鲲组下的刷怪点 Skills: - activatespawner{spawner=g:鲲鲲}生成名字带有鲲鲲的刷怪点(比如鲲鲲1,鲲鲲2) Skills: - activatespawner{spawner=鲲鲲*} |
pushbutton—按钮:按下坐标位置的按钮 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
鲲鲲: Skills: - pushbutton{x=15;y=67;z=-213} |
breakblock—破坏方块:破坏坐标位置的方块 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
若施法者为玩家,破坏方块将无视WG区域保护,此漏洞修复于4.12
鲲鲲: Skills: - breakblock{forcesync=true} @location{c=100,64,100} ~onInteract如果玩家挖的是矿石/石头之类的但没有拿镐,那么不会掉落方块与播放破坏粒子 - breakblock{forcesync=true;doEffect=true;doDrops=true;useTool=true} @targetlocation |
breakblockandgiveitem—破坏并给予方块:破坏坐标位置的方块后给予施法者所破坏の方块 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
需forcesync为true(强制激活)
鲲鲲: Skills: - breakBlockAndGiveItem{dodrops=false;items=diamond}破坏方块直接掉落钻石,而不是所破坏の方块 |
togglelever—拉杆:激活坐标位置的拉杆 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
默认会激活1秒后关闭
最好使用目标选择器:@Location 鲲鲲: Skills: - togglelever @Location{duration=600;x=77;y=82;z=-24} |
通用标签
一列适用于所有技能的标签,4.10+的版本全部支持变量
若Repeat所作用の技能报错,则Repeat会无止境激活の漏洞修复于4.10
Cooldown不读取小数の漏洞修复于4.10
标签(缩写) | 描述 | 默认设置 |
Cooldown(cd)大小写要注意 | 技能冷却时间 | 0 |
delay | 延迟所执行的技能时间(刻) | 0 |
repeat | 技能重复的次数 | 0 |
repeatInterval | 每过多少刻才能重复技能 | 0 |
通用标签的具体用法
Cooldown(cd)-冷却 |
---|
测试: Cooldown: 0 Skills: - 技能 |
Delay(不可缩写)-延迟 |
---|
这是一个例子 测试: Skills: - delay 5 #0.25秒延迟 - 技能{delay=5} #0.25秒延迟 - delay 10 #0.5秒 - 技能2{delay=10} #0.5秒 在0.25秒后释放技能,0.75秒(0.25秒+0.5秒)后释放技能2 |
repeat(不可缩写)-重复激活(次数) |
---|
这是一个例子 测试: Skills: - skill{s=技能;repeat=50;repeatInterval=1} @self 在50tick(1tick/次x50)内连续释放51次技能 |
repeatInterval(不可缩写)-重复间隔 |
---|
这是一个例子 测试: Cooldown: 20 Skills: - skill{s=技能;repeat=50;repeatInterval=2} @self 在5秒(100tick=2tick/次x50次)内连续释放51次技能 由于你设置了冷却为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,所以在测试重复释放“技能”期间,只会释放两次"技能" |
技能威力(Power)
鲲鲲:早在2020上半年就很好奇这是个啥东西..直到2020.1.6翻了翻官方百科
技能名 | 受影响修改项 | 影响之前的计算 | 影响后的计算 |
---|---|---|---|
basedamage | multiplier(m) | 数值为m的值 | 数值为m的值 * 技能威力 |
consume | damage(d)与health(h) | 数值为d与h的值 | d与h的值各自*技能威力 |
damage | amount(a) | 数值为a的值 | 数值为a的值 * 技能威力 |
leap | velocity(v) | 数值为v的值 | 数值为v的值 * ( 1 + 技能威力 * 0.1 ) |
projectile | velocity(v)与maxrange(mr) | 数值为v与mr的值 | v与mr的值各自*技能威力 |
missile | velocity(v)与maxrange(mr) | 数值为v与mr的值 | v与mr的值各自*技能威力 |
- 栗子:
2级的鲲鲲,damage伤害将从5增加到10(鲲鲲为1级 + 默认的技能威力为1 即1+1 = 2, 5*2 = 10),3级的鲲鲲伤害则增加到15 鲲鲲: Type: SKELETON Health: 20 LevelModifiers: Health: 10 Power: 1 Skills: - damage{a=5} @trigger ~onDamaged
特殊符号
<spoiler>
变量 | 描述 |
---|---|
<&co> | 返还冒号 : |
<&sq> | 返还撇号 ' |
<&da> | 返还减号 - |
<&bs> | 返还反斜杠 \ |
<&fs> | 返还斜杠 / |
<&sp> | 返还空格 |
<&cm> | 返还逗号 , |
<&sc> | 返还分号 ; |
<&eq> | 返还等号 = |
<&ss> | 返还分节符 § |
<&dq> | 返还双引号 " |
<&rb> | 返还右方括号 ] |
<&lb> | 返还左方括号 [ |
<&rc> | 返还右大括号 } |
<&lc> | 返还左大括号 { |
<&nl> | 另起新的一行 |
<&heart> | 返还一个爱心符号 |
<&skull> | 返还一个骷髅骨头符号 |
</spoiler>
颜色代码
- 在部分预览版本被§所替代!
<spoiler>
变量 | 描述 |
---|---|
&0 | 黑色 |
&1 | 深蓝色 |
&2 | 深绿色 |
&3 | 深水蓝色 |
&4 | 深红色 |
&5 | 深紫色 |
&6 | 金色 |
&7 | 灰色 |
&8 | 深灰色 |
&9 | 蓝色 |
&a | 绿色 |
&b | 水蓝色 |
&c | 红色 |
&d | 浅紫 |
&e | 黄色 |
&f | 白色 |
&K | 乱码 |
&L | 加粗 |
&M | 删除线 |
&N | 下划线 |
&O | 斜体 |
&R | 颜色代码重置/清空 |
</spoiler>
条件要求(Conditions)
点击标题进入条件列表
鲲鲲: Conditions: - 条件 条件活动(默认为true) - 条件 Skills: - 技能 - 技能 目标选择器
目标选择器与过滤器(Targeters)概览
有关目标选择/过滤器の注意事项与更多内容请点击-->目标选择/过滤器页面
- 无目标类技能不需要目标选择器
- 技能组内目标不填写则为实体文档内该技能组所填写的目标选择器
- 检测条件所检测的目标随目标选择器变化,例如@self为检测自己
- @self时,Conditions/TargetConditions/TriggerConditions所检测の目标相同
- 范围类目标选择器有最大值,超过最大值时技能无效
- @self除外的实体目标选择器,Conditions检测施法者(与上述一样)TargetConditions检测技能的目标
- MythicMobs/Skills/Targeters#.E5.8D.95.E5.AE.9E.E4.BD.93.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8@trigger时,TargetConditions/TriggerConditions所检测的目标相同
- @self不同于@selflcation,本质上一个实体选择器一个位置选择器,其次selflcation选择的是脚下,而不是实体"中心"
触发器
无法写在技能文档内
可用的所有触发器 | |||
---|---|---|---|
触发器 | 描述 | 血量 | 几率 |
onCombat | 默认 | √ | √ |
onAttack | 实体造成伤害(包括技能)后 | √ | √ |
onDamaged | 实体受到伤害后 | √ | √ |
onSpawn | 实体生成后 | × | √ |
onDeath | 实体死亡后 | × | √ |
onDeSpawn | 实体非因死亡而消失后(添加于4.6.x) | × | √ |
onFirstSpawn | 实体第一次从刷怪点出生后 | × | √ |
onTimer:# | 经过多少刻后 | √ | √ |
onInteract | 实体被右键后 | √ | √ |
onKillPlayer | 实体击杀玩家后 | √ | √ |
onPlayerDeath | 玩家(施法者)死亡后 | × | √ |
onEnterCombat | 实体开始战斗后(需开启威胁度) | √ | √ |
onDropCombat | 实体停止战斗后(需开启威胁度) | √ | √ |
onChangeTarget | 实体改变目标后(需开启威胁表) | √ | √ |
onExplode | 实体爆炸后(经常只用于爬行者) | √ | √ |
onTeleport | 实体传送后(经常只用于末影人) | √ | √ |
onSignal | 实体接收到信号后 | √ | √ |
onShoot | 实体射击后 | √ | √ |
onSignal:信号名[/i] | 实体接收到特定信号后 | √ | √ |
使用栗子
示例 |
---|
Skills: - ignite{ticks=100} @target ~onAttack - skill:鲲鲲Shield @trigger ~onDamaged 0.1 - skill:AOE鲲鲲 @self ~onTimer:300 在这个栗子里,实体将目标点燃5秒,受伤使用 鲲鲲Shield 每15秒使用 AOE鲲鲲 技能。 Skills: - onDamaged{ auraName=测试;d=200; onTick=[ - particles{p=flame;amount=10;hS=0.4} ]; damageMods="FIRE 0.5"} @self ~onInteract 实体被右键后自身获得持续10秒名为'测试'的光环,期间受到FIRE类型的伤害减半,并不断释放火焰粒子,这个栗子是新技能写法 4.8.0+的触发器技能↓ 鲲鲲: Type: Zombie Skills: - skill:鲲鲲 @self ~onDamaged 鲲鲲: Skills: - onDamaged{ auraName=鲲鲲护盾;d=200; onTick=[ - particles{p=flame;amount=10;hS=0.4} ]; damageMods="FIRE 0.5"} @self ~onInteract在这个例子里,当鲲鲲受伤的时候激活鲲鲲这个技能,鲲鲲会获得名为"鲲鲲护盾"的光环持续10秒,并在持续期间不断释放火焰粒子,并在自身被右键的时候免去一半火焰类型的伤害. |
触发器与 @trigger 目标选择器
不同于 @target(施法者の目标) @Trigger 所选择の是 激活触发器の实体
如,施法者目标是鲲鲲,鲨鲨伤害了施法者,且施法者使用了触发器:onDamaged
那么技能的目标会是鲨鲨,如果目标选择器为:@Target,则为鲲鲲
自定义技能修改项变量(4.12+ Skill Parameters)
自定义技能修改项变量是一个全新の付费版机制,允许你为技能组自定义新の变量(赋值于修改项),用于给该技能组内的其他技能使用
在该机制出现前,技能组一般这么写↓
技能伤害为20: Skills: - damage{amount=20} - 一些粒子 技能伤害为50: Skills: - damage{amount=50} - 一些粒子
实体文档:
鲲鲲: Type: Zombie Skills: - skill:技能伤害位20 目标选择器 ~onAttack 鲨鲨: Type: Zombie Skills: - skill:技能伤害位50 目标选择器 ~onAttack
有了自定义技能参数,技能组可以这么写↓
技能伤害自定义: Skills: - damage{amount=<skill.技能伤害>}
实体文档:
鲲鲲: Type: Zombie Skills: - skill:技能伤害自定义{技能伤害=20} ~onAttack 鲨鲨: Type: Zombie Skills: - skill:技能伤害自定义{技能伤害=50} ~onAttack
另一个技能组栗子:
鲲鲲: Skills: - particles{amount=<skill.粒子数量>} - damage{amount=<skill.技能伤害OwO>}
实体文档:
鲲鲲: Type: Zombie Skills: - skill{s=技能;粒子数量=2;技能伤害OwO=5}