Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Disambig gray  本文章介紹的是NBT標籤的實際用法。關於NBT檔案格式,請見「NBT格式」。關於NBT以及JSON的語法和用法,請見「教學/NBT與JSON」。
Information icon
此特性為Java版獨有。
Clock
此條目需要更新。

條目中某些資訊已經不符合目前版本情況。

在13w36a快照之後,NBT標籤可以在/give/summon等指令用作設定物品、生物和方塊實體的高級資料。同時,它也可以給你的指令系統加入不少樂趣!

基本知識[]

基礎[]

在開始學習NBT指令標籤之前,你應當對這些概念有一些基本的了解:

格式[]

NBT,正如其名,它是透過一個個標籤來儲存和讀取資料的。一個標籤由標籤名稱數值兩部分組成,兩者用冒號:隔開。例如foo:1就是一個標籤。

標籤名稱應當僅出現字母a-z,A-Z、數字0˜9和下劃線_。標籤名稱中不允許出現空格[注 1]、中文或是特殊符號,且對大小寫敏感。例如,Tag:1tag:1TAG:1是三個不同的標籤。a_Tag_name是一個合法的標籤名稱,而a tag nametag&com則不是。

多個標籤需要使用逗號,隔開。例如foo:1,bar:2

請注意:本文中所提到的標點符號均為半形符號,即英文輸入法輸入的符號。他們要比中文輸入法輸入的全形符號更窄更小。

一串標籤應該被包裹在一對花括號{}中,才能被稱之為NBT。例如{foo:1,bar:2}就是一串NBT。在指令中所使用的NBT標籤都需要被花括號括起來。

資料類型[]

NBT可以儲存多種多樣類型的資料,例如整數、實數、字串、甚至是另一串NBT。不同的資料類型會有不同的表示資料的方法。這個表格列出了所有的資料類型:

類型 圖示 描述和格式 示例
整型
Int
儲存一個整數。數值範圍為-2147483648~2147483647。

無特定格式,可以直接填寫數值。

tag:123
短整型
Short
儲存一個絕對值較小的整數。數值範圍為-32768~32767。

需要在數值後面加上一個字母s。(不區分大小寫)

smallNum:5s
字節型
Byte
儲存一個絕對值極小的整數。數值範圍為-128~127。有時也用於儲存一個布林型資料(一種非真即假的資料類型)。

需要在數值後面加上一個字母b。(不區分大小寫)

good:1b
長整型
Long
儲存一個絕對值極大的整數。數值範圍為-2ˆ63~2ˆ63-1。

需要在數值後面加上一個字母L。(不區分大小寫)

bigNum:123456789L
單精度浮點型
Float
儲存一個小數。使用IEEE754標準中的單精度32位元形式。

需要在數值後面加上一個字母f。(不區分大小寫)
注意:小數點並非必要,但是建議填寫此類型的數值時始終帶上小數點。

scale:1.2f
倍精度浮點型
Double
能夠儲存比單精度浮點型更精確、絕對值更大的小數。使用IEEE754標準中的倍精度64位元形式。

需要在數值後面加上一個字母d。(不區分大小寫)
注意:小數點並非必要,但是建議填寫此類型的數值時始終帶上小數點。

foo:123.456789d
字串
String
儲存一段文字,大小上限為32767字節。可以含有中文、空格和特殊字元。以UTF-8編碼。

文字需要用雙引號""或單引號''[注 2]括起來。

message:"你好!"
複合標籤
Compound
包含一段獨立的NBT標籤。別忘了用花括號{}括起來。 pack:{ver:1,num:2}
列表
List
使同一個標籤可以儲存多個資料。每個資料的類型都相同。如果資料類型是 複合標籤,則每個複合標籤中所有子標籤的標籤名稱都要一致。

資料需要用方括號[]括起來,多個資料間用逗號隔開。 對於儲存多個 整型 字節型 長整型類型資料的標籤,請見下方的 整型陣列 字節型陣列 長整型陣列

names:["Mike","Jane","Bob"]
整型陣列
Int Array
類似於 列表,用於儲存多個 整型資料。

需要用方括號括起來,並以I;開頭,隨後即為多個用逗號分隔的 整型資料。

number:[I;1,2,3,4,5]
字節型陣列
Byte Array
類似於 列表,用於儲存多個 字節型資料。

需要用方括號括起來,並以B;開頭,隨後即為多個用逗號分隔的 字節型資料(不需要帶上b)。

number:[B;1,2,3,4,5]
長整型陣列
Long Array
類似於 列表,用於儲存多個 長整型資料。

需要用方括號括起來,並以L;開頭,隨後即為多個用逗號分隔的 長整型資料(不需要帶上l)。

number:[L;12345678,87654321,10000000]

應用示範[]

下文即將列出一些表格,來說明各個物品、實體和方塊實體所含有的標籤及其含義。例如:

標籤名稱 描述 允許值
 SkullOwner 用來獲得指定名稱玩家外觀的頭顱。外觀的來源取決於目前玩家使用的驗證伺服器和是否聯網,這意味著離線登入或未聯網遊戲將不能載入外觀。 玩家名稱(純文字字串)

那麼你應當這樣使用它:

 /give @s minecraft:player_head{SkullOwner:"Steve"}

就可以獲得玩家名稱為Steve的外觀的頭顱。

這裡只是一個示範,你可以自行變更標籤的值。

易錯點[]

  • 在數值後面亂寫或不寫數值類型字母可能會導致錯誤,雖然對於部分 短整型 字節型 長整型即使在數值後面不寫上表示其數值類型的字母,指令在執行時也會自動補全上數值類型,少數標籤比如下面提到的 lvl Amplifier甚至能識別任何一種數值類型。任何時候寫任何數值時帶上正確數值類型總是沒錯的
  • 單詞String除了可以指 字串型NBT標籤,有時也是物品的英文名
  • 如果一段已經使用雙引號""括起來的 字串內還需要使用雙引號(無論是用來括起另一個 字串標籤還是只是作為文字資訊出現),則需要在內層的每一個雙引號前加上反斜槓\轉義,反斜槓數為前一層反斜槓數的2倍+1。同樣,這也意味著要作為文字資訊顯示的反斜槓本身也需要用\去轉義。
  •  字節型資料並非儲存一個字元
  •  整型陣列 字節型陣列 長整型陣列的開頭是一個大寫字母後跟一個分號;而不是冒號:。這一點可能會在Minecraft字體中難以分辨。
  • 再次強調:NBT中使用的標點符號均為半形符號,即英文輸入法輸入的符號,而非中文輸入法輸入的全形符號

小提示[]

掌握這些小技巧,可以讓你在學習和使用NBT標籤中事半功倍:

  • 玩家可以透過使用/data指令以快速獲得實體或方塊實體的資料而無需使用外部編輯器。請參閱指令/data以獲得更多資訊。
  • 將準心對準一個實體或者方塊後使用F3+I組合鍵能夠將該實體或方塊的全部資料複製到剪貼板。
  • 對於下文提到的物品的「命名空間ID」,你可以使用F3+H組合鍵來打開高級物品資訊顯示框,再在物品欄中將滑鼠懸停到任意物品上,你就可以在提示框中查看到對應物品的命名空間ID。其他資訊還包括工具的耐久值以及NBT標籤的數量。
  • 對於方塊的「命名空間ID」,你可以按下F3打開除錯面板,就可以在右側看到所指向方塊的命名空間ID。其他資訊還包括此方塊的方塊狀態和此方塊所加入的標籤
  • 基岩版可使用第三方編輯器編輯存檔的NBT內容。

物品[]

這些標籤能夠用在 /give/item/clear等有關物品操作的指令裡。

這些標籤只能用在物品上。對於實體形式的掉落物所用的標籤,請見下文

標籤名稱 描述 容許有的子標籤 必須有的子標籤 格式
 Enchantments 表示物品所擁有的附魔的一個由 複合標籤組成的列表,每一個 複合標籤裡都分別有字串標籤 id表示相應附魔的命名空間ID,和 lvl標籤表示此附魔的等級。

