Minecraft Wiki
登録
Advertisement
Clock JE3
この記事は内容の更新を必要とします。 
この記事を更新して、最近のアップデートや新たな情報を反映してください。
詳細:1.18におけるフォーマットに関する記述が欠落しています。このページは作業中であり、1.18で更新があった項に関してはそれを特記しています。
エンティティのデータのフォーマットについては「エンティティフォーマット」をご覧ください。

Chunkは16×384×16の領域内の地形とエンティティを保存している。また、Chunkには事前に計算された落雷、Minecraftの動作用のハイトマップデータやその他のメタデータも保存されている。

NBTの構造[]

チャンクはr.x.z.mcaの形式のファイル名のAnvilファイルでタグとして保存されている。これらは下記の構造(1.18で更新)のNBTフォーマットの形式で保存されている。

  • ルートタグ。
    •  DataVersion: チャンクののNBT構造のバージョン。
    •  xPos: チャンクのX座標(regionに対する相対座標ではなく原点基準)。
    •  zPos: チャンクのZ座標(regionに対する相対座標ではなく原点基準)。
    •  yPos: チャンク内の最も低いY座標(例:1.18では-4)。
    •  Status: 当該チャンクにおけるワールド生成状態を定義する。emptystructure_startsstructure_referencesbiomesnoisesurfacecarversliquid_carversfeatureslightspawnheightmapsfullの値をいずれかをとる。fullを除いて、各生成状態は"Proto-Chunk"(生成完了前のチャンク)用に用いられている。
    •  LastUpdate: 最後に保存されたときのティック。
    •  sections:  TAG_Compoundのリストであり、各タグは一つのセクション(サブチャンクとも呼ばれる)である。ワールド内の各高度の全セクションは、空気で満たされた空のセクションも含めてこのリスト内に存在する。
      • 個々のセクション。
        •  Y: このセクションのY方向の位置。
        •  block_states: ブロック状態
          •  palette: 当該セクションに使用されているブロック状態の集合
            • ブロック
              •  Name: ブロックの名前空間ID
              •  Properties: ブロック状態のプロパティのリスト。NamePropertiesの名前になる。
                •  Name: ブロック状態の名前のその値。
          •  data: 64bitの整数で保存されているpaletteを指定する4096個の項目が並んだ索引。セクションが一種類のブロックのみで構成されている場合はこのフィールドは不要。
        •  biomes
          •  palette: 当該セクション内に使用されているバイオームの集合。
          •  data: 64bitの整数で保存されているpaletteを指定する4096個の項目が並んだ索引。セクションが一種類のバイオームのみで構成されている場合はこのフィールドは不要。
        •  BlockLight: 2048バイトで記録されている、各ブロックにおけるブロック明るさレベルの値。読み込み時に光度を再計算するよりも、これを読み込むことで動作を高速化している。各ブロックあたり4ビット。
        •  SkyLight: 2048バイトで記録されている、各ブロックにおける太陽光・月光の量。各ブロックあたり4ビット。
    •  block_entities: このリスト内の各TAG_Compoundはチャンク内のブロックエンティティを定義する(通常エンティティに関してはエンティティフォーマットを参照)。後述のブロックエンティティの書式も参照。このリストが空の場合はEndタグのリストになる。
    •  CarvingMasks: "Proto-Chunks"(生成完了前のチャンク)でのみ使用(1.18でのフォーマットでは未確認)。
      •  AIR: バイト配列で保存されている、特定の地点において洞窟が生成されているかどうかを示すビット列。
      •  LIQUID: バイト配列で保存されている、特定の地点において水中の洞窟が生成されているかどうかを示すビット列。
    •  Heightmaps: 各値につき9ビットに圧縮された、256個の値に対応するいくつかのハイトマップ(範囲は0~256)。9ビットの値は7個ずつに纏められ、37個の64bitの値の列で保存されている(9×7=63ビットで最後の1ビットは不使用)。1.16以前ではハイトマップは36個の64bitの値で保存されており、連続的な値として2304ビット(9×256)を使用している。9ビットの値は符号のない値であり、このため1.18に変換する場合は各値に64が加算される。
      •  MOTION_BLOCKING: 動いているか液体を含んでいるブロックを除いた、チャンク内の最も高いブロック。The highest block that blocks motion or contains a fluid.
      •  MOTION_BLOCKING_NO_LEAVES: minecraft:leavesタグに属する、または動いているか液体を含んでいるブロックを除いた、チャンク内の最も高いブロック。
      •  OCEAN_FLOOR: チャンク内の最も高い固体ブロック。
      •  OCEAN_FLOOR_WG: 液体も空気も含まない、チャンク内の最も高いブロック(生成未完了のチャンク用)。
      •  WORLD_SURFACE: 空気を除いた、チャンクの最も高いブロック。
      •  WORLD_SURFACE_WG: 空気を除いたチャンク内の最も高いブロック(生成未完了のチャンク用)
    •  Lights: チャンクの各セクションごとの光源の位置を32bitで保存してある16個のリストのリスト(生成未完了のチャンク用、1.18では未確認)。
    •  Entities: 生成未完了のチャンクで使用される、生成中のチャンク内のエンティティのリスト。1.17の時点では、このリストはチャンクの生成完了直後、エンティティのデータが別のregionファイルに移行された時点で消滅する(1.18では未確認)。移行後のエンティティのデータの詳細に関してはエンティティフォーマットを参照のこと。
      • : エンティティ。
    •  fluid_ticks: このリスト内の各TAG_Compoundは、更新待機中の"アクティブ"な液体である。下記のタイルティックフォーマットを参照。
    •  block_ticks: このリスト内の各TAG_Compoundは、更新待機中の"アクティブ"なブロックである。これらはレッドストーン機構や落下中のブロックなどの状態を保存するのに用いられる。
    •  InhabitedTime: プレイヤーがチャンク内にいた時間の累計ティック数。なおこの値はチャンク内にいるプレイヤーが多いほど速く増加することに注意されたい。この値は地域難易度(Mobが何らかの装備を持った状態でスポーンしたり、その装備にエンチャントが付与されていたり、アイテムを拾ったりする、あるいはクモがステータス効果を持っていたり、ゾンビが攻撃されたときに仲間をスポーンさせたりする確率に影響する)の決定に用いられる。InhabitedTimeの値が360万以上の場合は地域難易度は最大になり、逆に0以下では地域難易度は最小になる(負の値に設定された場合は0である時と同じ挙動を示すが、0を超えるまでの時間は地域難易度を最小に抑制しておくことができる)。詳しくは地域難易度を参照。
    •  PostProcessing: 24個(高度によるセクションの数)のTAG_Listsのリスト。チャンクを生成する際に更新が必要なブロックの位置を保存するのに使用され、TAG_shortで保存されている。対応座標の保存形式は「ToBeTicked format」を参照。このタグが使用される一般的なケースは、洞窟の源泉のような、源となるブロックが生成された後に液体が流れる場合である。
    •  structures: チャンク内の構造物のデータ。
      •  References: startsを含むチャンクの座標。
        •  Structure Name: この配列内の64bitの値はチャンクの座標(ブロック座標 ÷ 16)を示している。ここではX座標は低位の32bit(重要度低)に、Z座標は高位の32bit(重要度高)に保存されている。
      •  starts: 一般的タイプで保存されている、未生成の構造物、構造物の一部はすでに生成されている可能性がある。生成が完了した構造物は、その「id」を「INVALID」に設定し、その他のタグをすべて剥奪することで削除される。
        •  Structure Name: このディメンションに生成されうる構造物(例えばエンドシティはエンドのチャンクに)のみが保存されている。
          •  BB: 構造物全体(子構造物は残る)の範囲ボックス。6つの整数値(X、Y、Zの最小値、X、Y、Zの最大値の順)からなり、idがINVALIDの場合は存在しない。
          •  biome: この構造物が存在するバイオームのid。idがINVALIDの場合は存在しない。
          •  Children: この構造物を構成している各部分(子構造物)のうち未生成のものの一覧。idがINVALIDの場合は存在しない。
            • 子構造物のデータ(なお、特定の子構造にのみ存在するものに関しては基本的に括弧内にそのidを明記してある)。[情報提供依頼]
              •  BB: 子構造物の範囲ボックス(道にせり出している村の屋根は含まない)。6つの整数値(X、Y、Zの最小値、X、Y、Zの最大値の順)からなる。
              •  BiomeType: この海底遺跡が位置する海洋の気温。有効な値はWARMとCOLDのみ。
              •  C: (村の"ViSmH"で使用)小屋の屋根の種類。[要検証]
              •  CA: (村の"ViF"及び"ViDF")畑の作物の種類。[要検証]
                •  Name: ブロックの名前空間ID
                •  Properties: ブロック状態のプロパティのリスト。ブロック状態の名称となる[name]を伴う。
                  •  Name: ブロック状態の名称とその値。
              •  CB: (村の"ViF"及び"ViDF"で使用)畑の作物の種類。[要検証]
                •  Name: ブロックの名前空間ID
                •  Properties: ブロック状態のプロパティのリスト。ブロック状態の名称となる[name]を伴う。
                  •  Name: ブロック状態の名称とその値。
              •  CC: (村の"ViF"及び"ViDF"で使用)畑の作物の種類。[要検証]
                •  Name: ブロックの名前空間ID
                •  Properties: ブロック状態のプロパティのリスト。ブロック状態の名称となる[name]を伴う。
                  •  Name: ブロック状態の名称とその値。
              •  CD: (村の"ViF"及び"ViDF"で使用)畑の作物の種類。[要検証]
                •  Name: ブロックの名前空間ID
                •  Properties: ブロック状態のプロパティのリスト。ブロック状態の名称となる[name]を伴う。
                  •  Name: ブロック状態の名称とその値。
              •  Chest: (ネザー要塞の"NeSCLT"及び"NeSCRT"で使用)1(ture)か0(false)の値をとる。このネザー要塞の、チェストを有する設定の子構造において、実際に生成されたチェストを有しているかを示す。(要塞の"SHCC"で使用)このチェストが要塞の子構造に設置されているかを示す。(村の"ViS"で使用)鍛冶屋(1.13以前)のチェストが生成されたかを示す。
              •  D: (廃坑の"MSCrossing"で使用)坑道の伸びている元の方向を示す。
              •  Depth: (寺院・ウィッチの小屋で使用)構造物の深さ(X/Z)。
              •  Entrances: (廃坑の"MSRoom"で使用)部屋の出口のリスト。
                • : 出口の範囲ボックス。
              •  EntryDoor: (要塞で使用)この子構造の入り口のドアの種類。
              •  GD: この子構造が起点からどれくらい離れているかを示す指標だと思われる。
              •  hasPlacedChest0: 1(ture)か0(false)の値をとる。(砂漠の寺院で使用)チェストが配置されているか否かを示す。
              •  hasPlacedChest1: 1(ture)か0(false)の値をとる。(砂漠の寺院で使用)チェストが配置されているか否かを示す。
              •  hasPlacedChest2: 1(ture)か0(false)の値をとる。(砂漠の寺院で使用)チェストが配置されているか否かを示す。
              •  hasPlacedChest3: 1(ture)か0(false)の値をとる。(砂漠の寺院で使用)チェストが配置されているか否かを示す。
              •  Height: (寺院とウィッチの小屋で使用)構造物の高度(Y)。
              •  HPos: (寺院、ウィッチの小屋、村で使用)構造物が地表に設置されるように移動されたY軸方向の変位。-1の場合は移動されていないことを示す。[要検証]
              •  hps: 1(ture)か0(false)の値をとる。(廃坑の"MSCorridor"で使用)この廊下に洞窟グモのスポナーがあるか否かを示す。
              •  hr: 1(ture)か0(false)の値をとる。(廃坑の"MSCorridor"で使用)この廊下にレールが敷設されているか否かを示す。
              •  id: 子構造の識別子。やや強めの省略が掛かっている(例:"MSCorridor"="Mineshaft Corridor"=廃坑の廊下)。
              •  integrity: この構造物のインテグリティ(海底遺跡でのみ使用)。
              •  isLarge: 1(ture)か0(false)の値をとる。この海底遺跡の規模が大きいか否かを示す。
              •  junctions: (村で使用)通路の分岐点のリスト。 [情報提供依頼][要検証]
                  •  source_x: ブロックのX座標。
                  •  source_ground_y: 基底となる位置のY座標。
                  •  source_z: ブロックのZ座標。
                  •  delta_y: 基底からのY方向の変位。
                  •  dest_proj: terrain_matchingの一種、あるいはrigid
              •  Left: 1(ture)か0(false)の値をとる。(要塞の"SHS"で使用)廊下が左に開いているか否か。
              •  leftHigh: 1(ture)か0(false)の値をとる。(要塞の"SH5C"で使用)5方向の分岐点の上方向に、上行きの階段を伴った出口があるか否か。
              •  leftLow: 1(ture)か0(false)の値をとる。(要塞の"SH5C"で使用)5方向の分岐点の下方向に、上行きの階段を伴った出口があるか否か。
              •  Length: (村の"ViSR")道を作る子構造の長さ。[要検証]
              •  Mob:1(ture)か0(false)の値をとる。(ネザー要塞の"NeMT"で使用)このネザー要塞の、ブレイズのスポナーを有する設定の子構造において、実際に生成されたブレイズのスポナーを有しているかを示す。
              •  Num: (廃坑の"MSCorridor"で使用)廊下の長さ。
              •  O: この子構造の起点を示していると思われる。
              •  placedHiddenChest: 1(ture)か0(false)の値をとる。(ジャングルの寺院で使用)隠しチェストが配置されているか否かを示す。
              •  placedMainChest: 1(ture)か0(false)の値をとる。(ジャングルの寺院で使用)通常のチェストが配置されているか否かを示す。
              •  placedTrap1: 1(ture)か0(false)の値をとる。(ジャングルの寺院で使用)廊下の矢のトラップ用のディスペンサーが配置されているか否かを示す。
              •  placedTrap2: 1(ture)か0(false)の値をとる。(ジャングルの寺院で使用)チェストの矢のトラップ用のディスペンサーが配置されているか否かを示す。
              •  PosX: 村の原点のX座標。[要検証]
              •  PosY: 村の原点のY座標。[要検証]
              •  PosZ: 村の原点のZ座標。[要検証]
              •  Right: 1(ture)か0(false)の値をとる。(要塞の"SHS"で使用)廊下が右に開いているか否か。
              •  rightHigh: 1(ture)か0(false)の値をとる。(要塞の"SH5C"で使用)5方向の分岐点の上方向に、上行きの階段を伴った出口があるか否か。
              •  rightLow: 1(ture)か0(false)の値をとる。(要塞の"SH5C"で使用)5方向の分岐点の下方向に、上行きの階段を伴った出口があるか否か。
              •  Rot: 海底遺跡および沈没船の回転角。有効な値はCOUNTERCLOCKWISE_90、NONE、CLOCKWISE_90、CLOCKWISE_180(それぞれ、反時計回りに90°、回転無し、時計回りに90°、時計回りに90°)。
              •  sc: 1(ture)か0(false)の値をとる。(廃坑の"MSCorridor"で使用)廊下がクモの巣を有するか否か。
              •  Seed: (ネザー要塞の"NeBEF"で使用)ネザー要塞の、壊れた橋の子構造のランダムなシード値。
              •  Source: 1(ture)か0(false)の値をとる。(要塞の"SHSD"で使用)螺旋階段が、要塞由来のものかランダムに生成されたものかを示す。
              •  Steps: 要塞の"SHFC"で使用)廊下の長さ。
              •  T: (村の"ViSmH"で使用)鍛冶屋(1.13以前)のテーブルに関する値。0ではテーブルが存在せず、1または2では小屋の各側にテーブルが設置される[要検証]
              •  Tall: 1(ture)か0(false)の値をとる。(要塞の"SHLi"で使用)要塞の図書館が2階を持っているかを示す。
              •  Template: 海底遺跡および沈没船の生成に使用されたテンプレート。
              •  Terrace: 1(ture)か0(false)の値をとる。(村の"ViSH"で使用)この家がテラスへのはしごや、テラスの柵を有しているかを示す[要検証]
              •  tf: 1(ture)か0(false)の値をとる。(廃坑の"MSCrossing"で使用)坑道が二階分の高さを有するか否かを示す。
              •  TPX: 海底遺跡及び沈没船の原点のX座標。
              •  TPY: 海底遺跡及び沈没船の原点のY座標。
              •  TPZ: 海底遺跡及び沈没船の原点のZ座標。
              •  Type: (村で使用)村の種類。対応は以下の通り。 0=plains(平原)、1=desert(砂漠)、2=savanna(サバンナ)、3=taiga(タイガ)[要検証]
              •  Type: (要塞の"SHRC"で使用)この部屋には松明付きの柱、噴水、チェストの台座のどれがあるのか、または何もない部屋であるのかを示す。
              •  VCount: (村で使用)この子構造に伴って生成される村人の人数[要検証]
              •  Width: (寺院およびウィッチの小屋で使用)構造物の幅(X/Z)。
              •  Witch: 1(ture)か0(false)の値をとる。(ウィッチの小屋で使用)生成時点からウィッチがスポーンしているかを示す。
              •  Zombie: 1(ture)か0(false)の値をとる。(村で使用)この村がゾンビ村として生成されるかどうかを示す[要検証]
          •  ChunkX: 構造物の起点があるチャンクのX座標。idがINVALIDならこのタグは存在しない。
          •  ChunkZ: 構造物の起点があるチャンクのZ座標。idがINVALIDならこのタグは存在しない。
          •  id: 構造物が子のチャンクに存在しない場合は、このタグの値は"INVALID"であり、そうでなければ構造物の名前を値にとる。
          •  Processed: (海底神殿のみ)子構造が生成されたチャンクのリスト。idがINVALIDならこのタグは存在しない。
            • : チャンク。
              •  X: チャンクのX座標(チャンク単位の座標で計算、端点のブロック座標ではない)。
              •  Z: チャンクのZ座標。
          •  Valid:1(ture)か0(false)の値をとる。(村のみ)この村が、最低でも3か所道のない部分があるか否か。idがINVALIDならこのタグは存在しない。

