ウィキのスタイルガイドが改定されました。スタイルガイドでは、ウィキに記事を書く際のスタイルについて解説しています。(9月19日更新)

player.datフォーマット

提供: Minecraft Wiki
Player.dat formatから転送)
移動先: 案内検索

<player>.datは、個々のプレイヤーの状態を保存するためにサーバーによって使用されるファイルである。このフォーマットは、シングルプレイのプレイヤーの状態を保存するlevel.datファイルでも使用される。これは、シングルプレイのプレイヤーと同じ名前の<player>.datファイルをオーバーライドする。これらのファイルはNBTフォーマットで記述される。

NBT の構造[編集 | ソースを編集]

  • ルートタグ。level.datファイルでは、このタグは "Player"と呼ばれる。
    • idCustomName、および CustomNameVisible のタグを除くエンティティのすべてのタグ。
    • HandItemsArmorItemsDropChancesCanPickUpLootPersistenceRequiredLeashed、および Leash のタグを除く Mob のすべてのタグ。
    •  DataVersion: プレイヤーのNBTの構造のバージョン。正式版やスナップショットのリリースごとにバージョンが上がる。
    •  Dimension: プレイヤーが存在するディメンション。-1はネザー、0はオーバーワールド、1はエンドである。 他の値は0と解釈される。
    •  playerGameType: プレイヤーのゲームモード。0はサバイバル、1はクリエイティブ、2はアドベンチャー、そして3はスペクテイターである。
    •  Score: 死亡時に表示されるスコア。
    •  SelectedItemSlot: プレイヤーの選択したホットバーのスロット。
    •  SelectedItem: Slot タグを除き、プレイヤーが現在所持しているアイテムのデータ。
    •  SpawnX: 下記参照
    •  SpawnY: 存在しない可能性がある。このタグはプレイヤーのベッドの座標であり、プレイヤーがこれらの座標でスポーンするための有効なベッドがない状態でリスポーンを試みた場合にのみ削除される。これらのタグは、これらの座標でベッドを壊すことや、プレイヤーの死によっての影響は受けない。
    •  SpawnZ: 上記参照
    •  SpawnForced: 1または0 (true/false) - 存在しない可能性がある。trueであれば、ベッドが見つからなくても上記の座標でスポーンする。
    •  SleepTimer: プレイヤーがベッドにいたティック数。 効果はない。
    •  foodLevel: 満腹度ゲージの値、20が最大。満腹度を参照。
    •  foodExhaustionLevel: 満腹度を参照
    •  foodSaturationLevel: 満腹度を参照
    •  foodTickTimer: 満腹度を参照
    •  XpLevel: 経験値ゲージに表示されるレベル。
    •  XpP: 経験値ゲージの次のレベルまでの進捗率/パーセント。
    •  XpTotal: プレイヤーが収集した経験値の総量。 死亡時のスコアに使用される。
    •  XpSeed: エンチャントテーブルで次のエンチャントを決定するために使われる乱数種。
    •  Inventory: このリストの各compoundタグは、プレイヤーのインベントリのアイテムである(注:インベントリ内が空の場合、リストタイプが予期せぬ値になる可能性がある)。
      • インベントリ内のアイテムには、Slot タグが含まれる。スロットには0〜26の番号が付けられている。
    •  EnderItems: このリストの各compoundタグは、プレイヤーのエンダーチェストのインベントリ内のアイテム27スロット分である(注:チェスト内が空の場合、リストタイプが予期せぬ値になる可能性がある)。
      • インベントリ内のアイテムには、Slot タグが含まれる。スロットには0〜26の番号が付けられている。
    •  abilities: プレイヤーの能力。
      •  walkSpeed: 歩行速度、常に0.1。
      •  flySpeed: 飛行速度、常に0.05。
      •  mayfly: 1または0 (true/false) - true はプレイヤーが飛べる場合を指す。
      •  flying: 1または0 (true/false) - true はプレイヤーが飛んでいる場合を指す。
      •  invulnerable: 1または0 (true/false) - true はプレイヤーが、奈落のダメージを除く全てのダメージの影響を受けない場合(/kill コマンドによるダメージは奈落ダメージと同じ扱い)を指す。
      •  mayBuild: 1または0 (true/false) - true はプレイヤーがブロックを設置、破壊できる場合を指す。
      •  instabuild: 1または0 (true/false) - true はプレイヤーがすぐにブロックを破壊することができる場合を指す。
    •  enteredNetherPosition: 省略可能。プレイヤーがネザーに入ったオーバーワールドの座標で、進捗minecraft:nether_travelのトリガーとなる。このタグは、プレイヤーがオーバーワールドのネザーポータルからネザーに入るたびに設定される。ネザーのポータルからオーバーワールドに戻ってもこのタグが消されたり更新されることはない。ポータルを使わずにネザーに入ってもこのタグが更新されることはない。ジ・エンドにポータルを設置してネザーに入った場合に、このタグが除去される[注釈 1]
      •  x: X座標
      •  y: Y座標
      •  z: Z座標
    •  RootVehicle: プレイヤーが乗っているルートエンティティ。
      •  AttachLeast: プレイヤーが乗っているエンティティのUUIDの下位側。
      •  AttachMost: プレイヤーが乗っているエンティティのUUIDの上位側。
      •  Entity: ルートエンティティのNBTデータ。
    •  ShoulderEntityLeft: プレイヤーの左肩にいるエンティティ。 常にオウムのように表示される。
    •  ShoulderEntityRight: プレイヤーの右肩にいるエンティティ。 常にオウムのように表示される。
    •  seenCredits: 1または0 (true/false) - true はプレイヤーがエンドポータルを介してオーバーワールドに移動した場合を指す。
    •  recipeBook: プレイヤーがロックを解除したレシピを詳述するJSONオブジェクトが含まれている。

