Anvilファイルフォーマット

提供: Minecraft Wiki
移動先: 案内検索
この記事は内容の改訳が必要な可能性があります。
執筆されている内容は不適切、不正確な翻訳かもしれません。
該当する節: 詳しい情報

Anvil[1]ファイルフォーマットはMinecraft 1.2に正式に導入されました。これは、以前のファイルフォーマットである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カラムごとに保存されている。これは、ワールド作者にとって非常に便利である。またこれにより、地形のアルゴリズムを変更した後にバイオームと一致しないバグを防ぐことができる。

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

Minecraft スナップショット12w07a/bと1.2はワールドを自動的に新しいフォーマットに変換されるが、古いゲームのバージョンとの互換性のためにワールドファイルのコピーが以前のフォーマットで作成される。ワールドジェネレーターは変更されていなく、高さ制限を海面から192ブロック作成され、通常の地形上の空気が追加されるでしょう。

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

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

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

  1. a b http://www.mojang.com/2012/02/14/new-minecraft-map-format-anvil/