ブロック[]

Anvilフォーマットでは、圧縮上の目的でブロックの座標はYZXの順番で並べられている。

座標の仕組みは以下の通り。

  • X座標は東方向で増加、西方向で減少する。
  • Y座標は上方向で増加、下方向で減少する。
  • Z座標は南方向で増加、北方向で減少する。

これにより各座標はちょうど、上側が北側に該当し、下から後ろ向きに読む本のように並べれられており、このように喩えたとき各文字が個々のX座標、各行がZ座標、各ページがY座標に該当する。二次元空間の配列ではY座標が省略され、配列は本の1ページのように読める。

各セクションは一辺が16ブロックの立方体であり、各チャンクは24個のセクション(一番下が0、一番上が23)が積みあがって構成されている。ブロックのないセクションは保存されない。各セクションはY軸方向の順番を表す"Y"というバイト(0~23)、ブロックの名前空間IDとブロック状態にリンクする"Palette"というリスト、そして"BlockStates"という64bitの値で保存された、各ブロック座標とブロック状態を対応付けるデータを有している。なお"BlockStates"では複数のIDを各エントリに纏めることで圧縮が行われている(圧縮の詳細についてはNBT_structureを参照)また、ワールドの最上部・最底部には光レベルを保存する追加のセクションがあり、そのため建築高度上限より上や岩盤より下でも光は正しく動作する。