使用指令施加的附魔可以忽略附魔之間的衝突和等級限制。

 id,  lvl 所有 {Enchantments:[{id:"附魔ID",lvl:#附魔等級},{id:"附魔ID",lvl:#附魔等級}...(以此類推)]}
 display 控制物品的自訂顯示資訊(名稱、描述、皮革盔甲的顏色等等)。  Name,  color,  Lore 至少一個 {display:{Name:"物品名称的JSON文本",color:"颜色代码",Lore:["第一行","第二行(如此类推)"]}}
 AttributeModifiers 能夠為生物以及物品增加屬性修飾符。參見屬性頁面。  Operation,  Amount,  UUID,  Slot,  AttributeName,  Name 所有 {AttributeModifiers:[{AttributeName:"#",Name:"#",Amount:#,Operation:#,UUID:[I;#,#,#,#],Slot:#},{AttributeName:"#"......(以此類推)}]}
 CanPlaceOn 用於控制在冒險模式中的玩家能夠在哪些方塊上使用此物品。列表中的每一項都是表示方塊的命名空間ID。或者也可以使用#開頭,後面加上方塊標籤的名稱,用於表示指定標籤內的所有方塊。生存模式和創造模式的玩家將不受影響。 (方塊的命名空間ID或是#開頭的標籤名稱) 至少有一項 {CanPlaceOn:["方塊的命名空間ID或是#開頭的標籤名稱"]}
 CanDestroy 和CanPlaceOn類似。用於控制在冒險模式中的玩家能夠使用此物品破壞哪些方塊。列表中的每一項都是表示方塊的命名空間ID。或者也可以使用#開頭,後面加上方塊標籤的名稱,用於表示指定標籤內的所有方塊。生存模式和創造模式的玩家將不受影響。

注意:此標籤僅提供了類似於在在生存模式中破壞方塊的可能性,一些本來在生存模式中就無法被破壞的方塊(例如基岩)依然無法被破壞,且不會影響方塊被破壞後試圖產生掉落物時的工具檢查(例如使用可破壞石頭的木斧來破壞石頭,你將不會獲得任何東西)。

(方塊的命名空間ID或是#開頭的標籤名稱) 至少有一項 {CanDestroy:["方塊的命名空間ID或是#開頭的標籤名稱"]}
 BlockEntityTag 用於儲存方塊實體在方塊形式下的NBT標籤。若物品形式的方塊實體被放下,其此標籤內的資料就會被複製到方塊實體的根標籤下。 不同的方塊實體都有不同的子標籤,詳見下文。 BlockEntityTag:{/方塊實體資料/}
 BlockStateTag 用於儲存帶方塊狀態的方塊在方塊形式下的方塊狀態。若物品形式的方塊被放下,其此標籤內的內容就會被複製到方塊的方塊狀態下。 大多數不同的方塊都有不同的方塊狀態,詳見方塊狀態 BlockStateTag:{/方塊狀態/}
標籤名稱 描述 允許值
 Unbreakable 其值為1時,令工具的耐久度不會下降。 0/1(表示false/true)
 SkullOwner 用來獲得指定名稱玩家外觀的頭顱。外觀的來源取決於目前玩家使用的驗證伺服器和是否聯網,這意味著離線登入或未聯網遊戲將不能載入外觀。 玩家名稱(純文字字串)
 HideFlags 用作隱藏物品的某些資料,比如附魔、能否損壞、能放在的方塊等。

1=附魔;2=屬性修飾符;4=無法損壞;8=能破壞的方塊;16=能放在的方塊;32=其他,比如藥水效果;64=皮革盔甲染色資訊;128=盔甲紋樣的工具提示;255=所有資料,除了物品名稱和介紹。 如果要隱藏多種資訊,你只需要把那些標籤的數值加起來。比如你想把附魔和屬性修飾符的資料隱藏,你需要寫3(即1+2)。

1~255的整數
 generation 用來分辨完成的書是「原作」(值為0)、「原作的副本」(值為1)、「複本的複本」(值為2)還是「破舊的」(值為3)。值大於1將導致完成的書無法被複製。 0~3的任意整數
 Damage 用於表示工具的損壞程度,鑽石劍耐久為1561,則給予一把Damage為1的鑽石劍會獲得一把耐久為1560的鑽石劍。 任意整數

以下這個表格對之前的子標籤提供更多細節。

標籤名稱 描述 母標籤 允許值
 id 附魔的命名空間ID。請查看附魔頁面來查詢對應附魔的命名空間ID。  Enchantments(的一項) 附魔類型的命名空間ID(純文字字串)
 lvl 決定附魔的等級。1至10的等級會正常顯示,不超過255級會顯示為「enchantment.level.等級」,超過255級則顯示為「enchantment.level.255」。其原因為遊戲缺少對應的翻譯字串,附魔仍能正常工作,但255級以上的附魔按255級計算。  Enchantments(的一項) 1~32767的整數
 Name 物品的顯示名稱,必須是原始JSON文字。如果是容器的方塊(比如儲物箱和發射器),它們視窗裡的名字並不會因而改變。預設的不帶效果的文字將會顯示為斜體。

如果是用在指令方塊上,它執行指令時的名字會改變(能夠以/say看見)。

 display 原始JSON文字
 Lore 在物品名稱底下的文字,必須是原始JSON文字。預設的不帶效果的文字將會顯示為紫色斜體。  display 每一項為原始JSON文字字串
 color 轉化為十進制的RGB顏色碼,控制皮革盔甲所染的顏色。可用紅色RGB數值(0~255)乘65536,加上綠色RGB數值乘256,再加上藍色RGB數值,得到此標籤的數值。

你也可以使用網上的轉換器,這裡提供了一些:

RGB 換為十六進制: http://www.yellowpipe.com/yis/tools/hex-to-rgb/color-converter.php

十六進制轉為十進制: http://www.statman.info/conversions/hexadecimal.html

 display 資料類型所允許的任意數值
 Operation 決定屬性修飾符的運算模式。0為增加(X+Amount),1為按基加倍(X*(1+Amount)),2為加倍(X*(1+Amount))。1和2的區別是,當存在多個Amount時,1會按照X*(1+Amount1+Amount2)的形式運算,而2會按照X*(1+Amount1)*(1+Amount2)的形式運算。

 AttributeModifiers(的一項)

0˜2的任意整數
 Amount 決定屬性修飾符的數值。  AttributeModifiers(的一項) 資料類型所允許的任意數值
 AttributeName 決定屬性修飾符所應用的屬性。

註:請不要和 Name混淆。

 AttributeModifiers(的一項) 屬性的命名空間ID(純文字字串)
 Name 屬性修飾符的名稱,用於內部的區分和識別。

註:請不要和 AttributeName混淆。

 AttributeModifiers(的一項) 任意文字
 Slot 決定物品處在什麼欄位時,屬性修飾符才會生效。如果沒有定義此項,屬性修飾符將對所有欄位生效。  AttributeModifiers(的一項) "mainhand"(慣用手)、"offhand"(非慣用手)、"head"(頭上)、"chest"(身上)、"legs"(腿上)、"feet"(腳上)的任意一項
 UUID 屬性修飾符的UUID,用於區分不同的屬性修飾符。

註:請不要和實體的UUID混淆,它不會修改實體的UUID。

 AttributeModifiers(的一項) 陣列,包含四個數值,每一項都是UUID相應部分的32位元數值。

例子[]


取得一個名稱為「極好的劍」、擁有附魔鋒利6和耐久2,且無法損壞的金劍。

  /give @s minecraft:golden_sword{display:{Name:'["极好的剑"]'},Enchantments:[{id:"minecraft:sharpness",lvl:6s},{id:"minecraft:unbreaking",lvl:2s}],Unbreakable:1b}
   
Golden sword for nbt tutorial

獲得的金劍的效果

點撥

  • 注意對應類型標籤中表達資料的方式。例如,使用引號來包裹字串;在短整型(short)資料後加上s、在字節型(byte)資料後加上b等等。
  • 所有在指令中使用的標點符號都是半形符號,即英文輸入法下輸入的符號。
  • 對於原始JSON文字字串,使用單引號'')而不是一般的雙引號"")包裹它們會更加省事,因為這可以減少一層轉義。
  • NBT標籤所帶來的附魔可以突破一般附魔等級的上限。
  • 在輸入任何命名空間ID時,帶上命名空間minecraft:永遠是個好習慣(除了屬性)。雖然這看起來會讓指令變得冗長且沒必要,但是可以避免極少情況下的意外錯誤。

取得一個穿在身上時提供20(Armor × 10)點盔甲值的鞘翅。

 /give @s minecraft:elytra{AttributeModifiers:[{AttributeName:"generic.armor",Operation:0,Amount:20d,Slot:"chest",Name:"Armor",UUID:[I;1,2,3,4]}]}
 
Elytra for nbt tutorial

獲得的鞘翅的效果

Elytra on body for nbt tutorial

鞘翅穿在身上時的效果

兩者的作用完全一樣。

點撥

  • 習慣上,屬性的命名空間ID省略命名空間minecraft:
  •  Name可以是任何不受限制的字串。

 UUID可以是任何值,但請避免在多個屬性修飾符中使用相同的UUID。


物品共通標籤[]

NBT標籤中經常有地方需要表達一個物品。例如生物手持的物品、村民買入的項目、容器中的一個物品等等。它們都使用同一種表達方式,你只需要將此表中的標籤都塞進一個 複合標籤裡。

標籤名稱 描述 允許值
 id 物品的命名空間ID。 純文字字串

 Count

一組物品的數量。最大值取決於物品的種類,例如工具最高只能為1;終界珍珠、雞蛋、雪球最高只能為16;其他的物品和方塊一般都可以為64。 正整數,上限取決於物品種類
 Slot 物品所在的欄位編號。可能不存在。在大多數容器(除了熔爐高爐煙燻爐釀造台)中,容器的每一個格子都從左至右、從上到下依次編號(從0開始數);玩家的物品欄有特定的編號方式;熔爐、高爐和煙燻爐中,0代表原料,1代表燃料,2代表成品;釀造台中,0~2分別為三個藥水槽、3為材料槽、4為燃料槽。 資料類型所允許的任意整數
 tag 物品本身所帶的NBT標籤。詳見上文。

大多數物品中可以省略。

物品所擁有的NBT標籤
Items slot number

玩家物品欄各個欄位的編號


自訂狀態效果[]

這些標籤用於自訂藥水(包括飛濺藥水滯留藥水)和藥水箭(包括它們以投射物形式發射出去的實體)的狀態效果。它同樣適用於定義實體擁有的狀態效果和藥水效果雲生效時的狀態效果。

標籤名稱 描述 母標籤 允許值或子標籤
 CustomPotionEffects 決定自訂狀態效果的一個由 複合標籤組成的列表,每一個 複合標籤裡都有定義該狀態效果的標籤,見下。 無(處於根標籤)  Id Duration Amplifier Ambient ShowParticles ShowIcon
 Id 決定狀態效果的ID。詳見狀態效果#資料值  CustomPotionEffects(的一項) 0˜32的整數
 Duration 狀態效果所持續的時長,單位為刻。  CustomPotionEffects(的一項) 資料類型所允許的任意數值
 Amplifier 狀態效果的等級。它會比實際的效果等級小1。設為0或更小的值時效果和設為0一樣。  CustomPotionEffects(的一項) 資料類型所允許的任意數值
 Ambient 決定狀態效果是否由烽火台施加。若為1,狀態效果的粒子將會顯示為半透明,且圖示會加上青色的邊框。  CustomPotionEffects(的一項) 1/0(是/否)
 ShowParticles 狀態效果是否會顯示粒子效果。  CustomPotionEffects(的一項) 1/0(是/否)

 ShowIcon

狀態效果是否會顯示圖示。  CustomPotionEffects(的一項) 1/0(是/否)
 CustomPotionColor 決定該藥水顯示的顏色和藥水作用時的粒子效果的顏色。為一個轉化為十進制的RGB顏色碼。可用紅色RGB數值(0~255)乘65536,加上綠色RGB數值乘256,再加上藍色RGB數值,得到此標籤的數值。

注意:負數會被顯示為白色。

無(處於根標籤) 資料類型所允許的任意數值
 Potion 該藥水的狀態效果,預設為空。會影響得到的藥水的名稱。 無(處於根標籤) 預設藥水效果的名稱,純文字字串。

實體[]

這些標籤是用在/summon指令生成實體或是/data指令來變更實體的NBT標籤。

標籤名稱 描述 容許有的子標籤 必須有的子標籤 格式
 TileEntityData 掉落的方塊使用。如果掉落的方塊是一個方塊實體,則用此標籤儲存其方塊實體的資料。當掉落的方塊轉化為方塊實體後,其此標籤內的資料就會被複製到方塊實體的根標籤中。 不同的方塊實體有不同的子標籤,詳見下文。 TileEntityData:{/方塊實體資料/}
 BlockState 掉落的方塊使用。 Name子標籤用於指定方塊的類型, Properties用於設定方塊狀態。後者為方塊狀態的鍵與值的配對(用":"分割鍵和值而不是"=",多個配對間用","隔開)。  Name,  Properties  Name BlockState:{Name:"方块命名空间ID",Properties:{<键>:<值>,<键>:<值>...}}
 ActiveEffects 設定生物所擁有的藥水效果。其為一個列表,每一項都表示一種狀態效果,子標籤格式與 CustomPotionEffects完全相同。

注意:如果那個效果和屬性有關,比如迅捷,就需要同時變更實體的屬性修飾符,否則狀態效果將無效

 Id,  Duration,  Amplifier,  Ambient,  ShowParticles,  ShowIcon 所有 ActiveEffects:[{Id:#,Duration:#,Amplifier:#,Ambient:#,ShowParticles:#,ShowIcon:#}...]
 Passengers 設定正在騎乘本實體的實體。若列表中有多項,則每一項中的實體都會騎乘在本實體上。

注意:這個標籤不能被/data變更,通常只會在使用/summon中。若要修改騎乘者的資料,請直接在指令中指向該實體。

不同的實體有不同的NBT標籤,但 id是必須的,用於決定實體的類型。  id Passengers:[{/實體資訊/},{/實體資訊/}...(以此類推)]
 Attributes 設定實體的屬性基值和修飾符,詳情請見屬性  Name Base Modifiers  Name Base {Attributes:[{Name:"屬性名",Base:#基值,Modifiers:[{/一個修飾符/},{/一個修飾符/}...]
標籤名稱 描述 允許值
 SaddleItem 物品共通標籤設定馬背上所裝備的鞍物品。一般情況下 id只能為"minecraft:saddle", Count只能為1。 物品共通標籤
 Saddle 控制熾足獸的背上是否裝備了鞍。 1/0(是/否)
 HandItems 由兩項物品共通標籤組成的列表,應用於實體手上所拿的物品。第一項表示慣用手,第二項表示非慣用手。可以填寫留空項表示該手未拿任何物品。

注意:此標籤不適用於部分實體,例如牛。

物品共通標籤(每一項,不帶 Slot
 ArmorItems 由四項物品共通標籤組成的列表,應用於實體所穿戴的盔甲/物品。四項依次表示腳部、腿部、胸部和頭部的物品。可以填寫留空項表示該欄位未裝備任何物品。

注意:此標籤不適用於部分實體,且各個欄位(除頭部)會限制可穿戴的物品。

物品共通標籤(每一項,不帶 Slot
 Motion 定義實體的速度[注 3]。其為一個由三個 倍精度浮點型資料組成的列表,分別表示向東面(X軸正方向)、上面(Y軸正方向)和南面(Z軸正方向)的運動速度。 三個 倍精度浮點型資料組成的列表,可以是任意數值。

注意:填寫的大於10.0d或小於-10.0d的值會被視為0.0d[需要更多資訊]

 power 定義投擲物實體(火球、小火球和凋零頭顱)的加速度。其為一個由三個 倍精度浮點型資料組成的列表,分別表示向東面(X軸正方向)、上面(Y軸正方向)和南面(Z軸正方向)的加速度。其值會每刻增加進Motion 三個 倍精度浮點型資料組成的列表,可以是任意數值。
 NoAI 使生物失去AI。這將導致他們不會自主運動或做出特殊行為,但仍然會受到傷害並死亡。 1/0(是/否)
 NoGravity 控制實體是否受重力影響。 1/0(是/否)
 Invulnerable 設定該實體是否無敵。

注意:這裡的「無敵」並非絕對意義上的保證該實體永不受任何傷害,由創造模式玩家發起的攻擊(近戰、發射出的投射物如箭或三叉戟、直接或經其射出的著火的箭點燃的TNT等)、虛空和/kill仍然能對該實體造成傷害。此外,雖然除此之外的所有攻擊行為都會對此標籤值被設定為1的實體無效(投射物則會被直接彈開),該實體依然能被爆炸推動。
注意:對於存在需要使用攻擊鍵進行互動的實體(如從物品展示框上取下物品),將此標籤值設定為1會導致不為創造模式的玩家無法與其進行該互動行為。

1/0(是/否)
 PersistenceRequired 設定生物是否不會被清除。有關清除的資訊詳見清除

注意:一些原本不會被清除的生物在此標籤值被設定成0之後將可以被自然清除,比如被命名牌命名後的敵對生物。但是如果一個生物其所屬的類別原本就不會被清除(比如Boss生物),那麼即使此標籤值設定為0也不會導致其被自然清除。

1/0(是/否)
 Silent 設定實體是否始終保持安靜。設定為1會讓該實體不發出任何聲音。 1/0(是/否)
 Fire 實體被火所灼燒的剩餘時間。負數表示實體能在火中不被傷害的時間。設定成-32767可讓實體免疫火;設定成32767可讓實體永遠燃燒。 資料類型所允許的任意數值
 HasVisualFire 擁有此標籤的實體看起來已著火,但實際上未著火。 1/0(是/否)
 Health 實體的生命值。超過上限的生命值依然會保留,但如果生命值超過了上限,任何治療都將不會起作用。 資料類型所允許的任意數值
 Variant 改變的變異種類。不設定或設定不正確的變異會生成普通的白色馬。關於馬的變種列表,詳見馬的變種 資料類型所允許的任意數值
 Size 改變一個史萊姆、岩漿立方怪或夜魅的大小。比0小則生成0大小。

效能警告:越大的實體會造成越嚴重的遊戲卡頓問題,尤其是Size大於32的實體。

資料類型所允許的任意數值
 Time 應用於掉落的方塊。表示實體已存在的刻數,大於600(即正常情況下的30秒後)時實體將會被刪除。設為負數會使實體永不刪除。用於/summon時推薦設為1。 資料類型所允許的任意數值

 DropItem

用於掉落的方塊。當掉落的方塊落在一個除空氣和階梯外的非實體方塊上時,是否會掉落為物品形式。 1/0(是/否)
 Fuse 設定點燃的TNT距離爆炸還剩多長時間,單位為刻。也可用於設定苦力怕在點燃時的爆炸引信時長。設為0或更小的值會導致它們立即爆炸。 資料類型所允許的任意數值
 ExplosionPower 設定火球的爆炸威力。預設情況按1計算。

效能警告:過大威力的火球在爆炸時會產生大量的運算和掉落物,導致遊戲卡頓、卡死或崩潰。

資料類型所允許的任意數值
 ExplosionRadius 確定一個苦力怕的爆炸半徑。預設情況為3。

效能警告:過大威力的苦力怕在爆炸時會產生大量的運算和掉落物,導致遊戲卡頓、卡死或崩潰。

資料類型所允許的任意數值
 powered 決定苦力怕是否為閃電苦力怕 1/0(是/否)
 HandDropChances 決定實體手上的物品在其死亡時的掉落機率。由兩項 float組成,第一項應用於慣用手,第二項應用於非慣用手。0為不可能掉落,1為一定掉落。 0˜1的浮點數(兩項組成的列表)
 ArmorDropChances 決定實體身上穿戴的物品在其死亡時的掉落機率。由四項 float組成,依次應用於腳部、腿部、胸部和頭部。0為不可能掉落,1為一定掉落。 0˜1的浮點數(四項組成的列表)
 Age 決定生物已成年的刻數,每刻數值+1。若為負數,則會在大於0時轉變為成年生物。 資料類型所允許的任意數值

下表為上面所提到的子標籤提供更多細節:

標籤名稱 描述 母標籤 允許值
 Modifiers 為實體加入一個屬性修飾符。  Attributes(的一項) 格式參見上文

例子[]


召喚一個下落中的草地

Falling block for nbt tutorial

下落的草地

  /summon minecraft:falling_block ~ ~ ~ {BlockState:{Name:"minecraft:grass_block"},Time:1}
  

點撥

  • 掉落的方塊可以是任意方塊,包括那些遊戲機制中不受重力影響的方塊,但是技術性方塊會在下落過程中迅速消失。
  •  Time設為1永遠是最推薦的。

召喚一隻蝙蝠,上面騎著一隻手持木棒、頭戴皮革帽子的骷髏

Skeleton on bat for nbt tutorial

一隻手持木棒、頭戴皮革帽子,騎著蝙蝠的骷髏

  /summon minecraft:bat ~ ~ ~ {Passengers:[{id:"minecraft:skeleton",ArmorItems:[{},{},{},{id:"minecraft:leather_helmet",Count:1b}],HandItems:[{id:"minecraft:stick",Count:1b}]}]}
  

點撥

  • 不要懼怕長的NBT標籤!看起來它們很複雜,其實只要細心分辨,每一個標籤都是你所熟悉的(如果你有認真學習本頁面)。
  • 在物品通用標籤中,不要省略 Count標籤,即使是數量為1的物品。

生成一隻生命上限為100(♥ × 50)的殭屍。


  /summon minecraft:zombie ~ ~ ~ {Attributes:[{Name:"generic.max_health",Base:100f}],Health:100f}
  

點撥

  • 你也可以使用屬性修飾符,但是那樣會更加繁瑣。
  • 生命上限和生命值沒有直接聯繫,修改了生命上限的實體在生成時的生命值仍然是預設值。你可以一同使用 Health標籤來修改實體的生命值。

掉落物品[]

這些標籤用於掉落物形式(即實體)的物品。對於在物品中使用的NBT標籤,請參見上文

標籤名稱 描述 允許值
 Item 一個物品共通標籤(不帶 Slot),以指定掉落的物品。 物品共通標籤
 PickupDelay 用於設定撿起物品延遲的。設定成32767將使物品無法撿起。

玩家丟出的物品將預設帶有40刻的延遲。

資料類型所允許的任意數值
 Age 記錄物品存在的時間,同時控制物品的消失。每一個遊戲此標籤的值都會加1,當達到6000後(即正常情況下的5分鐘)物品將會消失。設定成-32768將會使物品永不消失。 資料類型所允許的任意數值

例子[]


生成一個無法被撿起的鑽石劍掉落物。

/summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond_sword",Count:1b},PickupDelay:32767s}


村民和流浪商人[]

這些標籤用於生成村民和流浪商人。

標籤名稱 描述 母標籤 允許值或子標籤
 Offers 用於自訂村民或流浪商人的交易功能。目前其子標籤只有 Recipes用以指定交易項目。 無(處於根標籤)  Recipes
 VillagerData 用於自訂村民的職業功能。(在流浪商人身上是不必要的) 無(處於根標籤)  profession level type
 Gossips 用於自訂村民交流的言論。其為一個列表,每一項都表示一條言論。(在流浪商人身上是不必要的) 無(處於根標籤)  Type Value Target
 Xp 村民目前的經驗值總和,當經驗大於升級所需經驗時,村民將在下一次交易後升級,解鎖新交易並更換徽章。(在流浪商人身上是不必要的) 無(處於根標籤) 資料類型所允許的任意數值
 LastRestock 村民最後一次補貨之後的時間。(在流浪商人身上是不必要的) 無(處於根標籤) 資料類型所允許的任意數值
 Recipes 用於指定村民或流浪商人的交易項目。  Offers 此標籤的子標籤過多,詳細格式請見下方。
 buy 村民買入的物品,使用物品共通標籤表達。  Recipes(的一項) 物品共通標籤
 buyB 可能不存在。村民或流浪商人買入的第二種物品,使用物品共通標籤表達。

注意:此標籤可以獨自存在,並非必須搭配 buy標籤。由於所有影響價格的標籤都不會對此標籤生效,這可以用來製造一個無論發生什麼情況價格都不會有任何變動的交易。

 Recipes(的一項) 物品共通標籤
 sell 村民或流浪商人出售的物品,使用物品共通標籤表達。  Recipes(的一項) 物品共通標籤
 rewardExp 此交易是否會給予玩家經驗。  Recipes(的一項) 1/0(是/否)
 uses 此交易已進行的次數。如果達到 maxUses,則此交易將不可用。村民可以透過補貨來將此值清零。  Recipes(的一項) 正整數
 maxUses 此交易單次補貨的最大的可用次數。  Recipes(的一項) 正整數
 xp 此交易可以提供的經驗。需要在 rewardExp啟用時才可啟動。  Recipes(的一項) 資料類型所允許的任意數值
 priceMultiplier 此交易的調節價格倍數(僅應用於第一項買入物品,即 buy),會影響因言論強度(見 Value)或價格調節(見 demand)導致的價格變化。  Recipes(的一項) 資料類型所允許的任意數值
 demand 此交易的調節價格(僅應用於第一項買入物品,即 buy),價格會加上此值與 priceMultiplier與原價的乘積(向下取整)。當村民重新補貨後此值會刷新。

注意:雖然允許填入任意數值,但是如果此值與 priceMultiplier最終的乘積是負數,價格並不會受到影響。

 Recipes(的一項) 資料類型所允許的任意數值
 specialPrice 此交易的優惠價格(僅應用於第一項買入物品,即 buy),價格會加上此值。與 demand不同的是,村民補貨不會影響此值。(在流浪商人身上是不必要的)

注意:所以想降價的話,請把這個值設定為負數。

 Recipes(的一項) 資料類型所允許的任意數值
 level 村民目前的等級,預設為1。1~5分別對應新手、學徒、老手、專家、大師。小於1會生成為1級,大於5時村民會佩戴大師的徽章,但是交易介面沒有「大師」字樣。等級提升時會自然解鎖新等級對應的交易,即使已經用 Offers自訂了交易。(在流浪商人身上是不必要的)  VillagerData 資料類型所允許的任意數值
 profession 村民的職業,未定義時預設生成為minecraft:none(失業)。

注意:如果此標籤為none,交易頁面將無法正常打開。

(在流浪商人身上是不必要的)

 VillagerData 村民職業的命名空間ID(純文字字串)
 type 村民的種類,未定義時預設生成為minecraft:plains(平原)。(在流浪商人身上是不必要的)  VillagerData 村民種類的命名空間ID(純文字字串)
 Type 村民的言論類型。不同的言論類型會影響玩家交易的最終價格,或者村民生成鐵魔像的行為。

注意major_negative會導致鐵魔像對引發該言論的玩家敵對,具體取決於 Value(不小於20)。

(在流浪商人身上是不必要的)

 Gossips(的一項) major_negative,minor_negative,minor_positive,major_positive,tradinggolem中的一項
 Value 言論的強度,數值越高表示強度越大。會在村民交談時傳播。影響言論產生的價格變化和鐵魔像對玩家的敵意。

注意:對每一個玩家,其言論導致的價格變化按如下規則計算:最終價格 = 原價 -  Typemajor_positive時的 Value值的5倍 +  Typeminor_positive時的 Value值的1倍 +  Typetrading時的 Value值的1倍 -  Typeminor_negative時的 Value值的1倍 -  Typemajor_negative時的 Value值的5倍 priceMultiplier的值的乘積(向下取整)。

(在流浪商人身上是不必要的)

 Gossips(的一項) 資料類型所允許的任意數值
 Target 引發此言論的對象的UUID,用於區分言論的引發者。(在流浪商人身上是不必要的)  Gossips(的一項) 陣列,包含四個數值,每一項都是UUID相應部分的32位元數值

盔甲座[]

這些標籤被使用於召喚盔甲座時。

標籤名稱 描述 允許值或子標籤
 ShowArms 控制盔甲座是否顯示手臂。 1/0(是/否)
 NoBasePlate 控制盔甲座是否隱藏底盤。 1/0(是/否)
 Small 控制盔甲座是否為小型。 1/0(是/否)
 Marker 決定盔甲座是否會隱藏其碰撞箱。這意味著除非使用指令,否則將無法與其互動。

注意:這同時也會導致該盔甲座無視重力,且不會受到傷害,類似{Invulnerable:1b,NoGravity:1b})。

1/0(是/否)
 Pose 改變盔甲座各個身體部分的姿勢和旋轉角度。子標籤有 Head,  Body,  LeftArm,  RightArm,  LeftLeg,  RightLeg,每一個都是由三個 浮點數組成的列表。三個數值分別表示前後旋轉、左右旋轉和自身扭轉的角度。

注意 LeftArm RightArm只有在 ShowArms啟用時才會顯示。

 Head,  Body,  LeftArm,  RightArm,  LeftLeg,  RightLeg
 Invisible 決定盔甲座是否不可見。

注意:透過這種方式變得不可見的盔甲座的碰撞箱不會顯示,也不會受到傷害(類似{Invulnerable:1b})。但是其他行為與普通盔甲座相同。

1/0(是/否)
 DisabledSlots 用于禁用盔甲座某個部位的某個互動行為。1、2、4、8、16、32分別代表慣用手、腳部、腿部、身體、頭部和非慣用手,將數值*1會停用從此部位放置或替換物品,*256會停用從此部位移除或替換物品,*65536會停用在此部位放置物品。如果需要同時停用多個部位的多種互動行為,則輸入這些數值的和。比如,輸入161914144896會導致盔甲座所有部位的所有互動行為均被停用,類似{Marker:1b}

注意:輸入無法透過上述過程計算出來的正數值(比如64)是允許的,但是不產生任何影響。輸入負數值也會停用某個或某些部位的互動行為,比如-1就會直接停用所有的互動行為[需要測試]

資料類型所允許的任意數值

例子[]

生成一隻跳舞的盔甲座,同時帶著一個苦力怕頭顱和一套皮革盔甲。

Dancing creeper armor stand for nbt tutorial

跳舞的苦力怕盔甲座

/summon minecraft:armor_stand ~ ~1 ~ {ShowArms:1b,Pose:{RightArm:[-135.0f,0.0f,0.0f],Head:[-15.0f,20.0f,0.0f],LeftArm:[-130.0f,0.0f,0.0f],RightLeg:[-115.0f,30.0f,0.0f],Body:[0.0f,20.0f,0.0f]},ArmorItems:[{id:"minecraft:leather_boots",Count:1b},{id:"minecraft:leather_leggings",Count:1b},{id:"minecraft:leather_chestplate",Count:1b},{id:"minecraft:creeper_head",Count:1b}]}
  

注意:由於聊天欄的長度限制,過長的指令可能無法在聊天欄中輸入。你可以使用指令方塊來突破此限制。

點撥

  •  HandItems ArmorItems標籤在盔甲座上同樣可用。
  • 使用 Pose時,如果要使用手臂的樣式,別忘了將 ShowArms設為1。

豬布林豬布獸[]

這些標籤用於生成豬布林或豬布獸。

標籤名稱 描述 允許值
 TimeInOverworld 豬布林或豬布獸在主世界或終界的停留時間,如果該值大於300,它們將分別轉變為殭屍化豬布林豬屍獸

注意:這個標籤在地獄無效。

資料類型所允許的任意數值
 IsImmuneToZombification 是否阻止豬布林或豬布獸殭屍化。如果設定為1,豬布林或豬布獸將不會轉變為殭屍化豬布林或豬屍獸,且它們的TimeInOverworld將始終是0。

注意:這也會使得它們不再有類似治癒中的殭屍村民那樣的「抖動」的動作。

1/0(是/否)
 CannotHunt 豬布林是否會攻擊豬布獸。如果設定為1,這隻豬布林將不會攻擊豬布獸。 1/0(是/否)
 CannotBeHunted 豬布獸是否會被豬布林攻擊。如果設定為1,豬布林將不會攻擊這隻豬布獸。 1/0(是/否)

海龜[]

這些標籤被用於生成海龜。

標籤名稱 描述 允許值
 HomePosX 海龜「出生地」的X座標。這個值也是海龜將要產卵時將會回到的地方。 資料類型所允許的任意數值
 HomePosY 海龜「出生地」的Y座標。這個值也是海龜將要產卵時將會回到的地方。 資料類型所允許的任意數值
 HomePosZ 海龜「出生地」的Z座標。這個值也是海龜將要產卵時將會回到的地方。 資料類型所允許的任意數值
 HasEgg 確定海龜是否要產卵。這也將決定海龜是否嘗試返回到出生地。 1/0(是/否)

藥水效果雲[]

這些標籤被用於生成藥水效果雲。

標籤名稱 描述 允許值
 Age 藥水效果雲已經存在的時間,單位為刻,預設為0。當此值大於DurationWaitTime之和時,藥水效果雲消散。

注意:這裡的「存在時間」是從藥水效果雲這個實體生成出來的那一刻開始計算的,即使此時這個藥水效果雲還處在「等待」狀態。

資料類型所允許的任意數值
 Color 藥水效果雲的粒子效果的顏色。十進制的RGB顏色碼,與顯示屬性使用了相同的顏色格式,可用紅色RGB數值乘65536,加上綠色RGB數值乘256,再加上藍色RGB數值計算得出。預設為0 資料類型所允許的任意數值
 Duration 藥水效果雲允許的最大存在時間,單位為刻,預設為0

注意:這裡的「最大存在時間」是區域雲「有效」(即具有為其範圍內的生物施加狀態效果的能力)的時間。

資料類型所允許的任意數值
 ReapplicationDelay 藥水效果雲每次「生效」(即對處於其範圍內的生物施加狀態效果)的時間間隔,單位為刻,預設為0 資料類型所允許的任意數值
 WaitTime 藥水效果雲在「有效」前的「等待」時間,單位為刻,預設為0。處於「等待」狀態的藥水效果雲不會對其範圍內的生物施加任何狀態效果,並且只在中心處顯示粒子效果。 資料類型所允許的任意數值
 DurationOnUse 藥水效果雲每次「生效」後Duration的增加量,單位為刻每生物每次,預設為0

效能警告:設定成正數有可能導致此藥水效果雲消散所需時間大幅延長。

資料類型所允許的任意數值
 Owner 藥水效果雲創造者的UUID,用於組成UUID以區分不同的創造者。這主要影響被藥水雲傷害到的生物對此傷害的來源的檢測。可以不存在。 陣列,包含四個數值,每一項都是UUID相應部分的32位元數值
 Radius 藥水效果雲的半徑,預設為0.0f。決定藥水效果雲處於「有效」狀態時的有效半徑,只有在這個值的範圍內的實體才會被施加狀態效果。

注意:藥水效果雲的碰撞箱會受到這個標籤的影響,其邊長始終是這個標籤的值,即使藥水效果雲此時仍處在「等待」狀態,視覺上甚至看不到藥水效果雲的存在。
效能警告:過大的半徑可能產生嚴重的卡頓。

資料類型所允許的任意數值
 RadiusOnUse 藥水效果雲每次「生效」後Radius的增加量,單位為米每生物每次,預設為0.0f

效能警告:設定成正數有可能導致此藥水效果雲在極短的時間內以極高的速度膨脹並帶來大量運算量,從而產生嚴重的卡頓。

資料類型所允許的任意數值
 RadiusPerTick 藥水效果雲處於「有效」狀態時Radius的自然增加量,單位為米/刻。設定為負數則藥水雲會自然收縮,就像滯留藥水創造出來的那樣。

效能警告:設定成正數有可能導致此藥水效果雲在消散前膨脹至一個較大範圍,從而產生嚴重的卡頓。

資料類型所允許的任意數值
 Particle 藥水效果雲的粒子效果,預設為minecraft:entity_effect Particle:"<粒子名稱> <粒子參數(若需要)>",格式與/particle完全相同。
 Potion 藥水效果雲在「生效」時施加的狀態效果。預設為空。

注意:如果此標籤和 Effects均為空,那麼此藥水效果雲將始終不會對生物「生效」,這意味著所有需要藥水效果雲「生效」才會發揮作用的標籤如 DurationOnUse RadiusOnUse將無法發揮作用。

預設藥水效果的名稱,純文字字串。
 Effects 用於自訂藥水效果雲「生效」時施加的狀態效果的一個由 複合標籤組成的列表,每一個 複合標籤裡都有定義該狀態效果的標籤。預設為空。 子標籤格式與 CustomPotionEffects相同。見教學/NBT指令標籤#自訂狀態效果

例子[]


生成一個滿足以下條件的藥水效果雲:

  • 最大存在時間1分鐘,但生成後需等待3秒後才開始有效;
  • 初始半徑20米,每刻自然縮減0.05米;
  • 每隔4秒為範圍內的所有生物施加類似烽火台提供的力量II效果,時長16秒,且每對一個生物生效一次,自身半徑增加4.9米,最大存在時間減少1秒;
  • 粒子效果顯示為破壞黃金方塊時的粒子效果。
Area effect cloud for nbt tutorial

生成的藥水效果雲和其生效時施加的狀態效果,為便於觀察藥水效果雲的形狀已顯示碰撞箱

/summon minecraft:area_effect_cloud ~ ~ ~ {Duration:1200,WaitTime:60,Age:0,DurationOnUse:-20,Radius:20.0f,RadiusOnUse:4.9f,RadiusPerTick:-0.05f,ReapplicationDelay:80,Effects:[{Id:5b,Amplifier:1b,Duration:320,Ambient:1b}],Particle:"minecraft:block minecraft:gold_block"} 

再次警告:不要輕易將 DurationOnUse RadiusOnUse RadiusPerTick均設定為正數,特別是數值較大的正數,除非你有把握在藥水效果雲失控前清除它。如果確有需求,在一個新存檔裡進行測試並在旁邊準備一個寫有/kill @e[type=area_effect_cloud]的指令方塊是推薦的。


煙火[]

這些標籤用於生成煙火。但是其中的一些標籤也用於定義物品形式的煙火或者火藥球

標籤名稱 描述 母標籤 允許值或子標籤
 Life 煙火已經飛行的時間,單位為刻,預設為0。當這個值不小於LifeTime時,煙火爆炸。 無(處於根標籤) 資料類型所允許的任意數值
 LifeTime 煙火距離爆炸的時間,單位為刻,預設值透過Flight(見下)計算得出,公式為 時間 = ((Flight + 1) * 10 + random(0 to 5) + random(0 to 6))。 無(處於根標籤) 資料類型所允許的任意數值
 ShotAtAngle 煙火是否由射出,預設為0

注意:如果需要讓煙火按照預設的Motion飛行,則設定為1

無(處於根標籤) 1/0(是/否)
 FireworksItem 煙火的物品標籤。 無(處於根標籤)  id Count tag
 id 煙火的物品ID。  FireworksItem minecraft:firework_rocket
 Count 煙火的物品數量。通常情況下應該為1b  FireworksItem 資料類型所允許的任意數值
 tag 煙火的物品標籤,目前只有 Fireworks一個子標籤。  FireworksItem  Fireworks
 Fireworks 煙火的標籤,用於定義煙火的飛行狀態和爆炸效果。

注意:此標籤及其所有子標籤也適用於物品形式的煙火。

 tag  Flight Explosions

 Flight

煙火的飛行的時間,單位為「火藥」(即表現為和在工作台上合成煙火時所用的火藥數相等),預設為0b

注意:這個標籤的取值範圍比工作台大得多,最大是127b,更大的值將會變為-128 + 其與128的差,結果大於-1的將強制變為-1,比如128變為-128,200變為-56,512變為-1。如果值為-2b或更小(包括上文提到的,「轉換」過後的值),煙火看上去基本不會飛行。

 Fireworks 資料類型所允許的任意數值
 Explosions 煙火的爆炸效果。其為一個列表,每一項都表示一種爆炸效果。

注意:此標籤及其所有子標籤也適用於火藥球。
注意:對於煙火,這個列表每增加一項,就相當於在工作台上合成時增加了一個火藥球,這會提高煙火的爆炸傷害。

 Fireworks  Flicker Trail Type Colors FadeColors
 Flicker 煙火爆炸時是否由閃爍效果,與合成火藥球時加入了螢石粉的效果相同,預設為0b  Explosions(的一項) 1/0(是/否)
 Trail 煙火飛行時是否有拖曳痕跡,與合成火藥球時加入了鑽石的效果相同,預設為0b  Explosions(的一項) 1/0(是/否)
 Type 煙火爆炸時的形態,與合成火藥球時加入了對應的物品的效果相同,預設為0b

注意:其他資料類型允許的值是允許的,但是會被處理為0b

 Explosions(的一項) 0b(小型球狀)、1b(大型球狀,加入火焰彈)、2b(星形,加入金粒)、3b(苦力怕頭,加入任何頭顱)、4b(爆裂型,加入羽毛
 Colors 煙火爆炸時粒子效果的顏色,陣列的每一項均採用一個十進制的RGB顏色碼定義一個顏色,與顯示屬性使用了相同的顏色格式,可用紅色RGB數值乘65536,加上綠色RGB數值乘256,再加上藍色RGB數值計算得出。預設為0

注意:這意味著,一個僅定義了一個爆炸效果的煙火爆炸時是完全可能有多個顏色同時出現的。

 Explosions(的一項) 資料類型所允許的任意數值
 FadeColors 煙火爆炸後漸變的顏色,與 Colors格式相同  Explosions(的一項) 資料類型所允許的任意數值

方塊[]

這些標籤用於/setblock/fill指令放置方塊或是/data指令變更方塊實體的NBT標籤。

指令方塊[]

這些標籤被用於放置或修改指令方塊、連鎖式指令方塊或重複型指令方塊

標籤名稱 描述 格式或允許值
 Command 指令方塊裡寫入的指令,預設為空。指令裡包含的引號""或者反斜槓\需要轉義。 {Command:"一条完整的命令"}
 auto 指令方塊是否為「保持開啟」模式,預設為0b 1/0(是/否)
 CustomName 指令方塊的名字,必須是原始JSON文字。預設不存在。如果定義了名字,以指令方塊作為指令執行者時,/say/tell等指令在聊天欄顯示的內容開頭的[@]會被替換為定義的名字。 {CustomName:'{"text":"名字"}'}

例子[]

放置一個保持開啟的重複型指令方塊,並讓這個方塊包含一條目的為「將自己所在位置的方塊改變為條件制約且保持開啟的連鎖式指令方塊」的指令: /setblock ~ ~ ~ repeating_command_block{auto:1b,Command:"/setblock ~ ~ ~ chain_command_block[conditional=true]{auto:1b}"}

注意:指令方塊的「條件制約」模式並不是一個NBT標籤,而只是一個方塊狀態,這一點可以從上面使用的括號的差異上看出來。

容器[]

這些標籤被用於放置或修改大多數容器方塊,但是同樣也適用於使用/summon生成或使用/data變更的儲物箱礦車漏斗礦車

標籤名稱 描述 格式或允許值
 CustomName 打開容器後在其介面上方看到容器的名字,必須是原始JSON文字。預設不存在。 {CustomName:'{"text":"名字"}'}
 Lock 純文字字串,用於給容器上鎖,預設不存在。如果定義了此標籤,容器將只能在慣用手持有名字與標籤中定義的名字完全相同的物品時開啟。

注意:這個標籤比較的其實是容器的Lock和手持物品的Name兩個標籤內的「名字」的文字是否一致,而不是物品名字或者存檔id是否一致。換句話說,在簡體中文語言下拿著一把從沒有改過名字的鑽石劍是無法打開寫有標籤{Lock:"钻石剑"}的容器的。

{Lock:"开启容器的物品的名字"}
 Items 一個由 複合標籤組成的列表,每一個 複合標籤裡都分別有一個完整的物品共通標籤,以指定容器內指定欄位的物品。 物品共通標籤
 LootTable 決定容器在第一次發生互動(開啟、破壞、與漏斗互動等)後容器裡生成的戰利品,預設不存在。只適用於儲物箱陷阱儲物箱儲物箱礦車漏斗漏斗礦車發射器投擲器界伏盒。詳見戰利品表

注意:定義此標籤後,用於定義容器原有內容物的Items將會被刪除,所有內容物都會丟失。

{LootTable:"战利品表的命名空间ID值"},詳見戰利品表#資料包

 LootTableSeed 決定生成戰利品表時使用的種子,預設為空,只在定義了LootTable時有效。此項為空或者是0時將使用隨機的種子。

注意:這個標籤在機制上類似於生成世界的種子,這意味著只要這個標籤值一樣,同一個戰利品表始終會得到完全相同的戰利品,連位置都不會變。

資料類型所允許的任意數值

烽火台[]

這些標籤被用於放置或修改烽火台。

標籤名稱 描述 允許值
 Primary 用於設定烽火台的主效果,預設為-1。烽火台將提供等級為 I 級的此標籤定義的狀態效果。

注意:即使烽火台等級並不夠該效果所需的等級,此標籤依然會正常工作,這甚至包括原本只能在輔助效果中選擇到的回復。

-1(無效果)、1迅捷)、3挖掘加速)、5力量)、8跳躍提升)、10回復)或11抗性)中的一個。
 Secondary 用於設定烽火台的輔助效果,預設為-1。如果此輔助效果與Primary定義的主效果一致,那麼烽火台將把主效果提供的效果的等級提升至 II 級,否則烽火台將額外提供等級為 I 級的輔助效果。

注意:如果烽火台等級不夠4級,此標籤無效。

-1(無效果)、1迅捷)、3挖掘加速)、5力量)、8跳躍提升)、10回復)或11抗性)中的一個。

