我的世界 NBT 格式百科
标签ID
文件结构
文件结构
0
大小:1
详见标签类型
标签名称的长度
1
文件结构
文件结构
1
大小:2
其数值为L
标签名称
3
文件结构
文件结构
3
大小:L
用变种UTF-8编码的字符串,L 为0时不存在此内容
标签负载
3+L
文件结构
文件结构
3+L
大小:?
详见标签类型
结束标签
标签类型
标签类型
0
ID(HEX):00;负载大小:–
–
字节型
1
标签类型
标签类型
1
ID(HEX):01;负载大小:1
单个有符号字节
短整型
2
标签类型
标签类型
2
ID(HEX):02;负载大小:2
单个有符号短整型,大端序[仅JE ]/小端序[仅BE ]
整型
3
标签类型
标签类型
3
ID(HEX):03;负载大小:4
单个有符号整型,大端序[仅JE ]/小端序[仅BE ]
长整型
4
标签类型
标签类型
4
ID(HEX):04;负载大小:8
单个有符号长整型,大端序[仅JE ]/小端序[仅BE ]
单精度浮点型
5
标签类型
标签类型
5
ID(HEX):05;负载大小:4
单个单精度浮点数(IEEE754),大端序[仅JE ]/小端序[仅BE ]
双精度浮点型
6
标签类型
标签类型
6
ID(HEX):06;负载大小:8
单个双精度浮点数(IEEE754),大端序[仅JE ]/小端序[仅BE ]
字节数组
7
标签类型
标签类型
7
ID(HEX):07;负载大小:4+<长度>
按大端序[仅JE ]/小端序[仅BE ]存储的有符号整型长度,后跟相应个数的有符号字节
字符串标签
8
标签类型
标签类型
8
ID(HEX):08;负载大小:2+<长度>
一个带长字符串,包含按大端序[仅JE ]/小端序[仅BE ]存储的无符号短整型[需要更多信息 ]/有符号短整型[仅BE ]长度。字符串是按变种UTF-8编码 [仅JE ]或标准UTF-8编码[仅BE ]书写的
列表
9
标签类型
标签类型
9
ID(HEX):09;负载大小:5+<长度1>+<长度2>+...+<长度n>(n为包含的子标签...
列表中标签的标签ID,后跟按大端序[仅JE ]/小端序[仅BE ]存储的有符号整型长度,后跟相应个数的子标签负载
复合标签
10
标签类型
标签类型
10
ID(HEX):0A;负载大小:?+1
若干个子标签整体 (ID、名称、负载),后跟空字节(可视为结束标签)
整型数组
11
标签类型
标签类型
11
ID(HEX):0B;负载大小:4+<长度>×4
按大端序[仅JE ]/小端序[仅BE ]存储的有符号整型长度,后跟相应个数的有符号整型
长整型数组 [仅JE ]
12
标签类型
标签类型
12
ID(HEX):0C;负载大小:4+<长度>×8
按大端序存储的有符号整型长度,后跟相应个数的有符号长整型
复合标签 / 字节数组等 10 项
复合标签 字节数组 整型数组 长整型数组 有符号 字节型 有符号 短整型 有符号 整型 有符号 长整型 单精度浮点数 双精度浮点...
SNBT 字面量
SNBT 字面量
复合标签
字节数组
整型数组
长整型数组
有符号 字节型
有符号 短整型
有符号 整型
有符号 长整型
单精度浮点数
双精度浮点数
直接转换至相应NBT标签
无符号 字节型 / 无符号 短整型等 4 项
无符号 字节型 无符号 短整型 无符号 整型 无符号 长整型
SNBT 字面量
SNBT 字面量
无符号 字节型
无符号 短整型
无符号 整型
无符号 长整型
按补码解释,将无符号数转换成同种类型的有符号数标签
布尔型
SNBT 字面量
SNBT 字面量
布尔型
true转换为字节型1b,false转换为字节型0b
字符串
SNBT 字面量
SNBT 字面量
字符串
执行所有转义后,按Java使用的变种UTF-8编码 存储
列表
SNBT 字面量
SNBT 字面量
列表
如列表元素类型相同,转换为元素类型为子标签唯一类型的列表。否则,转换为元素类型为复合标签的列表;列表元素中复合标签元素原样存储,非复合标签元素分别包装在{"": <值>} 标签中存储
字节型
NBT 与 SNBT 映射
NBT 与 SNBT 映射
字节型
SNBT表示:<值>b
<值> 以十进制表示,不含下划线。
短整型
NBT 与 SNBT 映射
NBT 与 SNBT 映射
短整型
SNBT表示:<值>s
NBT 与 SNBT 映射中的结构化数据条目。
整型
NBT 与 SNBT 映射
NBT 与 SNBT 映射
整型
SNBT表示:<值>
NBT 与 SNBT 映射中的结构化数据条目。
长整型
NBT 与 SNBT 映射
NBT 与 SNBT 映射
长整型
SNBT表示:<值>l
NBT 与 SNBT 映射中的结构化数据条目。
单精度浮点型
NBT 与 SNBT 映射
NBT 与 SNBT 映射
单精度浮点型
SNBT表示:<值>f
<值> 通过Float.toString 和Double.toString 方法转换为文本,可能为整数、小数或科学计数法。无穷数和NaN也会转换为相应的文本表示(Infinity 和NaN ),但不再能被SNBT推断为浮点型。
双精度浮点型
NBT 与 SNBT 映射
NBT 与 SNBT 映射
双精度浮点型
SNBT表示:<值>d
NBT 与 SNBT 映射中的结构化数据条目。
字节数组
NBT 与 SNBT 映射
NBT 与 SNBT 映射
字节数组
SNBT表示:[B;<值>B,...]
<值> 的转换与整型的规则一致。元素列表末尾不附加逗号。
整型数组
NBT 与 SNBT 映射
NBT 与 SNBT 映射
整型数组
SNBT表示:[I;<值>,...]
NBT 与 SNBT 映射中的结构化数据条目。
长整型数组
NBT 与 SNBT 映射
NBT 与 SNBT 映射
长整型数组
SNBT表示:[L;<值>L,...]
NBT 与 SNBT 映射中的结构化数据条目。
字符串
NBT 与 SNBT 映射
NBT 与 SNBT 映射
字符串
SNBT表示:"<值>" 或'<值>'
如文本中首个引号为双引号则使用单引号字符串,否则均使用双引号字符串。<值> 中的反斜杠、同种引号、有固定转义序列 的控制符以及码位在U+0000到U+001F的字符(使用\x转义)均会被转义。
列表
NBT 与 SNBT 映射
NBT 与 SNBT 映射
列表
SNBT表示:[<值>,...]
<值> 按相应标签的规则转换。元素列表末尾不附加逗号。
复合标签
NBT 与 SNBT 映射
NBT 与 SNBT 映射
复合标签
SNBT表示:{<键>:<值>,...}
元素依键按字典序升序排列。<键> 如能用无引号字符串表示(含忽略大小写的true或false),则会转换为无引号形式,否则按字符串标签的规则转换。<值> 按相应标签的规则转换。元素列表末尾不附加逗号。
结束标签
NBT 与 SNBT 映射
NBT 与 SNBT 映射
结束标签
SNBT表示:END
仅在不与 复合标签 配对时出现。在聊天栏显示中不会输出。
JsonString
JSON 到 NBT 映射
JSON 到 NBT 映射
JsonString
NBT标签:字符串
JSON 到 NBT 映射中的结构化数据条目。
JsonBoolean
JSON 到 NBT 映射
JSON 到 NBT 映射
JsonBoolean
NBT标签:字节型
true转换为1b,false转换为0b
JsonNumber
JSON 到 NBT 映射
JSON 到 NBT 映射
JsonNumber
NBT标签:字节型 / 短整型 / 整型 / 长整型 / 单精度浮点型 / ...
按照数值范围从小到大(即所列顺序)依次尝试,如在该类型可表达的数值范围内即转换为该类型
JsonNull
JSON 到 NBT 映射
JSON 到 NBT 映射
JsonNull
NBT标签:无法转换
JSON 到 NBT 映射中的结构化数据条目。
JsonArray
JSON 到 NBT 映射
JSON 到 NBT 映射
JsonArray
NBT标签:字节型数组 / 整型数组 / 长整型数组 / 列表
先将列表中的元素按各自规则转换。随后,如元素转换得到的类型不同(即便相互兼容),则无法转换;否则,优先尝试转换成相应类型的数组,如不存在类型匹配的数组则转换成列表