また、"BlockLight"というバイト配列はブロック光レベルを決定するために用いられ、"SkyLight"というバイト配列は、現在時刻に関わらず、各ブロックが空から受ける光レベルの最大値を保存している。値の長さはそれぞれ2048バイトであり、一切の光が届かないセクションにおいてはどちらも省略される。光レベルは各ブロックにつき4bitで保存され、1バイト分で2つのブロックの光レベルが表現される(0から始まり、偶数番目のブロックが最初の4bitを使用、奇数番目のブロックが後半の4bitを使用する)。このようなエンディアン(保存方法)はJava Editionのストレージにおいては他に例のないことである。

以下の疑似コードは一つのセクションから個々のブロックの情報を得るための方法を示している。

byte Nibble4(byte[] arr, int index){
	return index%2 == 0 ? arr[index/2]&0x0F : (arr[index/2]>>4)&0x0F;
}
int BlockPos = y*16*16 + z*16 + x; 
compound Block = Palette[change_array_element_size(BlockStates,Log2(length(Palette)))[BlockPos]];
string BlockName = Block.Name; 
compound BlockState = Block.Properties; 
byte Blocklight = Nibble4(BlockLight, BlockPos); 
byte Skylight = Nibble4(SkyLight, BlockPos);

ブロックエンティティフォーマット[]

