2016/4/29 記述 Minecraft1.9版
MCP(Mod Coder Pack)を使ってMinecraftを逆コンパイルしよう。
※検証wikiにそぐわないと判断されたら、本ページごと削除してください。
例:Java SE Development Kit 8u91
環境変数 PathにJDKのbinを追加する。
例:C:\Program Files (x86)\Java\jdk1.8.0_91\bin など。
※既存のパス壊すとか、ミスらないように注意
MCP 9.24(beta1)
配置先はパスの長さなどを考慮し、ドライブルートなどが良い
以降の例は E:\mcp924-beta1\ に解凍したとして解説する
- minecraft_server jarをダウンロード・配置
ファイル名をminecraft_server.jarに変更し
E:\mcp924-beta1\jars\に配置する
筆者の環境ではJAVAデフォルトの300Mではデコンパイル時にOutOfMemoryErrorが発生したため、
以下のようにヒープの割り当てを1Gに設定することで解消した。
E:\mcp924-beta1\conf\mcp.cfg
174行目
修正前:CmdFernflower = %s -jar %s -din=1 -rbr=1 -dgs=1 -asc=1 -rsy=1 -iec=1 -jvn=1 -log=WARN {extra} {indir} {outdir}
修正後:CmdFernflower = %s -Xms1G -Xmx1G -jar %s -din=1 -rbr=1 -dgs=1 -asc=1 -rsy=1 -iec=1 -jvn=1 -log=WARN {extra} {indir} {outdir}
E:\mcp924-beta1\decompile.batを起動する
全てが上手くいけば、
E:\mcp924-beta1\srcにソースが出力される。
あとは煮るなり焼くなり(ライセンスの範囲内で)
E:\mcp924-beta1\docs\README-MCP.TXTは読めれば読むこと。
クライアント側のlibraries,assets,versionsも配置する必要があるが、
自動的に%APPDATA%\.minecraftから取得するので、
バニラの通常インストールであれば考慮不要
※%APPDATA%\.minecraft\versions\1.9
E:\mcp924-beta1\logsにデコンパイル時のログが出力されるためトラブルシューティングに使用する。
"Decompile failed"で止まる場合、JVMの例外はログに出力されないため
ログに出力されるデコンパイルコマンドを直接コマンドプロンプトで再実行すると、例外が見れる。
#OutOfMemoryErrorの時がそうだった
最新版である1.9.2のデコンパイルは
設定を変更して実施しても難読化の解除等でエラーとなる(ぽ)
(E:\mcp924-beta1\conf\version.cfg)
最終更新:2016年04月30日 18:55