アイテムのフォーマット[編集 | ソースを編集]

アイテムのフォーマットは、プレイヤーのインベントリ、エンダーチェスト用のインベントリ、チェストのタイルエンティティ、ドロップアイテムのエンティティ、かまどのタイルエンティティ、醸造台のタイルエンティティ、村人の取引レシピ、といったものに使われる。チェストのように格納されるスロットを特定する必要のあるものではSlotタグが使われる。それ以外の、例えばドロップアイテムなどでは、Slotタグは存在しない。

    •  Count: アイテムのスタック数。これには道具、防具、トロッコも含まれる。値の範囲は -128 ~ 127 になっており、値が 1 の場合は表示されず、1 未満の値は赤色で表示される。
    •  Slot: アイテムのあるスロット番号。
    •  Damage: アイテムのデータ値。道具の場合は「ダメージ値」になる。その他のブロックなどでは、ブロック情報を決定する目的で使用される。デフォルト値は 0 である。
    •  id: アイテム/ブロックID。指定されていない場合、チャンクを読み込んだり、アイテムを召喚した際にに変えられる(ID は 1 で、データ値は 0 になるため)。
    •  tag: 任意で設定可能。詳しい情報はここを参照。

共通タグ[編集 | ソースを編集]

耐久度を持つアイテムは、耐久度が減らなくなる状態にできる。加えて、アドベンチャーモード用に、破壊できるブロックを限定することもできる。

  •  tag: 親タグ
    •  Damage: 減少した耐久度。デフォルトは0。
    •  Unbreakable: 1 or 0 (true/false) - trueであれば、そのアイテムは使っても耐久度が減らない。
    •  CanDestroy: アドベンチャーモードで破壊できるブロック

ブロックタグ[編集 | ソースを編集]

ブロックアイテムは、アドベンチャーモード用に、設置先のブロックを限定することができる。さらに、設置された時のタイルエンティティNBTタグを指定することもできる。

  •  tag: 親タグ
    •  CanPlaceOn: アドベンチャーモードでこのブロックを置けるブロックを指定する。
      • : ブロックID
    •  BlockEntityTag: ブロックが置かれた時に適用されるブロックエンティティのNBTタグ[1]のデータや、クリエイティブctrl(Macだと⌘ Cmd)を押しながらブロック選択した時のブロックエンティティのデータを格納するために使われる。
    •  BlockStateTag: 設置した時にブロックに適用されるブロック状態の値
      •  Block state key: ブロック状態の値。例:facing: "east"

