- 本次迭代版本号更新至2.2.0,其中含部分API破坏性更新
- 本次更新用Aria替代了Shimmer,如果出现行为和之前不一致,请第一时间提交错误
- 本次更新后,ArcartX本体将专注于维护(视市场竞争环境增加内容)
- 7.3 - 7.18将保持一段时间的高强度修复,但是这期间不处理任何“建议”类型反馈
- 更换底层至Blink,支持1.21.11/26.1/26.1.2/26.2
- 移除Glimmer,改为Aria,部分过时API移除,部分拼写错误API纠正[破坏]
- 修复网络信道校验恒为真
- 修复SQLite 连接空指针
- 修复MySQL 连接池参数重复赋值
- 修复事件构造函数空指针
- 修复网络消息 ID 非原子
- 修复ArcartXSender 缓存未命中时不存储
- 修复客户端包空安全
- 修复PlaceholderContext NPE
- 修复分片消息内存泄漏
- 修复恶意包可致 OOM 崩服
- 修复分片缓存无上限
- 加密升级服务端与客户端 Mod 须同步升级,新旧不兼容
- CPackConnection 解密后对客户端 message/code/resource 增加输入边界校验,防御畸形/超大数据 DoS
- 修复 ItemStack.hasLore 永远返回 false
- 修复副本世界区域索引失效
- 修复命令参数转换失败静默返回 0 继续执行
- 修复核心缓存用普通 HashMap 跨线程读写(实体/UI/代理/编辑器/控制器缓存 → ConcurrentHashMap)
- 修复 onDisable 不取消调度任务(Folia 下泄漏)→ 任务登记 + cancelAll()
- 修复事件取消失效
- 修复槽位数据库读写阻塞主线程:异步 JDBC + 主线程序列化;玩家缓存并发化;SQLite 共享连接加锁
- 修复 ScriptManager 共享脚本引擎跨线程并发
- 修复脚本 setHealth 无范围校验
- 修复槽位数据序列化的无效单引号手动转义(写入已 PreparedStatement 参数化,读取端反转义会损坏含特殊字符的 NBT)
- 修复 config 数字字段类型不符时抛晦涩 ClassCastException
- 修复配置 reload 的 clear()+重建非原子
- 修复命令校验失败 return false 触发 Bukkit 再打一遍 usage
- 修复多处空 catch 吞异常
- 修复 sendException 丢失来源上下文
- 修复命令注册失败只打 message 丢堆栈
- 修复 MythicMobs 生成事件重复创建实体
- NMS 桥接 lazy(NONE) 改为线程安全默认 lazy(跨线程访问)
- 简化 onPlayerMove 双重否定判断;去除冗余 !! 断言(SPackConnection、ScriptManager)
- 弃用类 internal.command / internal.config 迁移至 commons[破坏]
- 解散 internal 包:网络协议层 / 语言 / 消息子系统升为顶层包,与核心模块平级,消除包命名上的层级倒置[破坏]
- 封包接口拆分:ServerPacket(纯数据)/ ClientPacket(带处理逻辑)
- ArcartXAPI 暴露的可变集合改为只读视图
- 18 个 MythicMobs 机制类代码优化
- MythicMobs 机制注册的一长串 when 改为表模式
- EntityMovement 的 dash 系列抽出公共 helper
- sendPacketSync/Async 抽出 buildAndSend 去重
- MessageID 增加启动期重复 ID 自检
- WorldTextureBuilder 七个雷同方法收敛为单一 addAnimation + 枚举[破坏]
- 22 个配置 *Folder 收敛(基类工厂参数)
- 统一调度封装到 AsteroidScheduler,移除重复的 SchedulerUtils
- 命令可选参数在帮助文本中渲染为 [..]
- 部分面向用户的硬编码中文(踢出消息、配置迁移、HTTP/API 异常)接入语言系统
- 统一日志渠道到 sendException
- 通用语言管理器解耦具体语言枚举
- InteractionProxyManager 接入 ArcartXAPI 主入口
- HikariCP 配置增加 prepStmtCacheSize/prepStmtCacheSqlLimit/useServerPrepStmts
- 补充 KDoc(事件取参契约、setModel 重载、Sound/Effect 的 Java 调用约定、createProxy 延迟差异、配置迁移)
- 增加1.20.4 Forge支持
- 增加1.21.4 NeoForge支持
- 增加1.21.8 NeoForge支持
- 增加1.21.11 NeoForge支持
- 移除1.21 Forge支持
- 修复深层嵌套界面(如滚动列表里再放卡片、裁剪容器)中,内容会画出边界、裁剪区域错位的问题。
- 修复在使用多层 Boss 血条时,可能导致游戏崩溃、或让后续界面元素显示异常的问题。
- 修复界面卡顿或频繁刷新时,点击偶尔会落到错误的控件(点到刚刚消失或移动过的元素)上的问题,现在点击响应更准确。
- 修复关闭菜单、退出存档或断开服务器后,部分界面与 HUD 仍在后台残留、反复重连后越积越多导致卡顿的问题;退出世界/断线时现在会彻底清理所有界面与 HUD。
- 修复包含模型展示的界面在列表频繁刷新时,模型资源持续累积占用内存的问题。
- 修复滚动条、可拖拽控件通过脚本设置位置时偶尔跳位或不准确的问题。
- 修复在文本框中拖动选择文字时,按下右键或中键会意外打断选择的问题。
- 修复当菜单与 HUD 使用了相同 ID 时,服务器下发的脚本会被重复执行两次的问题。
- 修复观察者(Observer)控件指向滚动容器内元素时,会导致整个界面同步中断的问题。
- 修复只配置了定时任务、但没有配置模板时,定时器不生效的问题。
- 修复 HUD 分层渲染中,脚本取消单独某一层不生效、或反而把其余层一起取消的问题。
- 大幅优化界面渲染性能,显著降低运行时的内存占用与卡顿,控件数量多、界面复杂时更流畅、掉帧更少。
- 进度条与 Boss 血条的渲染更稳定,避免特效在个别情况下的闪烁或串用。
- 修复并发重载竞态
- 修复资源更新失败丢数据
- 修复命中缓存丢弃新资源 GPU 泄漏
- 修复下载串行
- 修复文字图标渲染异常
- 修复1.21.8 Background
- 修复1.21.11 Background
- 修复1.21.8 物品url渲染错误
- 修复1.21.11 物品url渲染错误
- 如果使用ax去替换实体/挂载特效,请不要使用LibsDisguises相关的任何内容
- 修复全息gif错乱
- 优化相机转向手感
- 相机对远程类型(如法杖等)增加弹道修正
- 修复全息血条匹配失败
- 全息血条val增加uid
- 修复1.21.8+带序列帧模型加载失败
- 修复1.21.8+物品渲染上下文错误
- 修复1.21.8+物品不同环境下偏移错位
- 修复1.21.11方块渲染上下文错误
- 修复过度剔除
- 修复死亡动画导致的客户端崩溃
- 修复ChatBox的getContent无法使用
- 调低文字最小阈值(限制这个是因为SDF渲染本身限制,如果太小文字是整个看不清的,虽然用原版也看不清)
- 修复mm投掷物注册首次无法加载
- 优化超大模型加载时的主线程占用
- 修复UIgetSameCount语句无效
- 修复1.21.8+由于延迟渲染导致的tip物品无法获取任何信息 该bug只涉及axUI
- 修复getlore颜色代码被剔除
- 修复UI文字深度导致的渲染问题
- 修复1.21.8+UI剪裁问题
- 修复itemeffect和原版tip深度的问题
- 修复某空实现导致的报错问题
- 增加Packet.clickSlot语句,用于纯点击物品槽位点击事件,且不会真的拿起物品,适用于替换菜单按钮
- 修复UI频繁打开概率卡死
- 基岩粒子mm语句增加允许以坐标为目标
- 修复1.21.1/1.21.4基岩粒子错位
- 增加playSound语句
- 修复模型基岩粒子帧remvoe为true却无法在结束时候删除
- 修复实体模型对应实体死亡基岩粒子没被清理
- 增加飞行状态同步
- 修复进出状态本地脚本start如果没有状态不触发
- 修复本地限流导致的状态机手感减弱
- 状态机增加增加sleep状态
- 修复状态机walk状态包含本地条件
- 增加网格模型的支持
- 增加内置玩家渲染器,启用功能后即开启 玩家动作、自定义护甲贴图、时装(关闭后这些功能将无效)
- 增加自定义护甲贴图
- 增加护甲绑定时装模型
- 增加玩家动作
- 增加模型镜头帧
- 增加模型GPU渲染路径,模型渲染目前为双路径,开启光影时,回退至多层CPU剔除优化,关闭后走高性能GPU路径(只对实体、玩家生效)
- 模型增加残影帧
- Mod端使用Aria替代Shimmer
更新
- 优化UI历史遗留问题
- 修复gif迭代后忘了实现默认接口了
- 修复1.21.4部分显示问题
- 增加文字预加载配置
- 扩大文字预加载范围减少异步加载的闪烁感
- 增加全局字体替换开关,关闭后原版界面无法使用ax增加的特殊格式
- 修复文字变暗问题
- 修复文字基线
- 修复文字大小
- 修复图形渲染过度内收
- 修复某个神秘因素导致1.20.1无法启动
- 修复世界文字渲染深度问题
- 修复tips会有1帧抽象渲染
- 修复手机端文字渲染
- 修复新版模型步帧的解析
- 修复对bbmodel molang帧的解析
- 修复对molang查询动画时间的步幅
- 修复新版布局卡片消息排列问题
- mm配置项增加拓展 Width Height ProxyWidth ProxyHeight
- 所有ax mm语句增加占位符支持
- 增加1.20.1forge版与史诗战斗mod的兼容性
- 修复覆盖颜色渲染
- 增加1.21.8 1.21.11NMS支持
- 增加客户端1.21.8 1.21.11支持
请注意,本次更新涉及重构较多,虽然已经经过内部测试确保更新版本基本稳定,生产环境可能仍存在一些小问题。我们会在近期进行及时进行小型版本更新
此版本后,本体近期应当不再添加重大更新,转为维护稳定以及更多版本支持。
本次更新聚焦:
* 更加完善的UI图形功能,增加多种内置特效、形状
* 更加完善且高性能的粒子
* 大幅提高模型帧率
* 大幅提高动画控制表达
* 全新文字渲染引擎,替换全局文字,增加多种文字特效(原版可用)
更新
- 修复mixin兼容问题
- 加快本地资源访问速度
- 修复和mm 5.11+版本冲突
- MODEL控件增加属性
- mythicmobs/key_words.yml迁移至link/mythicmobs_key_words.yml(如有老版配置自动迁移)
- 增加单件时装穿戴类型API
- 修复文字控件部分渲染问题
- 修复纹理控件部分渲染问题
- 修复模特控件不过渲染问题
- 修复模型控件内存溢出风险
- 优化网络通讯结构减少占用
- 优化区域进入退出判断算法
- 优化多轨控制器混合逻辑*
- 优化大角度旋转复位逻辑*
- 实体渲染器增加对鞘翅渲染的支持
- 增加了一些molang语句用于模型动画*
- 移除了对于head骨骼的被动旋转,如需根据玩家实际头朝向渲染,可使用molang
- 独立化玩家默认控制器(本次修改针对于不需要ac的生存服)*
- 优化实体渲染器算法
- 增加默认骨骼玩家模型渲染器第一人称手部渲染*
- 增加模型链接,可将其它模型的动作导入指定模型
- 完全重写客户端控制器(这包含了配置的改动,大体结构没有改变,但仍需进行手动修改迁移,做这个决定时确实进行了长时间的考虑,但老版本控制器是我几年前写的屎山,且设计上确有不足,我进攻了半天被屎埋住差点憋死,新版控制器减少了大部分内存占用以及多余查询和判断,并移除了手写判断条件,因为从始至终这玩意都是在判断玩家客户端的判断,压根没必要手写,且新版状态判断完全基于代码而非脚本,可获得更快的速度体验和更少的内存占用)
- 移除本体控制器配置文件夹,改为仅API可注册客户端控制器
- 客户端控制器加入禁止方向改变
- 迁移克洛诺斯大部分glimmer语句至本体
- 加入getPlaceholder glimmmer语句
- 加入sendUIPacket glimmer语句
- 加入dashAdvanced glimmer语句
- 修复方块放置空气时的报错
- 客户端itemstack对象增加toJson方法
- 修复UI报错导致崩溃
- 修复全息血条匹配错误
- setKeyBindingKeyName语句最后一位参数改为按键名(原参数是数字ID)
- 加入getKeyBindingKey语句,和之前已有语句的区别是,比如左ctrl 之前的语句返回的是 ‘左ctrl’ <- 这会根据客户端语言文件变化 而getKeyBindingKey返回的是mc的键位ID:key.keyboard.left.control
- keyPress函数参数优化,允许传入mc键位id 例如 key.xxx 也允许传入ax键位id,例如 G
- 修复步动画的bbmodel转换解析
- 修复平滑帧运算公式错误
- 兼容不同版本UI背景渲染写法
- 为预备高版本兼容,模型渲染模块进行大量重构,且对性能进行了些许提升
- 加入对neoforge ui的jei支持
- 加入对neoforge的shader支持
- 出于某些原因,1.21Forge版本似乎被很多mod遗弃了,AX并不打算兼容OPF系列的光影mod,所以在此版本如果使用光影可能对渲染造成未知影响
- 模型渲染进行再次重构优化,模型渲染效率约提升至160%(视硬件配置有所浮动)对于地图类型建模,使用多重优化,命中优化时帧率提升至约300%(视硬件配置有所浮动)
- 基岩粒子系统完全重构:
- 停止独立维护:原独立发布的「BedrockParticle」mod(基于LGPLv3协议)即日起不再维护。
- 全新实现,直接集成至ArcartX,新版粒子系统为完全重写,未使用、未引用、未衍生任何先前LGPLv3版本的代码,也未使用任何其他GPL许可的开源项目。
- 性能与特性:相较于旧版独立mod,帧率提升约1500%(视硬件配置有所浮动),同时新增了真正的定位器播放粒子功能。
- 文字渲染由AWT位图渲染改为SDF平滑渲染
- 文字排列算法大量优化
- 文字渲染增加动态流光效果
- 文字渲染增加描边效果
- 文字渲染增加RGB过渡渐变
- 加入全局文字替换,本次改动将使得任何文字相关mod与ArcartX冲突,并使任何地方的字体都可使用ArcartX的文字渲染格式,如图标、流光字等
- ui图形渲染新增支持圆形剪裁
- ui图形渲染新增支持圆角矩形剪裁
- ui图形渲染新增支持饼图剪裁
- ui纹理相关(不包括文字、实体等)支持浮点数的矩形剪裁,使进度条、血条、九宫格图片的剪裁效果更为稳定精准
- ui图形渲染增加流光滤镜
- ui图形渲染增加渐变滤镜
- ui图形渲染增加描边效果
- ui图形渲染增加阴影效果
- ui图形渲染增加霓虹效果
- ui图形渲染增加波纹点击效果
- ui图形渲染增加毛玻璃效果
- ui图形渲染增加霓虹呼吸效果
- ui图形渲染增加全息滤镜
- ui图形渲染增加能量滤镜
- ui运算层大幅重构,减少主线程类型转换次数,优化数据传递
- 控件增加属性radius
- 控件增加属性shape
- UI文字显示加入最小限制,文字会被限制在可视范围,而不是过小缩放导致看不清
- 移除对!&!的替换 改为将所有‘§k!’替换为‘§’ 通过此方法可以在聊天栏、物品名等位置使用ax文字渲染格式
- 增加基岩粒子相关API
- 定位器支持旋转
- 完全实现正确的模型定位器播放基岩粒子(已确认大量案例与编辑器行为一致)
- 为了未来模型增加更多功能,即将移除分体读取模型,未来将仅支持bbmodel格式,当前分体读取(即json+png多个文件读取)将保留一个中间版本作为过渡,并于下次中间版本迭代时完全移除。
- 修复物品模型定位器运算位置错误
- 移除所有模型伪LOD相关内容,新版渲染能耗已不需要拙略的伪LOD
- 增加方块靠近动画 默认为16格距离
- 增加第一人称物品动画
- 增加物品模型/第一人称动画模型定位器额外渲染
- 增加第一人称全功能camera控制:yaw pitch roll x y z fov.
- 修复平滑帧过渡为0失效的问题
- 客户端增加配置textshadow 关闭后所有文字不渲染阴影
- 客户端增加配置pixel_font 关闭后不对像素字体单独处理而是使用平滑处理
- 客户端增加preload列表,允许预加载本地资源,不走冷热数据。
- 还有很多我忘了是啥了,不过实际功能性变动应该都写在日志了
更新
这次主要是为了把堆积的bug修复先放出来,新功能下个版本发
- 属性读取增加对CraneAttribute的兼容性
- 修复hud获取槽位物品语句
- 修复1.21.1neo隐藏hud失败
- 修复1.21.4fabric血量上限1024
- 修复1.21.1neo hud变暗
- 修复和史诗战斗的冲突
- 移除插件端对1.18.0nms的支持
- 修复补全对于回溯历史命令时的冲突
- 修复补全控件显示非当前选中值
- 修复neo版本隐藏selectedItemName失效
- 修复Shimmer获取护甲值失败
- 修复输入框控件持有焦点时,键盘输入仍向下传递
- 默认控制器attack damage过渡改为0
- 修复模型读取膨胀为负数时候未取绝对值导致渲染错误
- 增加更多实体NMS工具
- mm增加proxyAddSeat语句[文档待更新]
- mm增加proxyMountType语句[文档待更新]
- mm增加proxyMountSpeed语句[文档待更新]
- 通过以上三条可通过mm实现船 生物 车 飞行 潜艇坐骑功能
- 修复代理碰撞箱会被mm范围技能选中(注,该操作和mm&meg的处理方式类似,某种情况下,您需要对其它技能插件进行兼容)
- 优化自由相机下车辆类型操作体验(包括ax内置的自定义坐骑功能)
- 增加检测实体是否是代理实体的api(用于选择器兼容)
- 修复背景渲染异常
- 修复TIP下进度条渲染异常
- 修复进度条在过高尺寸缩放下仍可能因失去精度导致丢失部分像素
- 修复bbmodel v5通道修正错误
- 修复投影逆运算w值无限接近0时造成的不稳定问题
- 修复bbmodel块构建错误
- 支持bbmodel负尺寸渲染描边效果
- 模型渲染剔除内侧面优化能耗
- 模型支持uv旋转
- 修复面重叠导致变暗
- menuUI对象增加语句slotCount[文档待更新]
- chatbox对象增加send语句[文档待更新]
- 修复chatbox对象发送时若不关闭界面未清空内容
- chatview增加keep属性,为true时,内容持续渲染[文档待更新]
- 模型动画支持平滑帧
- menu hud control对象增加get函数 可通过索引获取对应控件[文档待更新]
- itemeffect增加befor属性,默认false 为true时渲染在物品之前[文档待更新]
- Texture控件增加loop属性,为false时将停止于最后一帧[文档待更新]
- Texture控件增加replay函数,用于重置gif图像动画[文档待更新]
- 优化text控件center渲染模式显示效果
- UI发包加入缓存,如果是未打开的UI接包,将临时缓存,该包将于UI打开后被处理,不过,预先发送的包无法访问控件数据,它触发于控件创建之前
- forge 1.20.1 增加对Shoulder Surfing Reloaded的兼容性,注,这需要关闭arcartx的自定义相机功能
- 修正uipacket mm词条文档[文档待更新]
- 文档设置槽位图标错误[文档待更新]
- kotlin编译版本回退至1.8.22
- slot增加hud类型的hovered的检测
- text控件增加alignment属性[文档待更新]
- 客户端日志调试输出调整
- 插件端增加语言文件
- 增加兼容中转API
- 修复相机文档一处错误
- UI属性增加screenScale属性 默认true 设置为false后将响应原版界面尺寸设置(未实际生效)
- 修复按键事件异步问题
- 修复控件函数中icon文档的错误
- 修复chat控件初始宽度为0时,文字剪裁导致客户端卡死的问题(感谢蒸蛋进行的测试)
- 修复动作控制器对于动作结束的判断
- 修复资源管理器多次重载的锁竞争
- 修复资源管理器冷热数据未能执行显存释放造成的显存资源溢出
- 修复指令补全控件偏移计算错误
- 修复Stack、Grid类型控件初始位置二次运算导致锚点运算时进行瞬间移动(注意,如果您动态创建子控件,且使用锚点,仍然会重新排列)
- 修复文字图标在全息中变暗
- 修复1.20.1、1.20.4全息跟随模式失效
- 修复世界渲染时候检测实体是否渲染但取空值造成的崩溃
- 客户端papi语句增加parseAll 可传入"玩家 %player_name% 等级 %player_level%"这种参数,最终返回 -> "玩家 17Artist 等级 0"
- 当全息血条持续为-1时,实体渲染名称时自动开启
- 增加模型展示框显示设置
- 修复ADY血条替换显示同步问题
- 修复boss血条切换世界未清除
- 命令补全控件改为更加贴近原版的实现
- 修复罗盘控件文字缩放问题
- 修复1.21+版本按键无法截取到弹起事件
- 修复模型粒子上下文干扰
- 增加对模型粒子的偏移度
- 修复HUD的滚轮事件未对wheelValue赋值
- 增加悬浮控件会触发wheel事件,且控件自身具备wheelValue用于就近取值
- 修复文字贴图排序由于冷数据加载宽高为0导致的显示异常
- 修复文字格式解析对格式重置失败
- 文字渲染器增加对k的支持
- 修复输入框撤销操作未正常检测边界导致客户端崩溃
- 修复ChatView对换行符的处理
- 修复剪裁因界面尺寸整数精度问题导致像素缺少(有限的解决方案,因为这玩意参数传的是整数)
- 修复资源数量变化未触发资源重载
- 增加1.21Forge支持
- 增加1.21.1NeoForge支持
- 增加1.21.4Fabric支持
- shader文档更新
更新
注意,本次更新包含对JS引擎的更换,如果过去正常的脚本变得不正常,请在服务端启动脚本增加参数:
代码:java -Xms1G -Xmx2G --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED -jar paper-1.20.1-196.jar
- 修复动作控制器限制条件
- 动作控制器增加moveLimit选项 用于将自身移动向量限制到指定倍数
- 修复1.21.1以上版本跳跃拦截判断
- 修复invoke接口编译对文件尾的判断
- 由于和克洛诺斯设计冲突,移除ArcartX本体对于玩家模型的持久化保存
- 有克洛诺斯不需要这个功能
- 该功能被单独剥离为单独插件,可选择性安装
- 修复聊天栏补全控件间距
- 修复Bossbar位置未能居中
- 修复Bossbar实体信息缺失
- 修复文字控件尺寸运算
- 修复VStack控件布局运算
- 修复HStack控件布局运算
- 修复VGrid控件布局运算
- 修复HGrid控件布局运算
- 修复悬浮物品、原版tip被UI文字遮挡
- 修复client变量存储格式出错
- 修复itemeffect渲染层次
- 修复文字图片过多导致的输入框初始化困难
- 修复客户端按键组合连续触发失败
- 修复悬浮控件的并发错误
- 修复Potion.getActivePotionEffects执行错误
- mm设置实体模型增加reset参数 默认为true 当设置为false将不会更新模型上下文。适用于骨骼相同模型进行动态切换而不改变动画进程
- 聊天栏控件增加showCard属性
- 聊天栏控件增加exclude属性
- stack类型控件,将读取控件level属性,进行排列,level越高,越靠前,其余顺序逻辑不变。
- 修复限制显示无法多层剪裁
- 修复Text在对齐模式下位置判断
- 修复进度条、血条控件边境像素显示不全
- 界面替换匹配条件加入正则表达式
- 插件端兼容java22+
- 修复fabric版本F1隐藏HUD时AXHUD依然渲染
- 优化字体渲染代码结构
- 增加文字图标比例选项
- 修复资源加载重载时线程卡死的问题
- 完全重写音频模块(这烂代码是我好几年前写的,我差点没看懂)
- 重写物品图标资源载入逻辑
- 重写Shader资源载入逻辑
- 重写音频资源载入逻辑
- 重写强制加载资源包载入逻辑
- 修复Shader渲染器加载
- 增加对bbmodel5.0+版本文件读取
- 模型管理器增加版本策略
- 聊天输入控件增加sendClose属性 默认true 关闭后输出将不关闭窗口
- 重写模型资源管理器,改为异步按需加载
- 资源管理器URL文件增加本地缓存(加密落地,每个玩家独立密钥—)
- 增加动态资源文件本地缓存(非加密,用于比如即时传递而二维码、动态轮播图等)(各位可能不知道AX有个API能传图片到客户端吧)
- 重写资源管理器,增加冷热数据管理、异步加载,大幅提高加载速度减少内存占用
- UI增加定时/循环任务调度器
- 模型molang支持简化查询
- 添加mm代理碰撞箱语句,这会生成一个隐形实体(包括碰撞箱不可见)代替实体挨打,解决体积变大后寻路AI会出现一些异常。
- 增加命名实体客户端虚拟碰撞箱配置(仅限ADY实体)
- 增加命名实体替换模型关闭受击变色
- 增加命名实体持续渲染配置(仅限ADY实体)
- TextBox增加inputPattern属性,以正则表达式限制允许输入内容
- 增加Compass(罗盘)控件,该控件可联动路标进行指引
- 模型关键帧指令增加相机震动
- 增加模型动作控制器对结束过渡时间的设置
- 修复1.21.1模型粒子渲染纹理错乱
- 模型粒子增加速度、动作属性
- 模型粒子实体化管理,可通过API进行删除
- 修复textbox、chatbox输入长度限制
- slot控件增加overwriteText属性,默认为空,若存在值,则将在渲染物品时改变角落数量显示的内容
- 完善云同步功能,改为资源同步完毕后再进行资源加载流程
- 优化初始化链接时数据交换逻辑
- 增加MM语句摇晃相机
文档更新
- 更新动作控制器文档
- 更新mm语句文档
- 更新聊天栏控件新属性说明
- 更新stack类型控件新功能说明
- 更新UI属性文档
- 更新文字图标文档
- 更新ChatBox文档
- 更新命名实体模型配置说明
- 更新TextBox文档
- 更新Slot文档
- 更新模型相机帧文档
- 更新模型粒子帧文档
- 更新Compass控件用法
- 更新Waypoint文档
- UI增加定时/循环任务调度器用法
- 修复hud按键报错
- 修复提示控件位置运算错误
- 修复Grid类控件大小运算顺序导致的布局错误
- 修复Adapt控件大小运算错误
- 修复文字控件大小运算顺序导致的布局错误
- 修复Stack类控件大小运算顺序导致的布局错误
- 修复Scroll控件失效(实际上是大小运算顺序导致的错误)
- 修复文字控件运算问题导致的无法被限制控件限制显示
- 修复贴图二次释放导致重载时客户端爆炸
- 哎 好累 我不会这辈子都在修bug吧
- 修复释放触发器无法触发
- 修复UI触发器传递问题
- 修复精度运算导致的路标右侧无法显示
- 修复1211全息血条无法使用
- 修复相机隐藏头的骨骼后背包内断头
- 修复模型gui设定失效
- 修复模型粒子南北朝向错误
更新
- 增加entityCacheClearInterval配置项,配置实体缓存更新间隔。默认为5分钟检查一次
- 修复模型动画读取一些特殊的帧读取错误导致加载了空值
- 修复模型读取时对过小的块的剔除阈值过大
- 升级EULA验证服务,曾经的验证方式需填写账户密码不太安全,现改为许可证ID和密钥,您可能需要重新进行EULA的查看来领取许可证ID和密钥。
- 修复切换世界有概率模型消失
- 增加鼠标点击事件
- slot控件itemeffect增加默认值:default
- 修复控件VAL重复创建
- 实体的无状态 -> 有状态的过渡时间改为0
- mm语句:model{} 当参数为空时候则代表移除模型
- 修复资源加载的线程安全
- 增加资源管理独立后端
- 增加自动更新功能(仅加密压缩包文件)
- 修复路标文字渲染
- 修复UI的Slot为Icon时候不渲染TIP
- Shimmer物品对象增加获取list和map格式nbt
- 移除ALT巡视相机
- 多层血条增加layer变量
- tip布局控件增加follow属性 默认true
- 控件enable属性为false时,关闭控件所有输入触发器
- 修复1.21+由于相机变动导致的全息跟随模式无法显示
- Shimmer解释器改为声明式词法分析器生成有限自动机 + 手动二次简化
- Shimmer增加Wave动画对象
- Shimmer增加Swing动画对象
- Shimmer增加Slide动画对象
- Shimmer增加Shake动画对象
- Shimmer增加Pulse动画对象
- Shimmer增加Breathe动画对象
- 服务端新增内置Glimmer脚本引擎(即服务端版Shimmer,为了避免用户混淆改个名字,虽然这会导致每次都得改两遍源码,不过还是得照顾分不清前后端分离的新用户,哎)
- 实装UI编辑器(真不好意思,UI内核重写了,这玩意删了)
- (虽然这条没啥用但是浪费挺长时间的,还是写一下。本来准备给UI兼容JS,不过这玩意访问太不方便,重点是我没必要因为一个不了解实况的建议让维护成本x2,回滚了,再见)
- 优化内部遍历控件实现
- 控件增加单独可穿透属性
- 重写UI输入控制,可进行传递阻断
- 修复TIP Shimmer对象无法获取root实例
- 移除UI对象transfer属性,该属性变更至启动UI穿透或无悬停控件即生效
- 修复覆盖多级UI导致容器被提前关闭
- 移除Wheel控件
- 移除Slot控件的itemEffect属性
- 修复锚点属性位置运算错误
- 修复Stack类型控件可能返回负数宽高
- 修复悬浮控件运算方式
- 修复异步导致的控件位置异常
- 修复当替换聊天栏的时候由于异步所产生的轻微延迟
- 修复布局运算中错误的运算(注意这个修复可能导致原本的某些布局错位,但其实是之前的写错了,嘻嘻)
- 修复Tip布局控件无法关闭自适应
- 修复文字布局崩溃客户端
- 修复提示控件由于异步导致的位置概率乱飘
- 修复实体血条对名称的判断
- 修复全息渲染变为暗色
- 修复自定义客户端按键修改后无法保存
- 修复自定义客户端按键无法连续触发
- 修复文字控件渲染时会被模型性质控件渲染影响
- 修复Fabric版本无法获取额外槽位物品信息
- 修复1.20.4、1.21.1模型粒子渲染崩溃
- UI HUD 增加delayAction函数
- 相机视角锁定配置由force: boolean 改为forceMode: int 视角锁定模式,0-关闭,1-强制锁定第一人称,2-强制锁定第三人称
- 刀光特效增加持续时间选项
- shimmer menu 对象增加getCarriedItemStack 获取指针物品
- Sound函数增加named语句以及removeNamed语句可通过命名id关闭音频
- MM增加HideHitBox配置项,用于一些遁地或者模型隐身的怪物隐藏碰撞提及防止玩家透视
- 相机增加hideHead配置项,开启后,如果使用了自定义模型,使用对应预设相机后将隐藏Head和head骨骼
- itemeffect改版为判断nbt静态渲染,且不再强制依赖AXUI
- 修复HUD重载不显示(说实话 我压根没修 但是我带着资源重载试了一百次 不带着重载了一百次没发生这个问题,我也不知道是摸明奇妙修复了还是偶然没轮到我)
- UI API增加run函数,用于直接热执行脚本
文档更新
- 更新Tooltips文档
- 加入Tip工具集用法
- hud隐藏差异文档更新
- 更新进度条控件用法
- 更新slot控件文档
- 更新key语句文档
- 更新UI font说明
- 更新伤害显示文档
- 更新资源加载说明文档
- 更新纹理控件文档
- 更新Player工具集文档
- 更新命名实体匹配模型替换说明文档
- 更新血条控件说明文档
- 更新相机setting文档
- 更新setting文档
- 更新额外槽位文档
- 更新mm拓展语句文档
- 更新mm拓展配置文档
- 更新shimmer itemstack文档
- 更新预设相机文档
- 更新模型刀光使用文档
- 更新控件公共属性文档
- 更新UI属性文档
- 更新Tip属性文档
- Shimmer增加Wave动画对象用法
- Shimmer增加Swing动画对象用法
- Shimmer增加Slide动画对象用法
- Shimmer增加Shake动画对象用法
- Shimmer增加Pulse动画对象用法
- Shimmer增加Breathe动画对象用法
- 更新Shimmer UI 文档
- 更新Shimmer Sound文档
- 更新Shimmer 控件文档
- 更新物品图标文档
- 更新Shimmer Camera 文档
- 更新ItemEffect文档
- 增加模特控件用法