新ランチャー・Minecraft 1.6.4で効果音が出ない問題の解決法

発端

MinecraftのPC版(現:Java Edition)のランチャーが新バージョンになったのは結構前のことである。

f:id:igagurimk2:20180611155800p:plain

Minecraft Java Editionのランチャー画面

それよりしばらく後、PCの故障に伴ってOSを再インストールし、マインクラフトの環境も再構築したところ、1.7.10環境では効果音が出るのにもかかわらず、1.6.4環境ではMODで追加される効果音以外が出ないという症状が出る。

このバグはMCL-6280として登録されている。
[MCL-6280] No sound in older versions on native launcher, despite working in the Java launcher - JIRA

 

症状の原因

直接原因

症状の直接原因は、.minecraft\assets\virtualフォルダとその中身が存在しないことである。
このフォルダ内には、音声・言語ファイル・ウインドウのアイコンファイルなどが存在する。
そのため、このフォルダがない場合、音が出ない・英語以外の言語にできない・ウインドウのアイコンがおかしいなどの症状が出る。

根本原因

この症状の根本原因は、新ランチャーが旧バージョンに必要なファイルを起動時に展開する処理をしないことである。
1.6.4では、音声ファイルなどはランチャーが起動時に取得する仕様になっているため、新ランチャーではファイルが欠落して音声が出なくなる。

対処法

根本的な解決には新ランチャーのバグFixが必要であるが、対症療法として自分でvirtualフォルダを用意するという方法がある。
具体的には、indexes/lagacy.jsonの内容に基づいてobjectsフォルダ内のファイルをリネームして配置する。
しかし、これを手動で行うにはファイル数が多いため、変換ツールを作成した。

github.com

使用法は、このプログラムを.minecraft/assets内に置いて起動するだけである。

このツールでは、一部のテキストファイルをCRLFの変換を行うことで正しく認識されるようにしている。