GithubHelp home page GithubHelp logo

azureflow-issues's Introduction

  • 👋 Hi, I’m @rokukoo
  • 👀 QQ: 1873518094
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

azureflow-issues's People

Contributors

luoxiawuchen avatar rokukoo avatar

Watchers

 avatar

azureflow-issues's Issues

🐛 [BUG] 手持MOD物品创建时,material无法正常填入modid

官方WIKI:https://rokuko.gitbook.io/azureflow
描述清晰,排版整洁,错误日志详细的反馈通常会优先处理

反馈须知

  • 我已详细查阅wiki
  • 我已正确安装相关依赖

服务端类型

请填写您的服务端类型与Minecraft版本
如:spigot-1.16.5、paper-1.18.2

catserver-1.16.5、mohist-1.16.5、arclight-1.16.5

错误描述

请详细地描述您遇到的问题

当手持MOD物品创建时,material无法正常填入modid,会显示为AIR&LEGACY_AIR
需要手动删除,并修改为对应MODID,并重载插件,material才能被正常载入mod物品
当然,这或许并不是AF的问题,毕竟是直接获取bukkit的枚举,而服务端一般会将物品注册进bukkit

错误日志

建议将错误日志上传至 https://paste.ubuntu.com/
并以链接形式提交

备注信息

需要额外说明的内容

✨[Feature] /af list物品列表优化建议

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

为列表参数添加tab补齐提示
为/af list命令查看物品列表 的可选参数(--m --s)添加tab补齐提示

物品list聊天栏简化UI
当不加参数时,/af list 可以直接将物品列表形式在聊天栏中,可以通过点击文本,切换页码
移动到对应物品名时,可以查看物品的详细描述(tiptools)

备注信息

需要额外说明的内容

✨[Feature] 添加AttributeModifiers 属性修饰符

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

属性修饰符,可以用于修饰原版属性,例如让木棍也能拥有伤害与攻击速度,又或者让这些原版武器的伤害得到改变,同时还能规定这些mc原版属性生效的槽位等。

通过属性修饰可以把剑自带的伤害”去掉“,或者做一些模板武器类型:

  • 巨剑(初始伤害高,攻速慢)
  • 重甲(提供不同的击退抗性)

相关应用还有很多,也可以单纯作为一种属性来用于RPG(但afs不香么)

内容比较多,感谢六佬的耐心阅读!🌟

备注信息

需要额外说明的内容

