本站文本內容除另有聲明外,轉載時均必須註明出處。(詳情…本站文本內容除另有聲明外,轉載時均必須註明出處。(詳情…中文Minecraft Wiki是完全公開的。請勇於擴充與修正內容!中文Minecraft Wiki是完全公開的。請勇於擴充與修正內容!Minecraft中文Wiki微博正在更新!或許有興趣去看看Minecraft中文Wiki微博正在更新!或許有興趣去看看想與其他用戶進行編輯上的溝通?社區專頁正是為此創建的。想與其他用戶進行編輯上的溝通?社區專頁正是為此創建的。翻譯或創建頁面之前,不妨看看譯名標準化Wiki條例頁面。翻譯或創建頁面之前,不妨看看譯名標準化Wiki條例頁面。需要管理員的協助?在管理員告示板留言也許可以幫到您。需要管理員的協助?在管理員告示板留言也許可以幫到您。
各位用戶:為了讓我們能更好了解您的需求,提供更優良的服務,請幫助我們填寫一份問卷。編者問卷讀者問卷(需要花費7分鐘左右)

Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

Player.dat格式

從 Minecraft Wiki
跳到: 導覽搜尋

<player>.dat文件被用於伺服器以保存玩家信息。這種格式也在level.dat文件中使用以儲存單人模式的狀態,它的優先級高於<player>.dat文件。這些文件都採用了NBT格式

NBT結構[編輯 | 編輯原始碼]


  • 根標籤。在level.dat文件里,它叫作「Player」。
    • 實體裏面除了「id」、「CustomName」和「CustomNameVisible」以外的所有標籤。
    • 生物裏面除了「HandItems」、「ArmorItems」、「DropChances」、「CanPickUpLoot」、「PersistenceRequired」、「Leashed」和「Leash」以外的所有標籤。

    •  DataVersion: NBT結構的版本。每個新快照和正式版都會增加數值。

    •  Dimension: 這個數據寫明了玩家現在在哪個世界。-1表示地獄,0表示主世界,1表示終末之界。其他數值被解釋為0。

    •  playerGameType: 這個數據指明了玩家的遊戲模式。0表示生存模式,1指創造模式,2指冒險模式,3指旁觀者模式

    •  Score: 在死亡畫面中顯示的分數。

    •  SelectedItemSlot: 玩家正在選擇的快捷欄。

    •  SelectedItem: 玩家正在選擇的快捷欄物品,不包含Slot標籤。

    •  SpawnX: 見下文。

    •  SpawnY: 可能不存在。玩家的床的坐標。如果玩家重生在一個無效的床時此標籤將被移除。床被破壞不影響這些坐標,玩家死亡也不影響。

    •  SpawnZ: 見上文。

    •  SpawnForced: 1或0 (true/false) - 可能不存在。若沒有床且此處為1,則玩家將被強制復活在上面的坐標。

    •  Sleeping: 1或0(true/false) - 若玩家正在睡覺則為真(1),不會影響到玩家是否在床上登錄。

    •  SleepTimer: 自玩家開始睡覺之後經過的刻。無效果。

    •  foodLevel: 這個數據指明了飢餓值,最大為20。詳見飢餓條目。

    •  foodExhaustionLevel: 詳見飢餓條目。

    •  foodSaturationLevel: 詳見飢餓條目。

    •  foodTickTimer: 詳見飢餓條目。

    •  XpLevel: 顯示玩家的經驗值

    •  XpP: 需增長多少經驗(百分數)才可升到下一級。

    •  XpTotal: 玩家所獲得的經驗總數,用於計算積分。

    •  XpSeed: 這個種子用於附魔台下次附魔。

    •  Inventory: 每個複合標籤都是玩家物品欄里的一個物品。(提示:當為空時,列表類型可能會出現意外值。)

    •  EnderItems: 每個複合標籤都是玩家的終界箱里的一個物品。(提示:當為空時,列表類型可能會出現意外值。)

      • 儲物箱里的物品。包含Slot標籤 - Slot標籤的編號在0至26之間。

    •  abilities: 玩家擁有的能力。

      •  walkSpeed: 步行速度,永遠是0.1。

      •  flySpeed: 飛行速度,永遠是0.05。

      •  mayfly: 1或0(true/false) - 玩家能飛行時為真。

      •  flying: 1或0(true/false) - 當玩家正在飛行時為真。

      •  invulnerable: 1或0(true/false) - 如果玩家能抵消所有傷害和有害的效果時為真,除了虛空傷害。(由/kill指令造成的傷害視為虛空傷害)

      •  mayBuild: 1或0(true/false) - 當玩家可以摧毀及放置方塊時為真。

      •  instabuild: 1或0(true/false) - 當玩家可以瞬間摧毀方塊時為真。

    •  enteredNetherPosition: 可能不存在。在玩家進入地獄時其在主世界的位置,用於進度觸發器minecraft:nether_travel中。在玩家每次從主世界通過地獄傳送門進入地獄時都會設定該標籤,通過傳送門返回主世界時不會移除或更新標籤。不使用傳送門進入地獄不會更新標籤。如果傳送門在終界,使用其進入地獄將移除標籤。

      •  x: X坐標。

      •  y: Y坐標。

      •  z: Z坐標。

    •  RootVehicle: 玩家騎着的根實體。

      •  AttachMost: 玩家騎着的實體的UUID高位。

      •  AttachLeast: 玩家騎着的實體的UUID低位。

      •  Entity: 玩家騎着的實體的NBT數據。

    •  ShoulderEntityLeft: 玩家左肩上的實體。永遠顯示為一隻鸚鵡。

    •  ShoulderEntityRight: 玩家右肩上的實體。永遠顯示為一隻鸚鵡。

    •  seenCredits: 1 or 0 (true/false) - 如果玩家正通過返回傳送門前往主世界則為true。

    •  recipeBook: 包含一個JSON對象,說明了玩家已解鎖的配方。

物品結構[編輯 | 編輯原始碼]

物品結構可以用於玩家的物品欄和終界箱物品欄、儲物箱中的實體附加值、掉落物品實體、熔爐方塊實體、釀造台方塊實體和村民交易內容中。有時Slot標籤會被用來指定物品所在的槽位,例如在儲物箱中;在其他時候也可能會沒有Slot標籤,例如掉落的物品。


    •  Count:堆疊在當前物品欄中的物品數量。任何物品都能被堆疊,包括工具、盔甲、運輸工具。範圍從-128到127。數值為1時不被遊戲顯示。小於1的數值顯示為紅色。

    •  Slot:當前物品所在的物品欄位。

    •  id物品/方塊ID。若未指定,遊戲會在加載區塊或者生成物品時將其變更為石頭

    •  tag:關於當前物品的額外信息,詳細內容請見物品結構章節。此標籤對於多數物品來說都是非必須項。

通用標籤[編輯 | 編輯原始碼]

一個帶有耐久度的物體可以設定為無法破壞並永遠不損失任何耐久。同樣,通過指令修改的物品可以讓冒險模式的玩家放置或破壞指定的方塊。


  •  tag: 父標籤。

    •  Damage: 物品的損害值。預設為0。

    •  Unbreakable: 1 或 0 (true/false) - 如果是true,物品無論使用多少次都不會損失耐久。

    •  CanDestroy: 冒險模式的玩家可以使用這個工具破壞的方塊。

    •  CustomModelData: 用於物品模型的 overrides 屬性中的物品標籤 「custom_model_data」。

方塊標籤[編輯 | 編輯原始碼]

方塊可以被賦予標籤指定冒險模式的玩家可以放在哪些方塊上面,並且可以指定放置時附加上哪些方塊實體標籤。


  •  tag: 父標籤。

    •  CanPlaceOn: 冒險模式的玩家可以將方塊放置在其表面的方塊。

      • : 方塊ID。

    •  BlockEntityTag: 方塊放置後應用的方塊實體NBT標籤。[1]用於儲存旗幟盾牌的數據,並且可以通過在創造模式下按住ctrl(mac上為⌘ Cmd)並按下選取方塊鍵來獲取擁有方塊實體標籤的方塊。

    •  BlockStateTag: 一個複合標籤。其中每個關鍵字都是方塊狀態名稱,每個值都是對應方塊狀態的值。放置時會強制附加方塊標籤。

      •  方塊狀態關鍵字: 要編輯的方塊狀態。例如:facing: "east"

附魔[編輯 | 編輯原始碼]

附魔和物品可以有兩種關係——第一種,物品被「真附魔」,即物品擁有了附魔提供的屬性;第二種,物品的附魔被標註為附魔書類型,這種附魔僅僅能達到存儲附魔的效果,物品的屬性並不會因為這種附魔而改變。RepairCost標籤則會記錄該物品的鐵砧使用次數,以實現附魔所需經驗等級隨使用次數增加而增加的特徵。


  •  tag: 父標籤。

    •  Enchantments:包含影響物品特徵的附魔信息。

      • :一條附魔。

        •  id:附魔的名稱。

        •  lvl:附魔的等級,1表示等級1。

    •  StoredEnchantments:包含附魔書的附魔。

      • :一條存儲着的附魔,結構與Enchantments中的各條附魔相同。

    •  RepairCost:當在鐵砧上修理、合併或重命名當前物品時,表示在基礎等級消耗之上額外增加的附魔等級。

StoredEnchantments如果附加到附魔書以外的物品上,則不會顯示其中的附魔。但是,存儲在Enchantments中的附魔將始終顯示其擁有的附魔並且會使物品發光,即使它們無法產生任何實際效果。

屬性修飾符[編輯 | 編輯原始碼]

所有的物品都可以被賦予修飾符,令玩家/實體當穿着或者手持物品時賦予其屬性。請注意,如果一個物品在原版就擁有AttributeModifiers標籤,那麼物品屬性將會被新增的標籤覆蓋(比如說如果給一把鑽石劍附加了一個空的AttributeModifiers列表,它將無法增加攻擊傷害)。另請注意,預設的AttributeModifiers並沒有實際使用這個標籤,因此它不會出現在自然物品上。


  •  tag: 父標籤。

    •  AttributeModifiers: 包含了物品的修飾屬性。它將修改佩戴者或持有者的屬性(如果物品沒有手持或裝備,它將不會產生效果)。

      • : 單個屬性修飾符。

        •  AttributeName: 此修飾符的屬性名稱。

        •  Name: 修飾符的名稱。

        •  Slot: 指定修飾符產生效果的槽位。值只能為"mainhand"、"offhand"、"feet"、"legs"、"chest"或"head"。

        •  Operation: Modifier Operation.詳見屬性修飾符

        •  Amount: 這個修飾符的數額。

        •  UUIDMost: 屬性的UUID高位。

        •  UUIDLeast: 屬性的UUID低位。

藥水效果[編輯 | 編輯原始碼]

藥水飛濺藥水滯留藥水藥水箭可以通過CustmPotionEffects標籤擁有多個自定義效果。如果存在,這些效果將添加到Potion標籤內的預設效果中。此外,可以使用CustomPotionColor標記設定藥水顏色。


  •  tag: 父標籤。

    •  CustomPotionEffects:當前藥水或藥水箭所含有的自定義狀態效果。從此標籤獲得效果的藥水或藥水箭會分別被命名為「水瓶」或「飛濺之箭」。

      • :一項效果

        •  Id效果的數字ID.

        •  Amplifier:效果的倍率,等級1的值為0。負值的效果見這裏。非必須項,預設為等級1。

        •  Duration:效果的持續時長數。值小於等於0時被作為1處理。非必須項,預設為1刻。

        •  Ambient:1或0(true/false),如果效果由烽火台施加,那麼為true,使效果在螢幕上不會那麼顯眼。非必須項,預設為false。有項錯誤使其對飛濺藥水無效。

        •  ShowParticles:1或0(true/false),如果顯示粒子密度,那麼為true。非必須項,預設為true。有項錯誤使其對飛濺藥水無效。

        •  ShowIcon:1或0(true/false),如果效果圖標顯示,那麼為true。不顯示效果圖標則為false。

    •  Potion預設藥水效果的名稱。此項與狀態效果的名稱不同,例如「立即治療II」藥水的值為「minecraft:strong_healing」。從此標籤獲得效果的藥水或藥水箭會根據合適效果獲得名稱。

    •  CustomPotionColor:當前物品使用這項自定義顏色,範圍效果雲、箭、飛濺與滯留藥水會使用該值作為其粒子密度顏色。但是,此顏色不會延伸到最終受到該效果作用的實體放出的粒子顏色。數字顏色代碼由紅綠藍組分通過下列算式計算:<<16 + <<8 + 。對於大於0x00FFFFFF的正值,最高字節會被略去。所有的負值都表示白色。

[編輯 | 編輯原始碼]

使用NBT標籤保存弩中裝載的物品。


  •  tag: 父標籤。

    •  ChargedProjectiles: 弩裝填的物品。一般只有一個(如果附魔了分裂箭矢則為三個)。

    •  Charged: 弩是否已裝填。

顯示屬性[編輯 | 編輯原始碼]

皮革盔甲可以被染色,並且所有物品都可以擁有自定義名稱和說明。工具提示也可以被隱藏。


  •  tag: 父標籤。

    •  display: 顯示屬性。

      •  color: 皮革盔甲的顏色。如果禁用高級工具提示,則工具提示將顯示「已染色」,否則將顯示十六進制顏色值。顏色值可以用以下公式計算:
        紅色值×65536 + 綠色值×256 + 藍色值×1
        (由於Java語言的特殊規定,Java里顏色值的計算公式與多數其他語言的公式「R+256×G+65536×B」相反。)[2]

      •  Name: 物品顯示的名稱,要求使用JSON文本

      •  Lore: 物品顯示的信息。

        • 單行物品信息。

    •  HideFlags: 決定隱藏顯示物品的哪些信息。1對應"Enchantments"、2對應"AttributeModifiers"、4對應"Unbreakable"、8對應 "CanDestroy"、16對應 "CanPlaceOn"、32對應其他信息(包括藥水效果、"StoredEnchantments"、完成的書的 "generation" 和 "author"、煙火的"Explosion"和"Fireworks",以及地圖提示)。例如,設定為3時,"Enchantments"和"AttributeModifiers"標籤不會顯示,設定為63時所有信息都不顯示。

完成的書[編輯 | 編輯原始碼]

書和羽毛筆完成的書的內容信息都儲存在tag標籤里。只有完成的書擁有title標籤、author標籤和generation標籤;pages標籤兩者都有。


  •  tag: 父標籤。

    •  resolved:可選的。當書在簽名後第一次打開為1。用於決定是否解析JSON目標選擇器(包括通過記分板選擇玩家),因為他們的選擇可以被修復

    •  generation:書的副本級別。0表示原作,1表示原作的副本,2表示複本的複本,3表示破舊的。如果值大於1,書就不可以被複製。原始的書不存在該標籤。如果該標籤不存在,書將視為原作。「破舊的」在正常遊戲中不被使用,且與「複本的複本」一樣不可複製。

    •  author:完成的書的作者。

    •  title:完成的書的標題。

    •  pages:完成的書的各個頁面。

      • 完成的書的一個單頁。如果是通過書和羽毛筆完成的完成的書,每一頁都會是用雙引號括起來的文字,文字內的雙引號轉義為\",換行用\n轉義,反斜槓用\\轉義。如果是通過指令或第三方工具創建的,那麼可以是一個JSON文本組合,或者是沒有轉義的字符串。

玩家的頭顱[編輯 | 編輯原始碼]

玩家的頭顱可以被一名指定用戶名的玩家的外觀頭顱取代。僅在手持該物品時會隨着這名玩家的外觀改變而改變。在此部分中,一個頭顱的「所有者」表示被獲取其頭顱的玩家,「持有者」表示在物品欄內擁有頭顱的玩家。


  •  tag: 父標籤。

    •  SkullOwner: 頭顱對應的玩家的用戶名。其將會轉換為複合標籤的版本。

    •  SkullOwner: 對頭顱所有者不同的定義。注意Owner被用於放置在地上的頭顱。

      •  Id: 所有者的UUID,可選。用於在區塊加載時或持有者登錄時更新其他標籤,防止所有者的名稱被更改。

      •  Name: 所有者的用戶名。頭顱對應的玩家名。如果留空,則預設為Steve的頭顱。否則嘗試加載對應的玩家的頭顱。並不要求一定是合法的用戶名,但是不能全是空格。

      •  Properties

        •  textures

          • : 個人材質。

            •  Signature: 可選。

            •  Value: 1個Base64編碼的JSON對象。[3]

              •  timestamp: 可選:毫秒內的Unix時間

              •  profileId: 可選:無連字符的玩家UUID。

              •  profileName: 可選:玩家名稱。

              •  isPublic: 可選。

              •  textures

                •  SKIN

                  •  url: textures.minecraft.net里玩家外觀的URL。

                •  CAPE: 可選。

                  •  url: 玩家披風的URL(64x32的PNG格式)。

煙火[編輯 | 編輯原始碼]

煙火使用tag標籤存儲有關其效果的信息。


  •  tag: 父標籤。

    •  Explosion: 其中的一個將會出現在火藥球

      •  Flicker: 1或0 (true/false) - 若為真則會出現閃爍效果(螢石粉),可能缺失。

      •  Trail: 1或0 (true/false) - 若為真則有拖曳痕跡(鑽石),可能缺失。

      •  Type: 爆炸時的形態. 0 = 小球, 1 = 大球 ,2 = 星星,3 = 苦力怕頭顱,4 = 爆裂。其他值將會被認定為未知,均為小型球狀。

      •  Colors: 一個整數數組以表達爆炸時的顏色。如果自定義顏色代碼被使用,遊戲將在工具提示中顯示為「自定義」,不過爆炸時會產生正確的顏色。自定義顏色的整數格式與顯示設定中的color標籤相同。

      •  FadeColors: 數組表示爆炸後的淡化顏色。處理自定義顏色的方式和Colors相同。可能缺失。

    •  Fireworks: 其中的一個會出現在煙火

      •  Flight: 煙火飛行的持續時間(與製作時使用的火藥量相同)。可以為-128至127的任意值。

      •  Explosions: 包含煙火包含的每個爆炸的複合標籤列表。

        • 與「Explosion」的格式相同,上面已經介紹過了。

盔甲座和生怪蛋[編輯 | 編輯原始碼]

盔甲座生怪蛋可能包含內部實體的數據。


  •  tag: 父標籤。

    •  EntityTag: 存儲了創建實體時應用於實體上的實體數據。

魚桶[編輯 | 編輯原始碼]

魚桶可能包含內部實體的數據。


  •  tag: 父標籤。

    •  BucketVariantTag: 桶中熱帶魚的種類數據。僅用於熱帶魚桶。

    •  EntityTag: 存儲了傾倒時應用於魚的實體數據。如果這個資料包含了熱帶魚的種類,它將覆蓋BucketVariantTag

地圖[編輯 | 編輯原始碼]

地圖可能會被縮放。


  •  tag: 父標籤。

    •  map: 地圖編號。

    •  map_scale_direction: 僅在縮放地圖時由內部使用,之後直接刪除:在合成時增加當前地圖比例的量。總是為1。

    •  Decorations: 地圖上顯示的圖標。在重新加載世界之前,刪除或修改的圖標不會被更新。

      • 一個符號。

        •  id: 識別符號的隨機唯一字符串。

        •  type: 要顯示的地圖圖標的ID。

        •  x: 符號在世界上所在的X坐標。

        •  z: 符號在世界上所在的Z坐標。

        •  rot: 符號的旋轉角度,範圍從0.0到360.0,方向為順時針。與圖標材質中的外觀相比,旋轉角度為0.0所顯示的圖標上下顛倒。

    •  display: display標籤。

      •  MapColor: 物品材質里標記的顏色。

可疑的燉湯[編輯 | 編輯原始碼]

可疑的燉湯儲存了它們的狀態效果


  •  tag: 父標籤。

    •  Effects: 這個可疑的燉湯擁有的狀態效果

      • 其中一種效果。

        •  EffectId: 這個狀態效果的數字ID。

        •  EffectDuration: 以為單位的持續時間。數值低於0則設為1。一般情況下數值預設為160刻(8秒)。

除錯棒[編輯 | 編輯原始碼]

除錯棒使用NBT格式儲存對每個方塊編輯的方塊狀態。


  •  tag: 父標籤。

    •  DebugProperty: 除錯棒編輯的方塊和其狀態的列表。

      •  方塊ID: 要編輯的方塊狀態名。例如:"minecraft:oak_fence": "east"

物品欄槽位號碼[編輯 | 編輯原始碼]

這展示了使用NBT編輯器編輯時用於指定物品欄中槽位的編號。

歷史[編輯 | 編輯原始碼]

Java版
1.7.2 ?對工具加入了Unbreakable
1.8 14w06a 對工具加入了CanDestroy
對物品加入了HideFlags
14w07a 對所有方塊加入了BlockEntityTag.
14w10a 加入了一個隱藏藥水效果的第5位(值為32)的HideFlags
14w33a 對所有物品加入了SelectedItem
1.12 pre1 對玩家加入了enteredNetherPosition,用於進度觸發器minecraft:nether_travel
1.13 18w01a Name標籤現在是JSON文本。
移除LocName標籤。使用Name:"{\"translate\":\"gui.toTitle\"}"代替LocName:"gui.toTitle"
18w21a ench標籤重命名為Enchantments
1.14 18w43a Lore標籤現在是JSON文本。
19w06a 對方塊的物品形式加入了BlockStateTag

參考[編輯 | 編輯原始碼]

  1. 假設這個方塊物品和創建的方塊實體都是同一種類型。如果不是,BlockEntityTag將不會生效。
  2. 對於大於0x00FFFFFF的正值,將忽略其頂部字節。所有負值都會產生白色。
  3. FVbico和Steven W.d.V.在MC-51003上的評論。