Skip to content

Releases: MrXiaoM/VectorDisplays

1.0.3

14 Jan 07:35

Choose a tag to compare

不等 26.1 了,提前更新正式版本

新增

  • 1.21.11 支持
  • Mojang Mapping 支持,为 26.1 做准备
  • 增加 BuildConstants,提供组件版本与构建时间信息

优化与修复

  • HoverStateChange 支持使用引用类型数字
  • 修复世界已卸载时,仍在尝试更新实体的问题
  • 重新生成更准确的默认字体配置,并增加“强制Unicode字体”选项支持
  • 升级工具链,升级部分依赖库,为 26.1 做准备
  • 在玩家加入游戏时,延时生成虚拟实体
  • 修复部分异步访问集合导致的报错
  • 允许开发者向可以看到虚拟实体的玩家发包

1.0.2

20 Nov 13:59

Choose a tag to compare

重大变更

  • 修复在 Paper 1.21.x 服务端下,因为弃用了 Spigot 的 NMS 方法导致运行不正常问题
  • 添加贝塞尔曲线变速动画的动画机,与 CSS 的 cubic-bezier 用法类似
  • 添加 Vivecraft-Spigot-Extension 支持,对 VR 玩家使用主手而不是玩家视角作为射线
  • 允许以矩阵(Matrix4f)的形式,设定展示实体(EntityDisplay)的旋转、缩放、位移变换
  • 添加新元素 Triangle,即三角形,感谢 TheCymaera 的开源实现!
  • Triangle 元素支持准心悬停事件和点击事件

新增

  • 为 Element 添加 enable 标记,当元素未启用时,不会响应悬停事件和点击事件,以减少遍历时的运算损耗
  • 为 Element 增加 collectEntities() 方法,以收集该元素中可能存在的多个虚拟实体
  • 增加实体ID提供器,以便有需要的开发者可复用虚拟实体ID,并添加默认的实体ID缓存池实现(不默认启用)
  • 玩家眼睛(视角)位置、射线适配器
  • 添加不生成任何实体的虚拟实体(EntityNone)作为占位,以便一个元素需要多个虚拟实体实现
  • 增加实体样式(EntityStyle),以便可以同时为多个虚拟实体更新元数据

优化与修复

  • 为 Terminal 增加解析所有虚拟实体的方法
  • 实际上可以异步发包,故删除强制同步发包机制,以免生成大量虚拟实体时卡服
  • 将玩家可视状态更新定时器移到 HologramManager
  • 允许以 Component 而不是只能以 String 设置 Label 和 Button 的文本
  • 使用更好的方法读取文本的长宽大小
  • 将点击判定移到 Element 中,以便其他开发者自行实现的元素可修改点击判定逻辑
  • 优化构建脚本和工作流文件

1.0.1

07 Nov 07:54

Choose a tag to compare

重大变更

  • Element.performClick 的参数移到 ClickMeta,原有的方法弃用,可能会在未来的版本中删除
  • 实用工具 .utils 包中的一些方法已弃用,一些方法已删除,可能存在破坏性变更
  • 添加新元素 ScrollBar,即滚动条
  • 添加新元素 ProgressBar,即进度条
  • 添加新元素 Panel,即面板,面板可以嵌套容纳其它元素,使得其中元素的坐标系变化

    简单来说,就是在更改面板位置,或者更改其额外旋转量时,都会使得其中的元素也更改位置

  • 修复与 1.21.4+ 版本的兼容性,猜测是版本间存在方法签名变更,但代码用法没变所致
  • 支持 1.21.10 服务端
  • 储存 EntityMeta 实例,而不是每当需要更新虚拟实体时创建一个新的,以此修复原先 HologramAPI 的内存泄漏问题

新增

  • 现在可以使用 .removeElement() 删除 Terminal 中的元素了
  • 现在可以使用像素为单位,设置 Terminal 的大小了(使用 double 类型作为宽高的构造函数)
  • 现在可以通过 ClickMeta 获取玩家点击的元素的相对位置了
  • 因为发现不同版本的渲染行为不一致,导致存在一些高度计算不正确的问题,现在可以在配置文件中设置 HologramUtils.LINE_HEIGHT 的值了
  • 支持为虚拟实体添加/清除药水效果
  • 支持设置虚拟实体的 SilentGlowingPose 属性

优化与修复

  • 在传送/生成虚拟实体时,去除 EntityDisplay 的 yawpatch,以免应用了错误的旋转变换
  • 修改一些实体的默认参数,使其能够更好地服务于本项目的目标
  • 现在 /vd 命令有 TAB 补全了
  • 默认为 ItemElement 旋转 180.0 度,修正其错误的朝向
  • 处理 HoverStateChange 事件,计算射线时,应该遍历可视 Terminal 的玩家计算,而不是遍历所有玩家计算
  • 添加一些预制的 HoverStateChange 实现,如 hoverScale 可以在玩家悬停时缩放悬浮字,hoverGlow 可以在玩家悬停时为悬浮字添加发光轮廓

其他变更

  • 升级 EntityLib 到最新版 (df6fe0f084)

1.0.0

15 Oct 11:06

Choose a tag to compare

新特性

  • 发布第一个版本