エンチャント[編集 | ソースを編集]

アイテムがエンチャントを保持するには2つの形態がある。1つは、エンチャントされた道具などであり、この場合はエンチャントがアイテムの振る舞いに効力を及ぼす。もう1つは、エンチャントの本であり、こちらはアイテムの振る舞いに影響しない。この他に、金床の利用ごとに修繕コストを増やすためのRepairCostタグが存在する。

  •  tag: 親タグ
    •  Enchantments: アイテムに付与されたエンチャント。ここで設定したものはアイテムの振る舞いに影響する。
      • : 各々のエンチャント
        •  id: エンチャントの名前
        •  lvl: エンチャントのレベル。1はレベル1を表す。
    •  StoredEnchantments: エンチャントの本に格納されたエンチャント
      • : 格納されたエンチャント。Enchantmentsと同じ構造。
    •  RepairCost: 金床で修理/合成/名付けをする時に基礎レベル消費量に加算されるレベル

エンチャントの本以外にStoredEnchantmentsタグを付与しても、その内容はツールチップに表示されない。一方、Enchantmentsタグを付与した場合はその内容がツールチップに表示され、アイテムを光り輝やかせる(例えそのエンチャントが意味のないものだったとしても)。

属性修飾子[編集 | ソースを編集]

あらゆるアイテムに、装備したプレイヤー/モブの属性に影響する修飾子を設定できる。アイテムがバニラのデフォルトの属性修飾子を持つ場合、ここで設定したタグが優先されることに注意(例えば、空のAttributeModifiersを与えたダイヤの剣にはダメージを増加する効果が無くなる)。また、バニラのデフォルトの属性修飾子はこのタグを使わないので、自然に生成されたアイテムにはAttributeModifiersタグが存在しないことに注意。

  •  tag: 親タグ
    •  AttributeModifiers: 装着/保持したものの属性を変更する属性修飾子(装着/保持していない場合、効果を及ぼさない)
      • : 1つの属性修飾子
        •  AttributeName: この修飾子が効果を及ぼす属性の名前
        •  Name: 修飾子の名前
        •  Slot: この修飾子が効果を発揮する装備スロット。"mainhand"、"offhand"、"feet"、"legs"、"chest"、"head"のいずれか。
        •  Operation: 修飾子の演算。属性修飾子を参照。
        •  Amount: この修飾子の効果の強さ
        •  UUIDMost: 修飾子のUUIDの上位側
        •  UUIDLeast: 修飾子のUUIDの下位側

ポーションの効果[編集 | ソースを編集]

ポーションスプラッシュポーション残留ポーション効能付きの矢は、CustomPotionEffectsタグでステータス効果をカスタマイズできる。ステータス効果は複数付与できる。Potionタグがある場合、Potionタグで指定したポーションのデフォルトの効果に、CustomPotionEffectsタグのステータス効果が追加で与えられる。ポーションの色もCustomPotionColorタグで変更できる。

  •  tag: 親タグ
    •  CustomPotionEffects: このポーションまたは効能付きの矢が持つポーション効果。このタグで効果を得たポーションは「水入り瓶」、同じく効能付きの矢は「水の矢」という名前になる[2]
      • それぞれの効果
        •  Id: ステータス効果の数値ID
        •  Amplifier: ステータス効果のレベル。ただしレベル1の値が0となる。負のレベルを設定した場合についてはこちらを参照。省略可能であり、省略した場合レベル1となる。
        •  Duration: ティック単位でのステータス効果の持続時間。0以下は1として扱われる。省略可能であり、省略した場合1ティックとなる。
        •  Ambient: 1 or 0 (true/false) - ステータス効果をビーコンで与えられたものとして扱うかどうか。省略可能であり、デフォルトはfalseである。バグのため、スプラッシュポーションでは効果がない。
        •  ShowParticles: 1 or 0 (true/false) - ステータス効果がパーティクルを発生するかどうか。省略可能であり、デフォルトはtrueである。バグのため、スプラッシュポーションでは効果がない。
        •  ShowIcon: 1 or 0 (true/false) - trueならステータス効果のアイコンを表示する。falseなら表示しない。
    •  Potion: デフォルトのポーション効果の名前ステータス効果の名前とは異なる。例えば、"即時回復 II"のポーションに対するこのタグの値は"minecraft:strong_healing"である。ポーションないし効能付きの矢の名前はこのタグの内容に応じて付けられる。
    •  CustomPotionColor: アイテム自体と、エリアの効果雲、矢、スプラッシュポーションおよび残留ポーションのパーティクルに使われる色。ただし、効果を受けたエンティティが発するパーティクルの色には適用されない。カラーコードの数値は以下の式で計算できる:<<16 + <<8 + 。0x00FFFFFFを超える正の値については最上位バイトが無視され、負の値は白として扱われる。

