- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobs/Skills
技能(Skills)
- 一列可用的技能详细列表
- 将写好的技能放在MythicMobs/Skills内
- 技能为MM插件的一大特点。所有MM生物都可以根据不同情况发动技能
- 一个完整的技能由以下几个构成
技能名
特效类技能
技能目标对象Targeters
简易的技能触发要求Triggers
更高级的触发Conditions
技能列表
=目标/无目标/特殊/特效类技能
目标类技能|无目标类技能|特殊类技能|特效类技能 通过点击上方的文字浏览相应类型的技能列表,或在技能列表页面浏览全部技能
通用标签
一列适用于所有技能的标签,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 10 #0.5秒 - 技能2 在0.25秒后释放技能,0.75秒(0.25秒+0.5秒)后释放技能2 |
repeat(不可缩写)-重复激活(次数) |
---|
这是一个例子 测试: Skills: - skill{s=技能;repeat=50;repeatInterval=1} @self 在50tick(1tick/次x50次)内连续释放50次技能 |
repeatInterval(不可缩写)-重复间隔 |
---|
这是一个例子 测试: 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,所以在测试重复释放“技能”期间,只会释放两次"技能" |
技能威力(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
技能顺序格式
鲲鲲: Type: ZOMBIE Display: '鲲鲲' Health: 50 Skills: - 技能 1 - ...
大概就是这样,那一个实际的例子是怎样的呢?
鲲鲲: Type: ZOMBIE Display: '鲲鲲' Health: 50 Skills: - ignite{ticks=100} @target ~onAttack <50% 0.5
就是这样,现在我们来详细看下一个技能的格式
Skills: - 技能名{技能修改项=数值或是否} 目标选择器 ~on激活条件 血量要求(栗:>2%) 几率
技能(Mechanics)
- 技能名字,技能最重要最优先的东西,不支持部分特殊符号
- 大部分技能都有可修改项。就跟在技能名字的后面,填写于{ }的里面。而每个修改项用符号;分隔
Skills: - 技能名{技能修改项=数值或是否;技能修改项=数值或是否;技能修改项=数值或是否}
- 你也可以像下面这样换行使其更易于编辑,不过请保证格式正确
Skills: - 技能名{} 技能修改项=数值; 技能修改项=数值; 技能修改项=数值; }
- 大部分的技能格式都是这样的啦,再举个例子,比如想生物把攻击对象点燃5秒(5秒=100刻,1秒=20刻)
Skills: - ignite{ticks=100}
技能目标(Targeters)
Skills: - 技能名{技能修改项=数值或是否} 目标选择器{选择器修改项=数值}
- 在看回我们之前的例子,点火
Skills - ignite{ticks=100} @target
- 又或者你想技能:点燃激活位置半径范围5格下的所有玩家
Skills: - ignite{ticks=100} @PlayersInRadius{r=5}
- 只要记住,目标就是技能的目标
触发条件(Triggers)
Skills: - 技能名{技能修改项=数值或是否} 目标选择器{选择器修改项=数值} ~on激活时
- 在看回我们先前的例子...我们想生物每次进行攻击时使用一次5秒的点燃技能
Skills: - ignite{ticks=100} @target ~onAttack
血量要求(Health Modifiers)
- 血量要求,用于确定当生物的血量满足什么情况下技能才可以发动
使用这三个判定符=,<,>
以下几个例子
=90% - 血量到达90%时触发 <50% - 血量小于50%时触发 =30%-50% - 当血量为30%到50%之间时触发 <2000 - 血量小于2000点时触发 >500 - 血量大于500点时触发 >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
特殊符号
<spoiler>
变量 | 描述 |
---|---|
<&co> | 返还冒号 : |
<&sq> | 返还撇号 ' |
<&da> | 返还减号 - |
<&bs> | 返还反斜杠 \ |
<&fs> | 返还斜杠 / |
<&sp> | 返还空格 |
<&cm> | 返还逗号 , |
<&sc> | 返还分号 ; |
<&eq> | 返还等号 = |
<&ss> | 返还分节符 § |
<&dq> | 返还双引号 " |
<&rb> | 返还右方括号 ] |
<&lb> | 返还左方括号 [ |
<&rc> | 返还右大括号 } |
<&lc> | 返还左大括号 { |
<&nl> | 另起新的一行 |
<&heart> | 返还一个爱心符号 |
<&skull> | 返还一个骷髅骨头符号 |
</spoiler>
颜色代码
可使用于生物或技能内,也能用于tellraw命令内
- 在部分预览版本被§所替代!
<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)
点击标题进入条件列表
恭喜你发现了彩蛋!
鲲鲲:感谢CHuNan帮忙搬运QWQ
CHuNan:其实我就是个打酱油的
点击此处隐藏彩蛋
目标选择器与过滤器(Targeters)
有关目标选择/过滤器的注意事项与更多内容请点击-->目标选择/过滤器页面
- 无目标类技能不需要目标选择器
- 技能组内目标不填写则为生物Yml内该技能组所填写的目标选择器
- 检测条件所检测的目标随目标选择器变化,例如@self为检测自己
- @self时,Conditions/TargetConditions/TriggerConditions所检测的目标相同
- 范围类目标选择器有最大值,超过最大值时技能无效
- @self除外的实体目标选择器,Conditions检测施法者(与上述一样)TargetConditions检测技能的目标
- @trigger时,TargetConditions/TriggerConditions所检测的目标相同
- @self不同于@selflcation,本质上一个实体选择器一个位置选择器,其次selflcation选择的是脚下,而不是实体"中心"
触发器
可用的所有触发器 | |
---|---|
触发器 | 何时触发... |
onCombat | 默认 |
onAttack | 生物攻击后 |
onDamaged | 生物受到伤害后 |
onSpawn | 生物生成后 |
onDeSpawn | 生物非因死亡而消失后(添加于4.6.x) |
onFirstSpawn | 生物第一次从刷怪点出生后 |
onDeath | 生物死亡后 |
onTimer:# | 多少tick后 |
onInteract | 生物被右键后 |
onKillPlayer | 生物击杀玩家后 |
onPlayerDeath | 玩家死亡后 |
onEnterCombat | 生物开始战斗后(需要开启威胁表) |
onDropCombat | 生物停止战斗后(需要开启威胁表) |
onChangeTarget | 生物改变目标后(需要开启威胁表) |
onExplode | 生物爆炸后(经常只用于爬行者) |
onTeleport | 生物传送后(经常只用于末影人) |
onSignal | 生物接收到信号后 |
onShoot | 生物射击后 |
onSignal:信号名[/i] | 生物接收到特定信号后 |
使用触发器
示例 |
---|
[[MythicMobs/Skills|Skills]]: - ignite{ticks=100} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@target]] ~onAttack - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=鲲鲲Shield} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|trigger]] ~onDamaged 0.1 - [[MythicMobs/Skills|skill]]{[[MythicMobs/Skills|s]]=AOE鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onTimer:300 在这个栗子里,生物将目标点燃5秒,受伤使用 鲲鲲Shield 每15秒使用 AOE鲲鲲 技能。 [[MythicMobs/Skills|Skills]]: - onDamaged{ auraName=测试;d=200; onTick=[ - particles{p=flame;amount=10;hS=0.4} ]; damageMods="FIRE 0.5"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|self]] ~onInteract 生物被右键时自身获得持续10秒名为'测试'的光环,期间受到FIRE类型的伤害减半,并不断释放火焰粒子,这个栗子是新技能写法 |
4.8.0+的触发器技能 |
---|
鲲鲲: Type: Zombie [[MythicMobs/Skills|Skills]]: - [[MythicMobs/Skills|skill]]{[[MythicMobs/s|技能]]=鲲鲲} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onDamaged 鲲鲲: [[MythicMobs/Skills|Skills]]: - onDamaged{ auraName=鲲鲲护盾;d=200; onTick=[ - particles{p=flame;amount=10;hS=0.4} ]; damageMods="FIRE 0.5"} [[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29|@self]] ~onInteract 在这个例子里,当鲲鲲受伤的时候激活鲲鲲这个技能,鲲鲲会获得名为"鲲鲲护盾"的光环持续10秒,并在持续期间不断释放火焰粒子,并在自身被右键的时候免去一半火焰类型的伤害. |
不使用触发器....
若不写触发器,它会默认为onCombat,既生物受伤/攻击/出生/死亡都会触发技能
Skills: - skill:鲲鲲 =10%-90%
生物血量在最大生命值的10-90%之间受伤/攻击会触发 鲲鲲 技能,。
@trigger 目标选择器
不同于@target,@target选择的是施法者的目标,而@trigger会选择令施法者激活触发器的目标,栗子,施法者在追玩家B,玩家A伤害了施法者,且施法者使用了触发器onDamage,那么技能的目标会是玩家A,如果目标选择器写@target,那么目标会是玩家B,触发器onSignal也支持这个目标选择器
详细信息 & 示例
<spoiler>
- ~onSpawn
- ~onDeath
- ~onDeSpawn
- ~onAttack
- ~onDamaged
- ~onExplode
- ~onTeleport
- ~onTimer:<ticks>
- ~onPlayerKill
- ~onEnterCombat
- ~onDropCombat
- ~onTargetChange
- ~onInteract
- ~onSignal 或 ~onSignal:信号
- 在生物收到特定信号后触发技能
</spoiler>
自定义技能修改项变量(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>}
生物Yml:
鲲鲲: Type: Zombie Skills: - skill{s=技能;粒子数量=2;技能伤害OwO=5}