NBT 数据基础
什么是 NBT
Section titled “什么是 NBT”NBT(Named Binary Tag)是 Minecraft 用于存储数据的一种格式。几乎所有游戏元素都使用 NBT 数据,包括:
- 实体数据
- 方块实体数据
- 物品数据
- 玩家数据
NBT 数据类型
Section titled “NBT 数据类型”| 类型 | 说明 | 示例 |
|---|---|---|
byte | 字节 | 1b |
short | 短整型 | 10s |
int | 整型 | 100 |
long | 长整型 | 1000L |
float | 单精度浮点 | 1.5f |
double | 双精度浮点 | 1.5d |
string | 字符串 | "text" |
list | 列表 | [1, 2, 3] |
compound | 复合标签 | {key: value} |
byte_array | 字节数组 | [B; 1b, 2b, 3b] |
int_array | 整型数组 | [I; 1, 2, 3] |
long_array | 长整型数组 | [L; 1L, 2L, 3L] |
boolean | 布尔值 | true / false |
查看实体 NBT
Section titled “查看实体 NBT”使用 /data get 指令查看实体的 NBT 数据:
# 查看最近玩家的所有 NBT 数据/data get entity @p
# 查看特定属性/data get entity @p Health修改 NBT 数据
Section titled “修改 NBT 数据”使用 /data merge 或 /data modify 修改 NBT:
# 合并数据/data merge entity @e[type=zombie,limit=1] {CustomName:"\"测试僵尸\""}
# 设置属性/data modify entity @p Health set value 20常见物品 NBT
Section titled “常见物品 NBT”# 附魔物品/give @p diamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:5}]}
# 自定义名称/give @p diamond{display:{Name:'{"text":"钻石","color":"aqua"}'}}
# 无法破坏/give @p diamond_sword{Unbreakable:1b}