クロスボウ[編集 | ソースを編集]

クロスボウは装填されたアイテムを記録するためにNBTデータを利用する。

  •  tag: 親タグ
    •  ChargedProjectiles: クロスボウに装填されたアイテム。通常は1エントリだが、拡散のエンチャントが付いている場合は3エントリになる。
    •  Charged: クロスボウが装填済みかどうか

表示用プロパティ[編集 | ソースを編集]

革の鎧の色や、全てのアイテムにおける表示名と説明文をカスタマイズできる。ツールチップで隠したい情報を設定することもできる。

  •  tag: 親タグ
    •  display: 表示用プロパティ
      •  color: 革の鎧の色。ツールチップには、拡張ツールチップ[3]がオフの場合「染色済み」が、そうでなければ16進数での色の値が表示される。カラーコードの数値は以下の式で計算できる:<<16 + <<8 + [4]
      •  Name: アイテム名の表示に使われるJSONテキストコンポーネント
      •  Lore: アイテムの説明文に使われる文字列のリスト
        • アイテムの説明文1行分
    •  HideFlags: ツールチップで表示させない部分を指定するビットフィールド。1はEnchantments、2はAttributeModifiers、4はUnbreakable、8はCanDestroy、16はCanPlaceOn、32は様々な他の情報(ポーション効果、StoredEnchantments、記入済みの本のgenerationauthorExplosionFireworks、地図のツールチップなど)である。例えば、3に設定するとEnchantmentsタグとAttributeModifiersタグが表示されなくなり、63に設定すると全ての情報が表示されなくなる。

記入済みの本[編集 | ソースを編集]