ブロックエンティティ
ID 対応するブロック
banner
barrel タル
beacon ビーコン
bed ベッド
beehive ミツバチの巣/養蜂箱
bell
blast_furnace 溶鉱炉
brewing_stand 醸造台
campfire 焚き火
chest チェスト
comparator レッドストーンコンパレーター
command_block コマンドブロック
conduit コンジット
daylight_detector 日照センサー
dispenser ディスペンサー
dropper ドロッパー
enchanting_table エンチャントテーブル
ender_chest エンダーチェスト
end_gateway エンドゲートウェイ
end_portal エンドポータル
furnace かまど
hopper ホッパー
jigsaw ジグソーブロック
jukebox ジュークボックス
lectern 書見台
mob_spawner スポナー
piston 作動中のピストン
shulker_box シュルカーボックス
sign 看板
skull Mobの頭
smoker 燻製器
soul_campfire 魂の焚き火
structure_block ストラクチャーブロック
trapped_chest トラップチェスト

ブロックエンティティ(英:Block Entity)(エンティティとは別物)は、Minecraft内で特定のブロックに対して"block_states"にブロックとして保存できない情報を保存する際に使われるものである。ブロックエンティティは1.8まではタイルエンティティ(英:Tile Entity)とも呼ばれており、その呼称が一部のコマンドの用法に残っている。