注意:如果所填寫的狀態效果的id不在上述列舉的範圍內,烽火台並不會提供該狀態效果,而是會將該值改為-1[注 4]

點撥

  • 你可以將PrimarySecondary同時設定為10來使一個4級烽火台提供 回復II 的狀態效果。

生怪磚[]

這些標籤用於放置或修改生怪磚,但是同樣也對生怪磚礦車有效。

標籤名稱 描述 母標籤 允許值或子標籤
 SpawnCount 生怪磚每次生成時的最大嘗試生成次數。也可理解為生怪磚每個生成週期最多能生成的實體數。預設為4s 無(處於根標籤) 資料類型所允許的任意數值
 SpawnRange 生怪磚每次生成時的嘗試生成的實體的範圍。預設為4s

注意:與通常所理解的不同,這個「範圍」實際上是一個長方體。這個長方體的計算方法是以生怪磚所在位置的西北下角(即XYZ座標最小的那個點)為中心,其邊界為X±R、Y±1、Z±R(RSpawnRange的值),從而得到一個2R*3*2R的空間。這也意味著這個標籤填入負數值和填入為其相反數的正數值沒有區別。

無(處於根標籤) 資料類型所允許的任意數值
 RequiredPlayerRange 生怪磚開始工作(表現為出現火焰粒子效果和生怪磚內的實體開始旋轉)時所需的玩家與生怪磚的最小距離。生怪磚會每刻檢測一次是否有玩家進入範圍。預設為16s

