美味的曲奇
参考 https://www.spigotmc.org/threads ... 42387/#post-4036567 此实现
我做出了这个类
[ItemSerializer]https://pastebin.com/k1AiTVqu
[Reflex]https://pastebin.com/e3324Te1
测试环境 1.18.1 paper
他在序列化的时候工作的很好,但是在反序列化解析NBT时时不断的有各种问题
包括不限于找不到方法,返回值不返回 NBTTagCompound 而返回 String(?)
有什么办法能够高效简单的完美序列化物品,完整保留所有NBT数据
* 能不用NMS更好

Neige
本帖最后由 Neige 于 2022-5-13 09:54 编辑

bukkit保存把物品保存进yaml的时候就是无损保存
以及,你发的链接里的那个方法我试了一下,好像没问题()

美味的曲奇
Neige 发表于 2022-5-13 09:45
bukkit保存把物品保存进yaml的时候就是无损保存
以及,你发的链接里的那个方法我试了一下,好像没问题() ...

我记得保存到yaml会丢失未知NBT,而且我想把它序列化成json
你测试的是我剪贴板里的那个吗,好像1.16.5+NMS变了些东西...导致不能用了

Neige
本帖最后由 Neige 于 2022-5-13 10:30 编辑
美味的曲奇 发表于 2022-5-13 10:07
我记得保存到yaml会丢失未知NBT,而且我想把它序列化成json
你测试的是我剪贴板里的那个吗,好像1.16.5+N ...

不会丢失。。。我一直无法理解为什么有人说这个方法无法保存未知NBT。
所有未知NBT都被一层gzip加密一层base64加密以后变成了一段String,存入了ItemMeta中的internal字段。
试一试就知道了,这样序列化反序列化确实是无损的。

我是在1.16.5试的()如果1.16.5+有问题的话那可能真的有问题()

你说的“想序列化成json”说的是想序列化成那种完全可读的json吗?所有未知nbt都能看出来的那种

下一页 最后一页