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

Anvilファイルフォーマット

提供: Minecraft Wiki
移動先: 案内検索
Disambig color.svg この記事では、ファイルフォーマットについて説明しています。アイテムを修理するブロックについては「金床」をご覧ください。
Information icon.svg
この項目はJava Edition限定の要素です。

Anvil[1]はファイルの保存形式である。以前のファイルフォーマットであるRegionからの変更点と改善点の一覧が表示される。スナップショット12w07aで実装され、1.2.1にて正式に実装された。

MCRegionからの変更点[編集 | ソースを編集]

ワールドをAnvilからMcRegionフォーマットへ変換する様子

MCRegionからAnvilへの変更点はChunkフォーマットのみである - Regionファイルフォーマットは依然として使用されるが、Anvilとしてラベル付けされる。AnvilフォーマットはChunkフォーマットにこれらの変化を導入した:

  • 最大高度が(128から)256に増加された。
  • ワールドの空のセクションがメモリ内の読み込まれたりディスクに保存されなくなった
  • 最大ブロックIDが(格納方法をメタデータと同様に)4bitのデータ層を追加することによって(256から)4096にに増加された。しかし、残りのMinecraftのコードは現在、利用するために用意されていない。
  • ブロックの順序の圧縮性を改善するためにXZYからYZXに変更された。
  • チャンクの送信のためのパケットが最適化(空気のないチャンクが古いフォーマットの同じチャンクに比べて小さく、空気の多いチャンクはさらに小さくなる)された。
  • バイオームがツールによって変更することができることを意味し、その場で計算されるのではなくX、Zカラムごとに保存されている。これは、ワールド作者にとって非常に便利である。またこれにより、地形のアルゴリズムを変更した後にバイオームと一致しないバグを防ぐことができる。

詳しい情報[編集 | ソースを編集]

12w07a以降のバージョンではワールドは自動的に新しいフォーマットに変換されるが、古いゲームバージョンとの互換性を考慮して以前のフォーマットでワールドファイルのコピーが作成される。ワールドジェネレーターは変更されていないため、通常の地形の上に空気が128ブロック追加されており、海抜から高度限界までは192ブロックとなっている。

  • 16x128x16の「Blocks」「Data」「SkyLight」「BlockLight」のタグは移動され、再利用。(下記参照)
  • 複合タグを含む「Sections」リストタグに最大16個の複合タグを追加。
  • 各セクションには16x16x16の「Blocks」「Data」「SkyLight」「BlockLight」のタグがある。
  • 各セクションには、それがどのセクションであるかを示す「Y」バイトタグが付いている(Yの位置はスキップできるものもあるので注意)。0がワールドの最下層、15が最上層である。
  • 各セクションには任意で「Add」タグがあり、これは「Data」と同様にDataLayerのバイト配列である。古いフォーマットでは255以上のブロックIDを持つことはなかったため、「Add」タグはコンバータには含まれていない。この余分なタグはブロックが必要とするたびに作成されるため、getTile()メソッドは配列が存在するかどうかを確認してから、デフォルトのブロックデータと組み合わせる必要がある。つまり、blockId = (add << 8) + baseIdとなる。
  • 各チャンクには「Biomes」と呼ばれるバイオームIDを持つ16×16バイトの配列がある。この配列が存在しない場合は、ゲーム起動時に配列内に-1の値が入力される。しかし、開発者向けに提供されているコンバータのソースにはバイオームのソースは含まれていない。
  • 古いフォーマットはXZY((x×16+z)×16+y)であり、新しいフォーマットはYZX((y×16+z)×16+x)であることに注意(DataLayerとOldDataLayerの違いを参照)。
  • 新しいフォーマットの拡張子は「.mcr」ではなく「.mca」が使用される(古いフォーマットは安全のため保持され、level.datは「level.dat_mcr」としてバックアップされている)。
  • IntArrayと呼ばれる新しいNBTタグタイプがNBTフォーマット(ID11)に追加され、「Heightmap」タグで使用される。

関連する情報については、Chunkフォーマットのページを参照。

スタンドアロンコンバータとソースコード[編集 | ソースを編集]

コンバータとソースコードは、調べて準備する開発者向けに個別にリリースされたものである。[1]

変換後にワールドサイズを縮小(SMPサーバー上)[編集 | ソースを編集]

McRegionフォーマットのデータが.mcrで終了しつつ、Anvilフォーマットのワールドデータは.mcaのサフィックスを持っている。
バックアップのサイズについては、維持するために.mcrファイルが(バックアップした後に)削除されれることがある。 これは例によって達成することができる。

  • Windowsのコマンドプロンプト
    1. Windowsのコマンドプロンプトを開く(Win-rcmdEnter)
    2. 以下のコマンドを実行する(<>文字なし):
DEL /F /S /Q <あなたのワールドデータディレクトリのパス>\*.mcr
  • Windowsエクスプローラー
    1. Windowsエクスプローラーを開く(Win-e)
    2. ワールドデータが保存されているフォルダを参照する
    3. それを選択する
    4. このフォルダを検索する(F3)
    5. *.mcrを検索する
    6. すべての検索結果をマークする(ctrl-a)
    7. ヒットしたものをを削除する
  • Linuxシェル / OS Xターミナル
    1. ワールドデータが保存されているフォルダにcdをする
    2. 以下のコマンドを実行する
rm *.mcr

関連項目[編集 | ソースを編集]

出典[編集 | ソースを編集]