注意:旁觀者模式玩家不會被檢測。

無(處於根標籤) 資料類型所允許的任意數值
 MaxNearbyEntities 生怪磚每次生成時允許的附近最大實體數。預設為6s

注意:生怪磚只會檢測範圍內與下一次將要生成的實體(儲存於 SpawnData,見下)id相同的實體的數量,範圍為一個以生怪磚自身為中心的2R*8*2R為棱長的柱體區域(RSpawnRange的值)。注意這個檢測實際上檢測的是實體的碰撞箱而不是實體的位置,只要碰撞箱有一部分在這個區域內即判定該實體在附近。如果附近的實體數大於這個值,生怪磚將不會生成實體。

無(處於根標籤) 資料類型所允許的任意數值
 MinSpawnDelay 生怪磚每次成功生成實體後距離下次生成的所需的最小時間,單位為刻。預設為200s

注意:填入負數會被視為0s

無(處於根標籤) 資料類型所允許的任意數值
 MaxSpawnDelay 生怪磚每次成功生成實體後距離下次生成的所需的最大時間,單位為刻。預設為800s

注意:如果這個值比MinSpawnDelay還小,那麼會被視為與MinSpawnDelay相等。

無(處於根標籤) 資料類型所允許的任意數值
 Delay 生怪磚距離下次生成的所剩餘的時間,單位為刻,為0s時會開始嘗試生成實體(見生怪磚#機制。會在每次成功生成實體後刷新(即在MinSpawnDelayMaxSpawnDelay之間隨機選擇一個數填入)。如果玩家與生怪磚的距離不大於RequiredPlayerRange,則每刻減少1。預設為0s 無(處於根標籤) 資料類型所允許的任意數值
 SpawnData 生怪磚下一次將要生成的實體的標籤。預設為{SpawnData:{id:"minecraft:pig"}}

注意:生怪磚會在每次成功生成實體後從 SpawnPotentials中選擇一項覆蓋此標籤。

無(處於根標籤)  id和該實體id所擁有的所有標籤
 SpawnPotentials 一個由 複合標籤組成的列表,每一個 複合標籤裡都分別有一個列表,用於定義生怪磚將可能生成的一個實體的資訊。 無(處於根標籤)  Entity Weight
 Entity 生怪磚將要生成的一個實體的標籤,和 SpawnData格式相同。預設為{Entity:{id:"minecraft:pig"}}  SpawnPotentials(的一項)  id和該實體id所擁有的所有標籤
 Weight 該實體被選為下一個將要被生成的實體的機率的權重。預設為1

注意:Weight對機率的算法是,該實體被選中的機率=該實體的 Weight值/所有 Weight值之和。
警告:如果填入小於1的值,會導致遊戲崩潰。

 SpawnPotentials(的一項) 正整數
 id 生怪磚下一次將要生成的實體的id。預設為"minecraft:pig"  SpawnData Entity 實體的命名空間ID

以下是一些示例:

自訂實體[]

比如帶有鑽石劍鎖鏈頭盔殭屍

/setblock ~ ~1 ~ spawner{SpawnData:{entity:{id:"zombie",HandItems:[{id:"diamond_sword",Count:1},{}],ArmorItems:[{},{},{},{id:"minecraft:chain_helmet",Count:1}]}}}

如你所見,自訂實體NBT需要被置於SpawnData下的entity複合標籤。

生怪磚生成參數[]

你可以把豬、牛或雞的生怪磚放置於村莊的屠夫家的後院,以便創造永恆的肉類來源,例如:/setblock ~1 ~-1 ~0 spawner{MaxNearbyEntities:10,RequiredPlayerRange:16,SpawnCount:6,SpawnRange:2,MinSpawnDelay:50,MaxSpawnDelay:200,SpawnData:{entity:{id:"minecraft:pig",Passengers:[{id:"chicken"}]}}}

此指令會放置生成「騎豬雞」生怪磚,不過這不重要。注意前面的SNBT:MaxNearbyEntities:10,RequiredPlayerRange:16,SpawnCount:6,SpawnRange:2,MinSpawnDelay:50,MaxSpawnDelay:200

這個SNBT描述的前2個NBT鍵值對MaxNearbyEntities:10RequiredPlayerRange:16必須成對使用。本例中的參數需要16格範圍內存在玩家,附近相同實體數少於10時才會生成實體。下一個是SpawnCount:6,顧名思義,其代表單次生成的數量,此處為6個。SpawnRange:2指定了生成的範圍,是一個長方體區域,詳見上。MinSpawnDelay:50MaxSpawnDelay:200也是成對使用的,此處的參數會使每次生成間隔50~200遊戲刻

SpawnPotentials標籤[]

我們可以在生怪磚中使用SpawnPotentials標籤來生成多種實體。當計時器重設時(生成前一個生物的後一秒鐘),它會隨機選擇一個標籤進行生成。由於這些NBT包含多個生物,所以描述它們的SNBT往往是相當長的。以下是一個示例指令,看起來十分「賞心悅目」:

這個指令的NBT部分特別長,因為它實際上是6個獨立的生物。其中有:

  • SpawnPotentials標籤前:最前面的部分,出現一次之後就不會再出現了。如果希望它再次出現,你需要將之再次包含在SpawnPotentials的部分中。這一生物是一個穿著藍色染色皮革褲子、綠色染色皮革上衣,拿著一把滿耐久木劍的殭屍。
  • 一隻與上述內容幾乎相同的殭屍,唯一的不同是這隻殭屍的木劍耐久度只有3。
  • 接下來一隻看起來像個忍者。它是一隻骷髏,但拿著一把鐵劍。它所有的盔甲都染上了忍者般的黑色。帶劍的骷髏能比殭屍更快地縮短與你的距離,所以要小心。
  • 一隻有石劍和鎖鏈盔甲的殭屍。其盔甲上附有保護II。
  • 接下來是有一把金劍,一身金盔甲,頭上套著一個南瓜,並且著了火的殭屍。南瓜上附有保護II和火焰保護X,不顧一切地試著站起來並威脅玩家超過5秒。雖然這是有效的,不過如果玩家選擇遠離,南瓜頭先生就會被燒死。
  • 有鐵劍和鐵盔甲的殭屍。劍上附有鋒利II,盔甲上附有保護II。
  • 最後一隻生物,一隻假Herobrine,擁有附魔等級很高的鑽石盔甲(附有火焰保護IV和掉落保護IV的鑽石靴子,穿著附有爆炸保護IV的鑽石褲子,附有保護IV的鑽石胸甲,以及保護IV、火焰保護IV,爆炸保護IV和水下呼吸III的盔甲)以及一把附有鋒利IV,擊退IV,節肢剋星IV,掠奪III和耐久III的鑽石鎬。除此之外,它還獲得了CustomNameVisible(設定為1表示true),CustomName,以及PersistenceRequired(設定為1表示yes)。最後一個屬性將阻止它消失,雖然它可以被正常手段所殺死(如果你能擊敗這一身鑽石套和IV級附魔的話)。幸運的是,它比較少見(見下文)。

除了那個忍者,這裡一共有5種不同的劍和盔甲。注意weight標籤,其需要在每個SpawnPotentials中的entityNBT後使用。這決定了該生物被選中並生成的機率。具體的數字沒有什麼意義,有意義的只是數字之間的比例。例如,如果你想讓所有預置生物等機率生成,則可以將每個weight都設定為1,將它們全部改成8也沒有什麼不同(它們之間的比例仍然是相同的),但是將除了某一個之外的所有其他weight變更為8則會使其中1/8的可能性與其餘的1/8相同。在這個NBT中,預設值是4,而忍者只有2(使它被選中的可能性減半),而那隻假Herobrine只有1。

注釋[]

  1. 在最初Notch介紹NBT格式時,是可以含有帶空格的標籤名稱的,甚至在Notch提供的例子中也出現了帶有空格的標籤名稱。儘管如此,現如今Minecraft並不會解析帶有空格的標籤名稱。
  2. 雙引號與單引號的用途: 與大多代碼語言相同,如果必要情況下,字串內包含(能傳遞有效資訊的,比如"It's nice.")單引號,則為了避免出現引號將字串劃分開的情況,採用雙引號囊括。相反,如果字串內出現雙引號,則採用單引號囊括。
  3. 雖然被稱為「速度」,但是有的時候它的值和實際速度並不一致,這一點頻繁出現在玩家身上。
  4. 在最初烽火台加入這兩個標籤時,它其實支持所有允許的狀態效果id。然而,這一特性在1.9被悄悄去掉了。這意味著如果遊戲版本在1.8,是真的能得到一座持續對周圍所有玩家提供 立即傷害II 的烽火台塔的。

語言

Advertisement