用户:MashKJo/1.12.2模组开发教程/8.NBT系统的使用

MashKJo留言 | 贡献2024年12月9日 (一) 16:59的版本 (// Edit via Wikiplus)

NBT是什么?首先,我们先引用一段Minecraft Wiki上对NBT的介绍。

NBT(二进制命名标签NamedBinary Tags格式是一种由众多的标签所组成的树状数据结构。在Minecraft中,其被广泛用于向存档文件中存储数据。所有的标签都有一个独立的数字ID和名称,以及一个负载。

另一种玩家更熟悉的是字符串形式的NBT,通常在命令里使用。这种格式常被称为SNBT(字符串化的二进制命名标签,Stringified NBT)。

字符串形式的NBT很像序列化之后的JsonElement,实际上NBT系统的设计确实和Gson有许多相似之处。

所有NBT类的基类是NBTBase类,而NBTBase的继承树如下:

\-NBTBase
  \-NBTPrimitive
    |-NBTTagByte
    |-NBTTagDouble
    |-NBTTagFloat
    |-NBTTagInt
    |-NBTTagLong
    |-NBTTagShort
  |-NBTTagByteArray
  |-NBTTagCompound
  |-NBTTagEnd
  |-NBTTagIntArray
  |-NBTTagList
  |-NBTTagLongArray
  |-NBTTagString