rokukoo/AzureFlow-issues

✨[Feature] 关于action类型: cast 触发MM技能的补充

Opened this issue · 1 comments

官方WIKI:https://rokuko.gitbook.io/azureflow

反馈须知

  • 已查阅wiki不存在该功能

功能描述

请描述您的想法,该功能的意义、作用

  • 前者Issues引入

见已提出的建议 #7
作出对于MM技能触发的补充

通过 cast 动作来触发 MM的技能
在动作组其下拥有分支子选项
cast:
Type: <mm/skillapi/planner> #调用的插件
Name: <技能代码> #其他插件的技能名称
Action: <动作类型> #技能的触发方式
Chance: <触发概率> #技能的触发概率
Time: <冷却时间> #技能的冷却
Group: <冷却组名> #技能的冷却组
Msg: ‘&f技能冷却剩下 $cd &f秒’ #当技能在冷却期间尝试触发的提示
--------------------
注: 子选项 <Group> 的意义在于,当多个技能属于同一类的时候读取相同的冷却时间
例: 现有2个技能分别为 <小火球> <大火球> 而我将它们定义为同一类的技能 --- 就 大火球 是 小火球 的升级版
当玩家同时拥有两个技能物品时,释放其中一个技能后,受到设定的冷却且不能释放另外一个技能
--------------------
列举一些动作类型:
- 左键 # Left
- 中键 # Middle
- 右键 # Right
- 蹲下左键 # Shift+Left
- 蹲下中键 # Shift+Middle
- 蹲下右键 # Shift+Right
- 攻击时(目标为受击者) # Attack
- 受击时(目标为自身) # Damaged
# 欢迎作出补充 owo

仅针对 < Spigot 1.12.2 > 作出描述

以我本人目前所在使用的两款插件来实现释放MM技能为主

[1] GuoItemLoreCommand ## GILC

此插件为国人原创纯中文配置的一款插件
但目前已长时间没有更新,且不再维护
附: https://www.mcbbs.net/thread-682208-1-1.html

[2] MythicArtifacts ## MMA