タイルティックフォーマット[]

通常はブロックはチャンクが保存されるまでブロックの更新は発生しないため、更新が必要なブロックはタイルティックによって示される。例えばレッドストーン回路が常時稼働したり、水や溶岩などの液体が流れたり、砂や砂利などのブロックが落下し始める現象などにはこのタイルティックによる更新が用いられる。一方で、葉の消滅などブロックのデータ値内に保存された情報で、チャンク読み込み時に処理されるものについてはタイルティックは用いられない。配布マップ製作者においては、メモリに読み込まれたチャンクで一定時間経過後にブロックを更新したい場合にこれを使用することができる。

  • タイルティック
    • Chunk format/Tile Tick

ToBeTickedフォーマット[]

このTAG_Listは常に存在しており、それぞれがチャンクの各セクションに対応する24のTAG_listを内部に含む。さらにこれらの内部リストは、それぞれが圧縮されたセクションのチャンク内での相対座標に対応するTAG_Shortを含む場合がある。最先頭の4bitは常に0の値をとり、その次の各4bitはセクションのチャンク内での相対座標(0から23)を表している。リスト内のセクションの順番は下から上の向きに並べられ、保存されている座標の順番は0ZYXの形式である。生成未完了のチャンクを完全なチャンクに変換するとき、PostProcessingリスト内に保存されている座標のみがティックの更新を受け、block_ticksfluid_ticks内のティック更新は無視されるようである。[要検証]

