了解NBT之前,先给你介绍一下 JSON 文本格式,这是唯一使用NBT的方式
Json格式
JSON 文本格式,之前 资源包入门 教学页就已经使用过了
我们再来复习一下吧!
pack.mcmeta内容为
{
"pack": {
"pack_format": 1,
"description": "音乐包"
}
}
其中 "pack" 作为存储单位,包含下面 "pack_format" 与 "description" 的数据变量
你也可以理解为层级关系: "pack" 作为一级单位,包含下面 "pack_format" 与 "description" 的二级单位
"pack_format" 与 "description"旁边的 1 和 "音乐包" 都是数据,将其更改,系统做出相应的校验,变可读取出为: 可以使用在1.7.10版本下的资源包文件,资源包名字为:音乐包
原始Json文本
原始JSON文本由聊天组件组成。根组件可包含有子组件,而子组件也可以有自己的子组件。组件可以包含格式和交互事件,这些也会应用到他们的子组件上。
如:/tellraw @a [{"text":"文本文字","color":"green"}]
指令结果为:文本文字
NBT
NBT,正如其名,它是通过一个个标签来储存和读取数据的。一个标签由标签名称和数值两部分组成,两者用冒号:隔开。例如foo:1就是一个标签。
如:/give @p minecraft:player_head{SkullOwner:"Steve"}
指令结果为:给予附件的人一个Steve的头颅
指令中:SkullOwner为标签名称,Steve为玩家名称(纯文本字符串)
标签描述:用来获得指定名称玩家皮肤的头颅。皮肤的来源取决于当前玩家使用的验证服务器和是否联网,这意味着离线登录或未联网游戏将不能加载皮肤。
参考:
WIKI百科 JSON
WIKI百科 NBT