本と羽根ペンおよび記入済みの本は、本の内容を保持するためpagesタグを使用している。記入済みの本のみtitleauthorgenerationタグを持つ。

  •  tag: 親タグ
    •  resolved: 省略可能。本を最初に開き署名した後に作成され、1にセットされる。JSON内のターゲットセレクタをパースするかどうかを決定するために使われ({score:{name:"*", ...}}に該当するプレイヤーを選択するなど)、このときターゲットセレクタの内容が確定する。
    •  generation: 本の複写段階。0:オリジナル、1:オリジナルのコピー、2:コピーのコピー、3:ボロボロ。1より大きい値を持つ本はコピー不可である。このタグが存在しない場合、オリジナルとして扱われる。通常のゲームプレイで「ボロボロ」になることはないが、「ボロボロ」は「コピーのコピー」と同じ動作になる。
    •  author: 記入済みの本の著者
    •  title: 記入済みの本のタイトル
    •  pages: 本のページのリスト
      • 本の1ページ分の情報。ゲーム内では本と羽根ペンに書き込むことで生成される。各々のページはダブルクォートで囲まれた文字列である(ダブルクォート自体は\"、改行は\n、バックスラッシュ自体は\\で表される)。コマンドや外部ツールで作成された場合、JSONオブジェクトや、文字列ないしJSONオブジェクトの配列やエスケープされていない文字列も使用できる(コマンド#JSONテキストを参照)。

プレイヤーの頭[編集 | ソースを編集]

プレイヤーのはプレイヤー名でスキンと紐付けられている。手に持っている頭にもスキンの変更が適用される。この節では、"owner"はそれが誰の頭かを指し、"holder"はその頭を持っているプレイヤーを指す。

  •  tag: 親タグ
    •  SkullOwner: プレイヤーのユーザー名。Compound型SkullOwnerの値に変換される。
    •  SkullOwner: ownerの別の定義。地面に置かれた頭ではOwnerとなることに注意。
      •  Id: ownerのUUID。省略可能。ownerの名前が変わった時に、チャンクロードやholderのログインのタイミングで他のタグを更新するために使われる。
      •  Name: ownerのユーザー名。タグが存在しないか空の場合、Steveの頭として見えるようになる。空でない場合、スキンをキャッシュにダウンロードおよび格納するために使われる。正しいプレイヤー名である必要はないが、空白のみの値は受け付けられない。
      •  Properties
        •  textures
          • : 個々のテクスチャ
            •  Signature: 省略可能
            •  Value: Base64エンコードされたJSONオブジェクト[5]
              •  timestamp: ミリ秒単位のUNIX時間(省略可能)
              •  profileId: ハイフンを除いたプレイヤーのUUID(省略可能)
              •  profileName: プレイヤー名(省略可能)
              •  isPublic: 省略可能
              •  textures
                •  SKIN
                  •  url: textures.minecraft.net上のプレイヤーのスキンのURL
                •  CAPE: 省略可能
                  •  url: プレイヤーのマントのURL(サイズが64x32のPNGファイル)

花火[編集 | ソースを編集]

花火はその効果に関する情報を保持するためにタグを使用する。

  •  tag: 親タグ
    •  Explosion: 花火の星用のタグ
      •  Flicker: 1 or 0 (true/false) - trueであれば打ち上げた時に爆発後のパチパチという効果(グロウストーンダスト)が得られる。このタグは存在しない場合がある。
      •  Trail: 1 or 0 (true/false) - trueであれば打ち上げた時に爆発後の軌跡を描く効果(ダイヤモンド)が得られる。このタグは存在しない場合がある。
      •  Type: 花火の形。0:小玉、1:大玉、2:星状、3:クリーパー状、4:破裂。他の値は「不明な形状」と表示され[6]、小玉として描画される。
      •  Colors: 花火の爆発の最初の色に対応する整数値の配列。カスタムカラーコードを使った場合、ツールチップでは「カスタム」と表示されるが、打ち上げ時には正しい色で描画される。整数値のフォーマットは表示用プロパティcolorと同じである。
      •  FadeColors: 花火の爆発の褪色に対応する整数値の配列。Colorsと同じフォーマット。このタグは存在しない場合がある。
    •  Fireworks: ロケット花火用のタグ
      •  Flight: 飛翔時間(クラフト時に使った火薬の量)。-128から127の値をとる。
      •  Explosions: この花火によって発生する爆発を表すcompound型のリスト
        • 上で説明している、花火の星のExplosionと同じフォーマット

防具立てとスポーンエッグ[編集 | ソースを編集]

防具立てスポーンエッグは固有のエンティティ情報を持つ。

  •  tag: 親タグ

魚入りバケツ[編集 | ソースを編集]

魚入りバケツは固有のエンティティ情報を持つ。

  •  tag: 親タグ
    •  BucketVariantTag: バケツに入っている熱帯魚のデータ英語版)。熱帯魚のバケツにのみ適用される。
    •  EntityTag: バケツから出した魚に適用されるエンティティデータ。熱帯魚のデータを含む場合、BucketVariantTagのデータを上書きする。
      • 魚のエンティティフォーマットを参照。

地図[編集 | ソースを編集]

