最後更新當前版本:1.18.2
NBT全名為二進位命名標籤,原本是指遊戲檔案儲存資料的格式。在指令中的NBT是純文字,又稱資料標記(舊版翻譯)、資料標籤、SNBT、字串化的二進位命名標籤。
NBT基礎由英文、數字、「_」、「,」、「:」、「{」和「}」組成。在包含陣列時,亦會使用「[」和「]」。在非名稱或數值的地方,包含空白是無關緊要的,但在任意地方皆區分大小寫。
關於NBT標籤作用的指令,詳見指令:簡介。
地圖製作(點擊以Google文件觀看)
在製作地圖時,若不確定實體擁有什麼標籤,可以使用例如/data get entity @e[type=!minecraft:player,limit=1,sort=nearest]的指令來獲得實體的NBT標籤;若是方塊則可以使用/data get block ~ ~ ~來獲得方塊的NBT標籤。
標籤資料類型
這裡介紹的都是指令中的NBT。
在設定數值時,若亂寫或故意不寫數值後綴可能會導致錯誤。雖然有部分指令中的標籤可以自動判別類型並補上,但強烈建議在任何時候都寫上相對應的後綴。
資料類型 |
說明 |
格式 |
範例 |
Byte 位元組 |
有號8位元整數 範圍:-128~127 |
<數值>b或<數值>B |
63b、-64B |
Short 短整數 |
有號16位元整數 範圍:-32,768~32,767 |
<數值>s或<數值>S |
16383s、-16384S |
Int 整數 |
有號32位元整數 範圍:-2,147,483,648~2,147,483,647 |
<整數數值> |
1073741823 |
Long 長整數 |
有號64位元整數 範圍:-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807 |
<數值>l或<數值>L |
4611686018427387903l、 -4611686018427387904L |
Float 單精度浮點數 |
32位元單精度浮點數 範圍:-3.4E+38~+3.4E+38 |
<數值>f或<數值>F |
3.14159f、3.14159F |
Double 倍精度浮點數 |
64位元倍精度浮點數 範圍:-1.7E+308~+1.7E+308 |
<數值>d或<數值>D或<小數數值> |
2.71828d、2.71828D、 2.71828 |
String 字串 |
引號括起來的字元序列 若字串中無任何逗號、中括號、大括號或空格, 則引號可以省略 引號可以是單引號或雙引號 若要巢套引號,則需要使用跳脫字元「\」 |
<a-zA-Z0-9>或"<任意文字>"或 '<任意文字>' |
"\"Dragon\" Taki"、 '\'Dragon\' Taki'、 "'Dragon' Taki"、 '"Dragon" Taki'、 DragonTaki |
List 串列 |
中括號括起來、逗號分隔的有序數值序列 數值需為相同資料類型,由序列中第一個值決定 |
[<數值>,<數值>,…] |
[1.414,1.732,2.236] |
Compound 複合 |
大括號括起來、逗號分隔的有序鍵-值對序列 每個數值可以是任意類型 |
{<鍵值>:<數值>,<鍵值>:<數值>,…} |
{x:64,y:72,z:-64} |
Byte Array 位元陣列 |
中括號括起來、B;開頭、 逗號分隔的有號8位元整數序列 |
[B;<數值>b,<數值>b,…]或 [B;<數值>B,<數值>B,…] |
[B;2b,3b,5b]、 [B;7B,11B,13B] |
Int Array 整數陣列 |
中括號括起來、I;開頭、 逗號分隔的有號32位元整數序列 |
[I;<整數數值>,<整數數值>,…] |
[I;1, 1, 2, 3, 5, 8, 13] |
Long Array 長整數陣列 |
中括號括起來、L;開頭、 逗號分隔的有號64位元整數序列 |
[L;<數值>l,<數值>l,…]或 [L;<數值>L,<數值>L,…] |
[L;1l,2l,4l,8l]、 [L;1L,2L,4L,8L] |
Boolean 布林 |
只有真假值的資料類型 |
true、false或1b、0b |
{dragon:true}、 {dragon:1b} |