此插件曾经在MythicCraft上为付费资源(现最终版本 #v0.1.25 不再收费)
附: https://mythiccraft.io/index.php?resources/replaced-artifacts-mythic-items.37
后在高版本被MythicCrucible(MMC)所代替且成为付费资源
附: https://mythiccraft.io/index.php?resources/crucible-create-unbelievable-mythic-items.2/

释放MM技能的主要方式

  1. 实现方式一

使用GILC通过判断物品上的Lore标签来执行MM本体的指令

  • mm test cast <技能代码>

下面放出插件配置代码
#以事件其一的ClickTrigger.yml(点击事件)配置为例
凌魂爆:
检测描述: '&f凌魂爆'
点击类型: 右键
玩家指令:
- '[op]:mm test cast 凌魂爆'
后台指令: []
开启使用提醒: false
使用信息: ''
物品模块:
需求堆叠数量: 1
需求不足提示: ''
是否消耗物品: false
冷却模块:
是否启用该模块: true
冷却组: '凌魂爆'
冷却时间: 15000
是否提醒冷却中: true
冷却中提醒信息: '&8[&b蓝空之域&8] &7还在冷却中噢!&b(%less%)&7...'
权限模块:
是否启用该模块: false
检测的权限: ''
是否提醒权限不足: false
权限不足提示信息: ''
动作模块:
是否启用该模块: false
需要奔跑: false
需要蹲下: false
需要格挡: false
需要浮空: false
姿势不对是否提示: false
姿势不对提示信息: ''

以上配置用意在于:

当在物品上检测到含有 &f凌魂爆 的Lore后
玩家持有并右键后会跨权触发指令 mm test cast 凌魂爆

  • 缺点:

会蹦出一条英文的技能释放提示 (原生插件自定义显示文本)
仅在 MM 4.13+ 的版本执行的时候添加 -s 的参数可隐藏
会往控制台输出信息 影响整体观感 与 玩家的游玩体验
技能的触发器不如MMA/MMC来的丰富

  • 优点:

特有的冷却提示机制,当玩家在技能冷却中尝试释放的时候,提示信息与剩余的冷却时间(信息可自定义)
无需如同MMA/MMC来挂钩NBT标签释放技能 # 简单来说就是有描述就能触发
简单易懂的配置文件,高自定义度输出信息

  1. 实现方式二

使用MMA在MM物品上直接配置技能
尘能级-炽炎开拓者:
Id: 270
Display: '&7「&8尘能级&f⊰ ¤ ⊱&c炽炎开拓者&7」'
Lore:
- '&9&l◣&7工具&9&l◥ &9&l◣&8尘&9&l◥'
- '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓'
- ''
- ' &c◆ &8韧性: &b10%'
- ' &c◆ &8闪避几率: &b10%'
- ' &c◆ &8移速增幅: &b30%'
- ''
- '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓'
- ' &9₪ &8尘能之击 &9₪'
- ' &3右键&7向周围&a3&7格内的&8尘级矿物'
- ' &7造成&e2&7点伤害'
- ' &b冷却: &d0.5秒'
- '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓'
- ' &9₪ &8尘能破 &9₪'
- ' &3左键&7向周围&a5&7格内的&8尘级矿物'
- ' &7造成&e10&7点伤害'
- ' &b冷却: &d30秒'
- '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓'
- ' &7蕴含着微弱的炽炎能量'
- '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓'
Skills:
- skill{s=炽神怒聚} ~onSwing #左键触发
- skill{s=炽神怒} ~onUse #右键触发
Attributes:
MAINHAND:
AttackSpeed: 10
Options:
Unbreakable: true
HideFlags: true

  • 缺点:

只判定某物品上是否拥有MMA特有的NBT标签来触发技能
由此,无法在一些锻造插件的物品上挂钩技能
无法更好的提示玩家当前技能冷却

  • 优点:

可调用一些更多触发器
拥有实用的物品选项设置
附: https://gitlab.com/TranslatedByShark/Mythic-Manual-CN/-/wikis/%E6%8A%80%E8%83%BD/%E8%A7%A6%E5%8F%91%E5%99%A8
附: https://gitlab.com/TranslatedByShark/MythicCrucible-Manual-CN/-/wikis/home

备注信息

需要额外说明的内容

  • 感谢如此之耐心的看完本篇!
  • 一定要优先支持调用MM啊呀呀呀~~~

官方WIKI:https://rokuko.gitbook.io/azureflow

反馈须知

  • 已查阅wiki不存在该功能

功能描述

请描述您的想法,该功能的意义、作用

  • 前者Issues引入

见已提出的建议 #7
作出对于MM技能触发的补充

通过 cast 动作来触发 MM的技能 在动作组其下拥有分支子选项 cast: Type: <mm/skillapi/planner> #调用的插件 Name: <技能代码> #其他插件的技能名称 Action: <动作类型> #技能的触发方式 Chance: <触发概率> #技能的触发概率 Time: <冷却时间> #技能的冷却 Group: <冷却组名> #技能的冷却组 Msg: ‘&f技能冷却剩下 $cd &f秒’ #当技能在冷却期间尝试触发的提示 -------------------- 注: 子选项 <Group> 的意义在于,当多个技能属于同一类的时候读取相同的冷却时间 例: 现有2个技能分别为 <小火球> <大火球> 而我将它们定义为同一类的技能 --- 就 大火球 是 小火球 的升级版 当玩家同时拥有两个技能物品时,释放其中一个技能后,受到设定的冷却且不能释放另外一个技能 -------------------- 列举一些动作类型: - 左键 # Left - 中键 # Middle - 右键 # Right - 蹲下左键 # Shift+Left - 蹲下中键 # Shift+Middle - 蹲下右键 # Shift+Right - 攻击时(目标为受击者) # Attack - 受击时(目标为自身) # Damaged # 欢迎作出补充 owo

仅针对 < Spigot 1.12.2 > 作出描述

以我本人目前所在使用的两款插件来实现释放MM技能为主

[1] GuoItemLoreCommand ## GILC

此插件为国人原创纯中文配置的一款插件
但目前已长时间没有更新,且不再维护
附: https://www.mcbbs.net/thread-682208-1-1.html

[2] MythicArtifacts ## MMA

此插件曾经在MythicCraft上为付费资源(现最终版本 #v0.1.25 不再收费)
附: https://mythiccraft.io/index.php?resources/replaced-artifacts-mythic-items.37
后在高版本被MythicCrucible(MMC)所代替且成为付费资源
附: https://mythiccraft.io/index.php?resources/crucible-create-unbelievable-mythic-items.2/

释放MM技能的主要方式

  1. 实现方式一

使用GILC通过判断物品上的Lore标签来执行MM本体的指令

  • mm test cast <技能代码>

下面放出插件配置代码 #以事件其一的ClickTrigger.yml(点击事件)配置为例 凌魂爆: 检测描述: '&f凌魂爆' 点击类型: 右键 玩家指令: - '[op]:mm test cast 凌魂爆' 后台指令: [] 开启使用提醒: false 使用信息: '' 物品模块: 需求堆叠数量: 1 需求不足提示: '' 是否消耗物品: false 冷却模块: 是否启用该模块: true 冷却组: '凌魂爆' 冷却时间: 15000 是否提醒冷却中: true 冷却中提醒信息: '&8[&b蓝空之域&8] &7还在冷却中噢!&b(%less%)&7...' 权限模块: 是否启用该模块: false 检测的权限: '' 是否提醒权限不足: false 权限不足提示信息: '' 动作模块: 是否启用该模块: false 需要奔跑: false 需要蹲下: false 需要格挡: false 需要浮空: false 姿势不对是否提示: false 姿势不对提示信息: ''

以上配置用意在于:

当在物品上检测到含有 &f凌魂爆 的Lore后
玩家持有并右键后会跨权触发指令 mm test cast 凌魂爆

  • 缺点:

会蹦出一条英文的技能释放提示 (原生插件自定义显示文本)
仅在 MM 4.13+ 的版本执行的时候添加 -s 的参数可隐藏
会往控制台输出信息 影响整体观感 与 玩家的游玩体验
技能的触发器不如MMA/MMC来的丰富

  • 优点:

特有的冷却提示机制,当玩家在技能冷却中尝试释放的时候,提示信息与剩余的冷却时间(信息可自定义)
无需如同MMA/MMC来挂钩NBT标签释放技能 # 简单来说就是有描述就能触发
简单易懂的配置文件,高自定义度输出信息

  1. 实现方式二

使用MMA在MM物品上直接配置技能 尘能级-炽炎开拓者: Id: 270 Display: '&7「&8尘能级&f⊰ ¤ ⊱&c炽炎开拓者&7」' Lore: - '&9&l◣&7工具&9&l◥ &9&l◣&8尘&9&l◥' - '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓' - '' - ' &c◆ &8韧性: &b10%' - ' &c◆ &8闪避几率: &b10%' - ' &c◆ &8移速增幅: &b30%' - '' - '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓' - ' &9₪ &8尘能之击 &9₪' - ' &3右键&7向周围&a3&7格内的&8尘级矿物' - ' &7造成&e2&7点伤害' - ' &b冷却: &d0.5秒' - '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓' - ' &9₪ &8尘能破 &9₪' - ' &3左键&7向周围&a5&7格内的&8尘级矿物' - ' &7造成&e10&7点伤害' - ' &b冷却: &d30秒' - '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓' - ' &7蕴含着微弱的炽炎能量' - '&3&l〓< &e&m &8&m &7&m &8&m &e&m &3&L >〓' Skills: - skill{s=炽神怒聚} ~onSwing #左键触发 - skill{s=炽神怒} ~onUse #右键触发 Attributes: MAINHAND: AttackSpeed: 10 Options: Unbreakable: true HideFlags: true

  • 缺点:

只判定某物品上是否拥有MMA特有的NBT标签来触发技能
由此,无法在一些锻造插件的物品上挂钩技能
无法更好的提示玩家当前技能冷却

  • 优点:

可调用一些更多触发器
拥有实用的物品选项设置
附: https://gitlab.com/TranslatedByShark/Mythic-Manual-CN/-/wikis/%E6%8A%80%E8%83%BD/%E8%A7%A6%E5%8F%91%E5%99%A8
附: https://gitlab.com/TranslatedByShark/MythicCrucible-Manual-CN/-/wikis/home

备注信息

需要额外说明的内容

  • 感谢如此之耐心的看完本篇!
  • 一定要优先支持调用MM啊呀呀呀~~~

优秀详细的补充方案,赞一个
其实方案一可能还会有两个缺点,一个是解析lore带来的性能占用会大于读取NBT节点、第二个是直接给予瞬时op进行越权其实是有些危险的(虽然大部分情况下都不会造成危害),一般都是使用后台执行,不过mm的那个命令好像也没法后台执行。

对于af物品的使用冷却和冷却动画我觉得还可以单独再开一个功能请求issue,不过六子大佬说也可能到时会提供js脚本模板进行这个功能的实现。