地図の拡大率などが格納される。

  •  tag: 親タグ
    •  map: 地図の番号
    •  map_scale_direction: 地図を拡大する時に内部的に使われ、その後除去される値。クラフト時に地図の拡大率を増加させる量で、常に1。
    •  Decorations: 地図に表示するアイコンのリスト。このタグはワールドがリロードされるまで削除/変更されることがない。
      • 各々のアイコン
        •  id: アイコンに付けられた任意の名前
        •  type: 表示するアイコンのID(英語版
        •  x: アイコンのX座標
        •  z: アイコンのZ座標
        •  rot: アイコンの回転角。0.0から360.0の値を取る。上下逆さまの角度0から始まる時計回り方向の角度。
    •  display
      •  MapColor: アイテムのテクスチャにおけるマーキングの色

怪しげなシチュー[編集 | ソースを編集]

怪しげなシチューポーション効果を格納する。

  •  tag: 親タグ
    •  Effects: 怪しげなシチューの持つステータス効果
      • : 各々のステータス効果を表すCompound型
        •  EffectId: ステータス効果の数値ID
        •  EffectDuration: ステータス効果の持続時間(ティック単位)。0以下は1として扱う。省略可能であり、デフォルト値は160ティック(8秒)。

デバッグ棒[編集 | ソースを編集]

デバッグ棒は各々のブロックを変更するためにブロック状態をNBTに格納する。

  •  tag: 親タグ
    •  DebugProperty: デバッグ棒が変更するブロックとその情報のリスト。
      •  Block ID: 変更する状態名。例:"minecraft:oak_fence": "east".

インベントリのスロット番号[編集 | ソースを編集]

NBTエディタで編集する時などに使用するインベントリのスロット番号

歴史[編集 | ソースを編集]

この節は内容の更新を必要とします。
概要: 過去の歴史についての記述が大きく不足しています。
Java Edition
1.7.2?ツールにUnbreakableタグが追加された。
1.814w06aツールにCanDestroyが追加された。
アイテムにHideFlagsが追加された。
14w07a全ブロックにBlockEntityTagが追加された。
14w10aHideFlagsに第5ビットが追加された。これはポーション効果を隠すものである。
14w33a全アイテムにSelectedItemが追加された。
1.12pre1プレイヤーにenteredNetherPositionが追加された。これはminecraft:nether_travelのトリガーとなるものである。
1.1318w01aNameタグがテキスト要素になった。
LocNameタグが削除された。LocName:"gui.toTitle"の代わりにName:"{\"translate\":\"gui.toTitle\"}"を使うようになった。
18w21aenchタグがEnchantmentsにリネームされた。
1.1418w43aLoreタグがテキスト要素になった。
19w06aアイテム状態のブロックにBlockStateTagが追加された。
1.16.220w27aAdded Flag 64 to HideFlags to hide "Dyed" on leather armor.[7]

脚注[編集 | ソースを編集]

  1. ブロックエンティティを作るブロックでなければ、このタグは何の効果もない。
  2. (訳者註)Java Edition 1.14.1で検証したところ、常に「水入り瓶」「水の矢」になるわけではなく、Potionに"minecraft:water"を設定した場合にのみ「水入り瓶」「水の矢」になる。名前はPotionに何を設定したかによって決まり、Potionを設定しなければ「クラフト不可能なポーション」「クラフト不可能な効能付きの矢」となる。
  3. (訳者註)F3+Hで表示できる「高度な情報」のこと。
  4. 0x00FFFFFFを超える正の値については最上位バイトが無視され、負の値は白として扱われる。
  5. FVbicoとSteven W.d.V.のコメントがMC-51003にある。
  6. (訳者註)1.12までの話。1.13以降は「小玉」と表示される。
  7. MC-49476

注釈[編集 | ソースを編集]

  1. エンドでネザーポータルを作成することはできないので、/setblockなどでポータルを設置した場合のことを言っている。ただし、Java Edition 1.13.2で試した限りでは、エンドのネザーポータルに入ったタイミングではなく、エンドポータルからエンドに入ったタイミングでこのタグが消える。