歴史[]

Clock JE3
この節は内容の更新を必要とします。 
この節を更新して、最近のアップデートや新たな情報を反映してください。
詳細:この項では多量の変更、特に1.13におけるregionファイルフォーマットに関する変更の記述が欠落しています。

チャンクのシステムはJava Edition Infdevで初めて導入された。1.3MCRegionフォーマットが導入されるまでは、チャンクは個々のチャンクに対応する".dat"ファイルに保存されており、そのファイル名はチャンクの座標を三十二進記数法でエンコードしたものだった。この保存形式はAlphaレベルフォーマットとして知られている。MCRegionフォーマットの導入により、チャンクの保存方法は32×32個のチャンクを一グループとし、一つの".mcr"ファイルに保存する形式へと移行した。このファイル名は十進法表記でのチャンクグループの座標で表記されている。この新しい保存方法により、Minecraftが一度に開くファイルの数を削減することで、ディスクへの負荷を抑えることに成功した。MCRegionフォーマットはChunkフォーマットの部分のみ変更が加えられ、現行のAnvilファイルフォーマットに継承されている。Anvilファイルフォーマットでは、regionファイルに関する技術は従来通りであるが、ファイルの拡張子が".mca"に変更されている。

MCRegionからAnvilへの移行の上で最も大きな変更点はチャンクをセクションに分割したことである。チャンクは一辺が16ブロックの空間であるセクションによって24(移行当時は16)個に分割されるようになり、これにより空の、つまり空気で満たされたセクションを保存する必要が無くなり、使用容量の削減に成功した。また、従来は225までしか扱えなかったブロックIDを、4095まで扱えるようにする準備も行われた。ただし、多くのアイテムIDはすでに256から4095の範囲で取得されているため、Minecraftはアイテムとして存在するそうしたブロックについては完全には準備していない。

また、Block、Data、Blocklight、Skylightのデータ配列は個別のセクションに保存されるようになった。Data、Skylight、Blocklightは4bitの値の配列であり、BlocklightとSkylightはBlock IDの一部ではなくなった。Blockのデータ配列は各ブロックにつき8bitであり、追加された4bitにより4096種類のブロックIDを扱えるようになった。さらにAnvilフォーマットでは、NBTフォーマットがNotchのオリジナルの使用から変更が加えられ、既存のバイト配列のような整数列を認識するようになった。現在はチャンク内のHeightMap情報にのみ使用されている。

