6.0.12-9 | NMS Update
本次版本更新主要针对 module-nms
和 module-nms-util
模块进行了大面积重构。
说实话这两个模块能运行简直是奇迹,有大量逆天 Bug 在本次重构过程中被发现,就像是基于 Bug 运行一样。单纯 module-nms-util
模块的重构就花费了大约一周时间,甚至截止到目前光照工具依旧是 Java 代码 😢。
本次重构不仅限于 nms 相关模块,还包括了一些其他小功能的更新,以及针对 nms 相关模块更新了一套简易的测试单元,依靠它们 TabooLib 首次系统完成了 1.8
到 1.20
的 nms 功能测试 🥳。
尽管这套测试工具写的不是很聪明,但是我可以保证这些 测试单元 不会污染你的项目 🥹。
🤨 本次更新都有哪些主要改动?
- 重构
BukkitAttribute
,版本支持范围1.9+
- 重构
ItemTag
及相关类、相关顶层函数,版本支持范围1.8+
- 重构
I18n
及相关顶层函数,版本支持范围1.8+
- 重构
fun BossBar.setRawTitle(title: String)
顶层函数,版本支持范围1.9+
- 重构
fun Player.sendRawTitle(...)
顶层函数,版本支持范围1.9+
- 重构
fun Player.sendRawActionBar(message: String)
顶层函数,版本支持范围1.8+
- 重构
fun Player.sendToast(...)
顶层函数,版本支持范围1.13+
- 新增
fun ItemMeta.setDisplayName(source: Source): ItemMeta
顶层函数,版本支持范围1.17+
- 新增
fun ItemMeta.setLore(source: List<Source>): ItemMeta
顶层函数,版本支持范围1.17+
🥱 其他改动(部分)
- 修复命令补全的一些问题 7fbe0e2
- 新增
runningResources
顶层字段用于获取当前插件的所有资源文件 7fbe0e2 - 函数
Packet#read()
新增remap
参数,默认为true
20a2b73 - 修复
itemTagSerializer
序列化异常 4e8d685 MenuBuilder
现支持 Raw Title,但需要使用enableRawTitleInVanillaInventory()
方法启用 20a2b73- 新增
simpleCommand
顶层函数用于注册简单命令 8e2cf02 expansion-persistent-data-container-object
模块支持自定义类型 8e2cf02 #345error("Unsupported version.")
全部替换为throw UnsupportedVersionException()
4e8d685- 新增
LocaleI18n
代替I18n
并移动到module-nms
模块 e4100e7 MinecraftVersion
增加预置版本号字段和一些便捷的判断函数 e4100e7- 修复
PlayerJumpEvent
无法监听 e4100e7 - 修复
ItemBuilder
在 1.8 使用异常 e4100e7