Minecraft ワールドをBedrock版とJava版の間で変換するWebツール「Chunker」

友達数人が参加するBedrock版サーバーを運用していたが、 PCでゲームを遊ぶ割合が増えたことでJava版に移行することになったので、 既存のBedrock版ワールドを変換できないか調査することにした。

環境

  • Chunker 1.17.4
  • Amulet Editor v0.10.1
  • Minecraft Java版クライアント 1.19.2
  • Minecraft Java版サーバー 1.19.2
  • Minecrarft Bedrock版サーバー 1.19.31.01

Chunker

ワールドデータをアップロードすると、異なるプラットフォーム・バージョン向けに変換してくれるWebツール。

Chunker 開始画面

右下のベルボタンから確認できる更新履歴を見る限り、少なくとも2020年5月にはChunker 1.4.1が存在していたようだ。

Hive GamesというMinecraft公式パートナー(Minecraftのマーケットプレイスに出品できる契約をMicrosoftと結んでいるクリエイターのこと)が開発していて、内部ツールを公開したもののようだった。

Born as an internal tool

As part of an exclusive licensing deal with Microsoft

という記述があるが、Chunkerのために別途契約を結んでいるのか、公式パートナーのことを指すのかは読み取れなかった。

2022年5月にリリースを伝える記事がいくつか見られ、TwitterでMinecraftの開発者の1人 David (@CornerHardMC)氏が言及していたりする。 公式ツールだとする記事があるが、ソースは見つけられなかった。 個人的には、あくまで非公式ツールだと思っている。

軽量なワールドを変換してみた

十数日遊んだくらいの、35MB程度のBedrock版ワールドがあったので、ChunkerでJava版に変換してみた。

軽量ワールド 額縁に入った地図 軽量ワールド ハーフブロック

見た目には、ハーフブロックが一部消えたり入れ替わったりしていそうなくらいで、 いくらか手を入れれば遊べそうだった。

チェストの中身は見た目にはおそらくそのままだが、 プレイヤーはBedrock版とは異なるIDでログインすることになるので、インベントリの中身を直接移動させることはできないと思われる。内部的にインベントリのデータを残しているかは調査していないので不明。

ワールドのサイズ制限

Chunkerにアップロードできるワールドのサイズ制限はおそらく500MB(記事執筆時点)。

手元に733MBある本命のBedrock版ワールドがあり、これをアップロードしようとしたところ、サイズ制限のバリデーションに引っかかった(ディレクトリ・zipと2方式のアップロードボタンがあるが、どちらも同じ)。

Chunker 733MB Chunker サイズ制限

ワールドサイズを減らすため、不要なチャンクを削除してみることにした。

Amulet Editorによるチャンク削除

Amulet 開始画面 Amulet ワールド読み込み Amulet ワールド読み込み済み Amulet 3Dエディタ画面

ワールドを読み込んだあと、Ctrl+Aでワールド全体を選択する。

Amulet 全選択済み

左の選択範囲フォームからXZを編集して、適当なサイズにする。 適当に試したところ、以下のようなサイズになったので、-5000~+5000を切り取ることにした。

  • 20000x20000(-10000~+10000): 660MB
  • 12000x12000(-6000~+6000): 530MB
  • 10000x10000(-5000~+5000): 480MB
Amulet 選択範囲の変更

フォームの数字をキーボードで編集するときは、フォームからマウスを外さないようにする。 右の3D表示にマウスカーソルが乗ると、入力欄から選択が外れてしまう(画像中では-10000~+10000になっているが、スクリーンショットを撮り直していないだけ)。

Amulet 選択範囲の変更済み

下の「Chunk」ボタンを押す。

Amulet チャンク編集

「選択範囲外のチャンクを削除」ボタンを押す。

Amulet 非選択チャンクの削除

出てくるモーダルで、現在のチャンクデータを読み込んでUndo可能にするか聞かれるが、 Noを選ぶとUndoできないが高速に作業を進められる。 Yesを選ぶと、Undoポイントの作成に数分以上かかることがある。

Amulet チャンク操作 Undo確認

右上の保存ボタンを押す。 保存完了の時点ではワールドサイズは減っていないので注意。

Amulet 編集内容を保存

ワールドを閉じる。 この操作が完了すると、ワールドサイズが変化する。

Amulet ワールドを閉じる

10000x10000(-5000~+5000)を切り取ったことで、zip圧縮状態で473MBにすることができた(上のチャンク削除前サイズは圧縮前だが、圧縮時は725MBだった)。

Chunker 473MB

500MBを下回ったことで、Chunkerを使って変換することができた。

Chunker 変換中 Chunker 変換したワールドをダウンロード

こちらのワールドでは、地図や旗が壊れてしまっていた。 軽量ワールドの方では地図を変換できていたようだったので、Amuletを挟んだ影響かもしれないが、 地図の縮尺・複製の違いや、ワールドサイズが大きいことなど、他にも原因が考えられる。

Chunker 大きいワールドのバナー

また、すべてのエンティティが消えてしまっているようだったので、村人なども引き継げなさそうだった。 これもChunker単体では不明。

テスト用のワールドを作って検証してみたら、改めて記事を更新したい。