以下内容参自[https://www.bilibili.com/read/cv13636973/ 作者:iu1hwu]

在NBT标签中,AttributeModifiers 有以下参数

{
AttributeModifiers:[
{Operation:布值b,
Amount:双精d,
UUID:[I;1214111111,1222222322,1333333334,1444445444],
Slot:位置,
AttributeName:"属性",Name:"属性"}
]
} 

Amount: 数值
表示被修饰属性的数值,和Operation配合使用
允许多个,但强烈建议只填写一个,填多了会很绕,填多少就会加多少属性值

Operation:
0表示增加,
1表示以基础值*(1+Amount数值+Amount数值)有多少个Amount数值就会增加多少个,
2表示基础值*(1+Amount数值)*(1+Amount数值)

UUID:
一个整型数组,一共4组,每组8位整数,基本上是随便填的,
直接复制上面的就可以用了,没有什么特殊意义,但不建议让多个属性修饰符的UUID相同,
有极小概率出现未知错误。

Slot:
槽位,属性生效的槽位,在主手装备时生命值提升,放副手无效果
槽位类型:mainhand - 主手、offhand - 副手、head - 头、chest - 身、legs - 腿、feet - 脚

AttributeName&Name:
算是有些意义不明的设计,Name填相同属性名即可,主要判定的应该是AttributeName值
原版属性类型:(也可以通过/data 查询)

generic.max_health(最大生命值) 0~1024

generic.attack_damage(攻击伤害)0~2048

generic.follow_range(生物的追踪距离)0~2048

generic.movement_speed(移动速度)0~1024 这个属性挺迷的,也不知道具体如何运算的,有时候实际值会比这个值大

generic.knockback_resistance(击退抗性) 0~1.0

generic.armor(护甲)0~30

generic.attack_knockback(击退)疣猪兽/劫掠兽/僵尸疣猪兽可用

generic.armor_toughness(护甲韧性)0~20

generic.attack_speed(攻击速度)仅玩家,0~1024

generic.luck(幸运值)仅玩家,-1024~1024

horse.jump_strength(弹跳力)只用于马,跳跃高度,0~1.0

generic.flying_speed (飞行速度) 只用于鹦鹉,0~1024

zombie.spawn_reinforcements(生成援军) 仅僵尸/僵尸猪灵,僵尸收到攻击会尝试生成新的僵尸

🐛 [BUG][1.13+] 1.13版本及以上无法正常使用AF创建命令

官方WIKI:https://rokuko.gitbook.io/azureflow
描述清晰,排版整洁,错误日志详细的反馈通常会优先处理

反馈须知

  • 我已详细查阅wiki
  • 我已正确安装相关依赖

服务端类型

请填写您的服务端类型与Minecraft版本
如:spigot-1.16.5、paper-1.18.2

spigot-1.16.5

错误描述

请详细地描述您遇到的问题

使用/af create 创建物品后,文件能够正常生成,但无法被正常/af get 物品ID 获取(命令补齐中也不会显示新创建的物品ID)
打开文件,发现生成的内容为:

display:
  material: LEGACY_AIR
internal:
  uuid: 9663d471-20cf-464e-a28a-745ca71f9470
  alias:
  - ctest

需要修改material,将"LEGACY_"去除,并重载插件后,物品才能够被正常载入
可能的原因:高低版本的物品ID存在差异,创建时生成了旧版的材质ID

错误日志

建议将错误日志上传至 https://paste.ubuntu.com/
并以链接形式提交

备注信息

需要额外说明的内容

✨[Feature] 添加Enchant 附魔功能

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

建议提供相关配置项,支持快速将"附魔"写入af物品

衍生出的两个问题:

  1. 填写附魔ID采用 mc命名空间 还是 bukkit枚举 (两者ID有较大差异)
  2. 附魔配置项归属问题(displayinternaldata、其他)

建议方案,或许可以新增一个配置项properties,然后将enchant置于properties的下级
properties可以用来存放附魔(enchant)、属性(Attributes)、nbt等mc数据

display:
  name: ' &b附魔物品'
  material: CHAINMAIL_CHESTPLATE

properties:
 enchant:
   - 附魔1 等级
   - 附魔2 等级
 attributes:
   - xxx
 nbt:
   - xxx
 flag: #标志 可以隐藏一些描述、附魔光效等,不过这个其实可以归类到display
   - xxx

备注信息

需要额外说明的内容

附魔(Enchant):被注册进bukkit的附魔类型
https://minecraft.fandom.com/zh/wiki/%E9%99%84%E9%AD%94

✨[Feature] 添加Proskillapi判定支持

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

Proskillapi(以下简称"PSK")是一款主流的RPG职业技能插件

- class,在PSK中被称为"职业"

- group,在PSK中被称为"种族/阵营“

- level,在PSK中被称为"等级“(区别与mc的附魔等级,PSK自带一套等级系统)

- attribute,在PSK中被称为"属性“(用于属性加点,力量、智力、体质等)

建议为check、condition #5(如果有的话)添加以下判据:

skillapi class - 获取玩家职业名,作为判据
skillapi group - 获取玩家种族/阵营名,作为判据

skillapi level - 获取玩家职业等级,作为判据
skillapi exp total - 获取玩家总经验值,作为判据
skillapi exp required - 获取玩家升级所需经验值,作为判据

skillapi attribute <AttributeType> - 获取玩家职业属性,作为判据(例如满足,力量>5,体质>5,才可以使用该物品)
skillapi skillpoints <SkillName> - 获取玩家某个技能的加点情况,作为判据(例如满足技能剑气5级或以上,才能使用该物品)

skillapi mana - 获取玩家法力数值,作为判据

当然,以上效果也可以用papi代替实现,但如果能做直接支持,应该会更加优雅(写法更简洁,性能也应该会比去解析papi变量高一些(猜测))

备注信息

需要额外说明的内容

API文档:
https://promcteam.github.io/proskillapi/javadocs/

Github:
https://github.com/promcteam/proskillapi/tree/dev

添加依赖:

<repository>
    <id>sonatype</id>
    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</repository>
...
<dependency>
    <groupId>com.promcteam</groupId>
    <artifactId>proskillapi</artifactId>
    <version>1.1.8-R0.13-SNAPSHOT</version>
</dependency>

获取职业名或种族名的获取有点特别,需要导入相关包:
import com.sucy.skill.SkillAPI
import com.sucy.skill.api.player.PlayerData

然后,获取职业名、组名(种族、阵营)(语法有误,仅供参考)
getPlayerData().getMainClass().getData().getName()
getPlayerData().getMainClass().getData().getGroup()

🐛 [BUG] 问题#9补充,高版本中部分物品材质无法被正常应用

官方WIKI:https://rokuko.gitbook.io/azureflow
描述清晰,排版整洁,错误日志详细的反馈通常会优先处理

反馈须知

  • 我已详细查阅wiki
  • 我已正确安装相关依赖

服务端类型

请填写您的服务端类型与Minecraft版本
如:spigot-1.16.5、paper-1.18.2

spigot-1.16.5

错误描述

请详细地描述您遇到的问题

此问题是 #9 的补充,
当高低版本的材质枚举值完全不同时,将导致材质功能完全失效,无法被正常应用
例如:木剑 1.12是 wood_sword 而在1.13+(或更高版本)为 wooden_sword
由于只识别 wood_sword(旧版枚举),又由于高版本不存在此ID,导致该数值无效,物品材质无法正常应用。

错误日志

建议将错误日志上传至 https://paste.ubuntu.com/
并以链接形式提交

备注信息

需要额外说明的内容

✨[Feature] 添加HideFlags 隐藏标签

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

允许设置HideFlags 隐藏物品部分信息,HideFlags:<参数>

参数在1~63之间,
1=附魔;
2=属性修饰符;
4=无法破坏;
8=能破坏的方块;
16=能放在的方块;
32=其他,比如药水效果;
63=所有资料。

除了物品名称和介绍,需要隐藏2种信息,比如说无法破坏和能破坏的方块就输入12,也就是4+8
该段描述参考自:https://www.bilibili.com/read/cv13636973/ 作者:iu1hwu

感谢六子大佬的耐心阅读🌟

备注信息

需要额外说明的内容

[六子语录]物品杀敌数

六子语录系列开张力
杀敌计数器
data:
kill_count: 0

display:
name: '已击杀: ${kill_count}'

action:
onKill:

  • 'set-data: kill_count + 1'
  • 'update'

✨[Feature] 添加condition 物品使用条件

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

看了看wiki似乎只有在action动作项目下才能进行check分支判断。
请问能否添加一个类似condition的选项呢?来判定玩家能否使用此物品。

当不满足条件时,这个物品的任何属性都是无效的,无法造成伤害、执行action等。
(或者也可以设定为无法穿戴(装备)、无法使用(物品),使用后物品无效,不执行伤害并自动切换至下一格快捷栏)

同时可以兼容af-state附属,不满足条件时,afs制作的属性失效
例如:用afs制作了一些属性(物理伤害、生命力、防御力等),设定物品使用条件为:需要职业-战士、需要等级-5;不满足时,这些afs属性不生效。

最后,感谢六子大佬的耐心阅读🌟

备注信息

需要额外说明的内容

✨[Feature] 新增action类型:cooldown:<time>:<render> 使用冷却

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

反馈须知

  • 已查阅wiki不存在该功能

功能描述

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

可能和delay有相似/冲突的地方
此外这个建议可能不是很好(或许有更好的解决方案)

执行该动作时,中断/暂停后续动作流,并添加计时器,并根据时间渲染原版冷却动画。(就是原版快捷栏上白色那种冷却条动画)计时期间,满足对应监听时(如:左右键物品、攻击等),自动取消对应的后续动作流(或新增一个触发器 "onCooldown",计时期间,当检测到其他触发器下执行的动作并被取消时,执行onCooldown内的动作)。

参数配置参考建议:

cooldown:<time>:<render>

- <time> 冷却时间:s秒

- <render> 是否渲染冷却动画:true/false

或许还需要新增一个触发器 onCooldown:
计时期间,允许执行对应动作流(比如action、title这类提示消息)

感谢六子大佬的耐心阅读!🌟

备注信息

需要额外说明的内容

✨[Feature] 关于action类型: cast 触发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啊呀呀呀~~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.