该版本配置文件有些改动,建议备份后重新生成
我还记得的改动:UI不再分类为hud和menu两个文件夹而是统一在ui文件夹
此外,原先UI可能突然用不了了,对于原Menu,打开配置将第一行的menu改为ui 对于hud 同样改为UI 并且加上一个配置项:isHud: true
其余的我也忘了,其实主要是把id的定义格式统一了一下,之前有的是配置项头做id有的是单独有个名为id的配置,现在都是统一以配置头作为id,删除原本配置重新生成大概就能看明白,UI配置格式以及API不再会有改动
修复
- 修复虚拟实体显示问题
- 精确场景相机坐标位置
- 修复重载会再次触发init end事件
- 修复Menu的background属性无效
- 修复bb文件动作的读取
- 修复槽位显示问题
- 修复槽位同步问题
- 修复冷却无法使用
- 修复GECOKLIB空轨
- 修复NBT语句读取识别类型错误
- 修复默认配置写出问题
- 修复模型的一个导致客户端崩溃的问题
- 修复客户端按键触发顺序无法正确判断抬起和按下
- 修复模型读取时长问题
- 修复动作控制器空动画其它轨道也变成空的问题
- 修复动作控制器主次顺序
- 修复相机初始化如果未开启自由模式转向不同步
- 修复相机初始化时未检测玩家是否健在
- 修复碰撞体积同步问题
- 修复隐藏骨骼重生时候的同步问题
- 修复设置动画控制器包同步问题
- 修复音频播放传入参数错误
- 修复初始化时同步模型可能崩溃
- 优化50% CPU能耗
- 修复骨骼自定义旋转会导致下一个同模型实体也受到影响的问题
- 修复ALT相机在锁定状态下不同步且松开后导致旋转错误的问题
- 修复音频异步加载导致的并发导致资源加载失败的问题
- 修复音频未在原版音频管理器重载的时候重载导致的ID错乱
- 修复动作控制器未同步至新进入的玩家
- 修复模型、物品图标加密资源加载方式无法加载
- 优化资源加载,减少不必要的内存占用
- 修复Shimmer容器语句无法正常赋值
- 修复Shimmer变量取值可能出现null
- 优化Shimmer点操作符寻址速度
- 修复Shimmer数字类型和字符串类型的运算类型错误
- 优化Shimmer数字类型运算大量重复拆箱造成的能耗
- 修复Shimmer调用工具集函数时装箱造成的能耗
- 移除Shimmer声明函数的显式临时变量命名以提高解析速度
- 修复Shimmer不部分不必要的上下文创建以减少内存占用
- 修复Shimmer递归上下文切换异常
- 优化Shimmer深递归(以斐波那契递归25层测试)
- 修复Shimmer赋值运算可能的歧义
- 整体优化Shimmer运行速度,增强JIT触发
- 优化Shimmer上下文管理,减少上下文创建次数
- 优化Shimmer作用域改为栈式作用域
- 修复async块的线程安全问题
- 经基准测试(JMH)Shimmer运算效率为原先约542%,深递归效率为原先约4540%
- 修复属性读取不同步
- 修复世界音频无法播放
- 修复了一个鬼畜问题但是我也不知道怎么修好的更新记录压根没人看随便写好了
- 修复槽位加载事件顺序
改动
- 明确API名称
- 增加了一些关于UI的接口
- 删除Menu类型UI的传递属性
- 插件完全更改为Kotlin开发(Taboolib太好使了)
- API重构
- 模型动作刷新率由20改到60
- 变更UI配置格式 改为Menu / HUD 统一加载
- 变更槽位配置格式,增加js支持
- 数据结构简化
- 按键触发改为可定义脚本(之前是触发指令/说话什么的)
- 生物按名称渲染模型迁移回到了客户端判断
- 生物按名称渲染移除碰撞体积设置,至于为什么,因为Bukkit.getEntity(UUID)这个函数是遍历
- 场景相机改为使用的时候同步而不是进服直接同步
- 客户端按键改为长按仅触发一次抬起和按下而不是持续触发
- 移除服务端内动画状态管理转为纯客户端(因为这个功能只有会写代码的才能用,然而会写代码的不需要我直接提供这种东西)
- 移除Shimmer临时变量的显性解析 统一改为无前缀解析
- UI 全息 动作控制器接入新版Shimmer
- 修复新版Shimmer若干bug
- UI改为预编译,加快初始化运算速度
- 优化全息上下文更新实现方式
- 生物血条加入match: default 【指针激活仅对有命名的实体生效】
添加
- API内部实现实体生命周期管理,设置一次属性即持久缓存
- HUD实现键盘以及鼠标交互
- 增加辅助按键ALT + R 重载插件以及客户端
- 区域创建工具
- 场景相机创建工具
- 玩家基岩模型设置API以及指令(持久保存)
- 玩家基岩模型动作控制器设置API以及指令(持久保存)
- 增加客户端动作控制器API
- 增加事件脚本
- 增加区域管理功能 用于未来的区域功能(可能未来也不会来,这玩意是用来做区域音乐标题啥的)
- 区域API
- 区域进出增加脚本支持(真没想到未来那么快就来了)
- 客户端API下的动作控制器增加状态速度
- 客户端API下的动作增加状态进入、中断、结束触发函数
- 模型解析增加"步"类型的支持
- 客户端API增加动画更新可用于自定骨骼旋转
- 客户端增加相机相关API
- 客户端增加运动按键相关API
- 添加模型粒子特效
- 增加自定义强制资源包加载 将资源包的zip文件放入本地目录pack或者加密zip的pack目录下即强制加载改资源包,且无法不加载该资源包
- 图片纹理加入抗锯齿
工作流改进
- API简化
- 针对包含id的配置项进行优化 以配置项名本身作为ID不需要再写一遍命名
- 资源路径直接填写本地路径自动从加密文件或者本地文件寻找不需要再加 xxx.zip前缀,避免二次配置