Java Edition
1.3.112w21aMaxExperienceRemainingExperienceExperienceRegenTickExperienceRegenRateExperienceRegenAmountMobSpawner から削除。
1.4.212w34aエンティティ WitherBoss を追加。
1.513w02aエンティティ MinecartTNT を追加。
Minecart を廃止。
13w03aエンティティ MinecartHopper を追加。
13w06aエンティティ MinecartSpawner を追加。
1.6.113w16aエンティティ EntityHorse を追加。
13w21aArmorTypeEntityHorse から削除。
EntityHorse から Saddle を除去
1.6.1-preSaddleEntityHorse に再追加。
1.7.213w39aエンティティ MinecartCommandBlock を追加。
1.814w02aLock をコンテナに追加。
NBTデータの指定時にアイテムIDを使用しなくなった。
アルファベットのIDフォーマットを使用し、BlockFallingSand に追加。
14w06aShowParticles をすべてのMobに追加。
PickupDelay をアイテムエンティティに追加。
Age を-32768に設定すると、期限切れにならない項目ができるようになった。
AttackTime をMobから削除。
14w10arewardExpVillager に追加。
繁殖できるMobに OwnerUUID を追加。
OwnerSkull に追加。
額縁と絵画に関する変更:FacingTileXTileYTileZ を追加。アイテムの置かれている場所ではなくアイテムの置かれているブロックの座標を表すようになった。DirectionDir は廃止。
14w11aエンティティ Endermite を追加。
EndermiteCountEnderman に追加。
14w21aCustomNameCustomNameVisible が全てのエンティティで動作するようになった。
14w25aエンティティ Guardian を追加。
Text1Text2Text3Text4 を看板に追加。制限が文字数(16)ではなく文字の幅によるようになった。
14w27aエンティティ Rabbit を追加。 CommandStatsコマンドブロック看板に追加。
14w28aEndermiteCountEnderman から削除。
14w30aSilent をすべてのエンティティに追加。
14w32aNoAI をすべてのエンティティに追加。
エンティティ ArmorStand を追加。
14w32cNoBasePlateArmorStand に追加。
1.915w31aDropChancesEquipment タグを置き換える形で、タグ HandItemsArmorItemsHandDropChancesArmorDropChancesLiving に追加。
HandItemsArmorItemsArmorStand に追加。
GlowingEntity に追加。
TeamLivingBase に追加。
DragonPhaseEnderDragon に追加。
Entity に属する、エンティティ Shulker を追加。
Entity に属する、エンティティ ShulkerBullet を追加。
FireballBase を拡張したエンティティ DragonFireball を追加。固有のタグを持たないようになった。
Arrow に属する、エンティティ TippedArrowSpectralArrow を追加。
TileEntity に属する、ブロック EndGateway を追加。
TileEntity に属する、ブロック Structure を追加。
tag に属する、アイテムタグ Potion を追加。
15w32aTagsDataVersion タグをエンティティに適用できるようになった。
PrimedTntエンティティの Fuse タグのtypeを「Byte」から「Short」に変更
15w32cエンティティが持てるタグの上限を追加(1024)。上限を超えた場合はエラーに「エンティティに1024個以上タグを追加できません」と表示される。
15w33aEntity の子、エンティティ AreaEffectCloud を追加。
ExactTeleport を追加。EndGatewayLifeAge に改名。
LingerThrownPotion に追加。
DataVersionEntity から削除。LivingBase に属する、Player のみに適用できるようになった。
UUIDEntity から削除。
LivingBase の下の HealF を廃止。
LivingBase の下の Health のtypeを「Short」から「Float」に変更。
EquipmentArmorStandLiving エンティティから削除。使用法は以前に追加された HandItemsArmorItems で置き換えられた。
15w33cBeamTargetEnderCrystal に追加。
15w34apoweredconditional バイトタグをコマンドブロックControl タイルエンティティに追加。
lifepowerFireballBase に追加。
SpawnData の中の idMobSpawner に追加。
powered音符ブロックMusic タイルエンティティに追加。
15w35aVillagerProfessionZombie に追加。
15w37aEnabledMinecartHopper に追加。
15w38aSkeletonTrapSkeletonTrapTimeEntityHorse に追加。
15w41a全てのエンティティの RidingPassengers で置き換え。
全てのpassengerに RootVehicle を追加。
TypeBoat 追加。
15w42aFuelCauldron に追加。
15w43aLootTableLootTableSeedChestMinecartMinecartHopper に追加。
DeathLootTableDeathLootTableSeed をすべてのMobに追加。
lifepower をすべての火の玉に追加(FireballBase)。
15w44aShowBottomEnderCrystal に追加。
15w44bPotionCustomPotionEffectsArrow に追加。
PotionAreaEffectCloud に追加。
15w45aLingerThrownPotion から削除。代わりに、minecraft:lingering_potion のIDを持つアイテムが保存されるとポーションが残留するようになった。
アイテムがポーションでなくても ThrownPotion が保存されたアイテムとして描画されるようになった。
15w46aウサギがニンジンを食べると RabbitMoreCarrotTicks が40に設定されるようになったが、もう使われていない。
15w47aPaymentItemBeacon に追加。
15w49aPaymentItemBeacon から削除。
看板がテキストを受け入れるには("Text1", "Text2", "Text3", "Text4")の4つのタグが全て存在している必要がある様になった。
15w51bArmorStandDisabledSlots の元の値が自然に変わった。
1.1016w20aエンティティ PolarBear を追加。
VillagerProfessionIsVillager を置き換えて ZombieTypeZombie に追加。6の値はハスクを示す。
SkeletonType の2の値はストレイを示すようになった。
NoGravity をすべてのエンティティに拡張。
poweredshowboundingboxshowairStructure に追加。
16w21aFallFlying をMobと防具立てに追加。
integrityseedStructure に追加。
1.10-pre1ParticleParam1ParticleParam2AreaEffectCloud に追加。
1.1116w32aHorseをそれぞれの種類に対応してエンティティID horsedonkeymuleskeleton_horsezombie_horse に分割。TypeHasReproducedhorse から削除。ChestedHorseItems タグが muledonkeySkeletonTrap にのみ適用されるようになった。SkeletonTrapTime タグが skeleton_horse にのみ適用されるようになった。
SkeletonをエンティティID skeletonstraywither_skeleton に分割。SkeletonType タグを全てのスケルトン・亜種から削除。
ZombieをエンティティID zombiezombie_villagerhusk に分割。ZombieType タグをすべてのゾンビ・亜種から削除。ConversionTimeProfession タグが zombie_villager にのみ適用されるようになった。
GuardianをエンティティID guardianelder_guardian に分割。Elder タグを guardian から削除。
使用されていないセーブゲームID MobMonster を削除。
Pumpkin バイトタグを snowman に追加。
16w35aCustomNamebanner に追加。
16w39allamallama_spitvindication_illagervexevocation_fangsevocation_illager を追加。
Colorshulker に追加。
LocNameCustomPotionColorColorMap をアイテムに追加。
16w40aJohnnyvindication_illager に追加。
xTileyTilezTileinTileinGround をFireballBaseクラスから削除(大きな火の玉、小さな火の玉、ドラゴンの火の玉、ウィザーの頭蓋骨)。
16w41allama_spit がセーブゲームエンティティとして利用可能になった。
16w42acritarrow に追加。
16w43aOwnerUUIDLeastOwnerUUIDMostevocation_fangs に追加。
16w44axTileyTilezTileinTileinGround を釣竿の浮きエンティティから削除。
1.11-pre1ench を少なくとも1つのコンパウンドを必要とするよう変更。
1.1217w13aエンティティParrotShoulderEntityLeft/ShoulderEntityRightseenCreditsrecipeBook and Recipesを追加。
17w14a新しいコンパウンドタグisFilteringCraftableisGuiOpenrecipesrecipeBookに追加。
ConversionPlayerLeastConversionPlayerMostエンティティ Zombieに追加。
17w16aコマンドでのNBT解析が改善された。
17w17arecipeBookUpdateLastExecutionLastExecutiontoBeDisplayedを追加した。
17w17bLoveCauseLeastLoveCauseMost繁殖が可能なエンティティに追加した。
1.1317w47aアイテムのdamageが削除され、道具と防具はDamageを、地図はmapをそれぞれ用いるようになった。これら二つはどちらもtagに入っている。
エンダーマンのcarriedcarriedDatacarriedBlockStateに統合された。
矢のinTileinDatainBlockStateに統合された。
トロッコのDisplayTileDisplayDataDisplayStateに統合された。
落下中のブロックのBlockDataBlockStateに統合された。
作動中のピストンのBlockIdBlockDatablockStateに統合された。
音符ブロックと植木鉢のブロックエンティティが削除された。
トラップチェストは独自のブロックエンティティtrapped_chestを持つようになった。
旗からBaseが削除された。
Mobの頭からRotが削除された。
17w47aジュークボックスからRecordが削除された。
17w47bトラップチェストは独自のブロックエンティティを持たなくなり、再びchestを共有するようになった。
18w01aThrowerOwnerがストリングからLMという名前の64bitのcompoundになった。
18w02a釣り竿の「浮き」にエンティティIDfishing_bobberが与えられた。
絵画の種類名が小文字表記になり、名前空間IDを持つようになった。
18w07aエンティティturtletridentphantomが追加された。
HomePosX, HomePosY, HomePosZ, TravelPosX, TravelPosY, TravelPosZ, and HasEgg to turtleHomePosXHomePosYHomePosZTravelPosXTravelPosYTravelPosZHasEggのNBTデータが追加された。
phantomAXAYAZSizeのNBTデータが追加された。
18w15aエンティティdolphinが追加された。
18w19apuffer_fishpufferfishに改名した。
18w20acod_mobcodに改名した。
salmon_mobsalmonに改名した。
18w21adolphinTreasurePosXTreasurePosYTreasurePosZGotFish CanFindTreasureのNBTデータが追加された。
enchEnchantmentsに改名した。
Enchantmentsの値の形式が従来の数字IDではなく、名前空間IDになった。
pre5xp_orbexperience_orbに改名した。
xp_bottleexperience_bottleに改名した。
eye_of_ender_signaleye_of_enderに改名した。
ender_crystalend_crystalに改名した。
fireworks_rocketfirework_rocketに改名した。
commandblock_minecartcommand_block_minecartに改名した。
villager_golemiron_golemに改名した。
evocation_fangsevoker_fangsに改名した。
evocation_illagerevokerに改名した。
vindication_illagervindicatorに改名した。
illusion_illagerillusionerに改名した。
1.1418w43aエンティティillager_beastpandapillagerを追加した。
18w45aLIGHT_BLOCKINGのハイトマップが削除された。
1.1519w36a高度によって異なるバイオームを実現するために、 Levelタグ内の Biomesの取り得る値の数が256から1024に増加した。
1.1720w45aエンティティの保存場所が(terrain)Chunkディレクトリから分離され、専用のEntitiesディレクトリに移動された(POIファイルと同様)。保存形式は従来の通りNBT構造を持ったregionファイルである。
20w51aエンティティaxolotlが追加された。
21w03aエンティティglow_squidが追加された。
21w13aエンティティgoatが追加された。

脚注[]


Advertisement