Takanasayo (トーク | 投稿記録) (前提MODについての注意書き追加) |
細 (不適切な言葉の削除) |
||
1行目: | 1行目: | ||
== Minecraft のMod開発環境を構築する == | == Minecraft のMod開発環境を構築する == | ||
+ | |||
以下の構築環境は、主に「クライアントユーザ向け」のMOD構築です。<br /> | 以下の構築環境は、主に「クライアントユーザ向け」のMOD構築です。<br /> | ||
+ | |||
ModLoaderを使用する場合は、<br /> | ModLoaderを使用する場合は、<br /> | ||
+ | |||
Setup3の minecraft.jar(Modloader導入済)と minecraft_server.jar(ModLoaderを入れてない状態)の両方を用意して下さい。<br /> | Setup3の minecraft.jar(Modloader導入済)と minecraft_server.jar(ModLoaderを入れてない状態)の両方を用意して下さい。<br /> | ||
'''※MinecraftForgeを導入する場合は[[MinecraftForge導入手順(MCP)]]を参照してください。'''<br /> | '''※MinecraftForgeを導入する場合は[[MinecraftForge導入手順(MCP)]]を参照してください。'''<br /> | ||
+ | |||
<div style="border:#900 2px solid;padding:1ex 1em;background:#f99;font-size:150%;font-weight:bold;line-height:100%;">前提MODについて</div> | <div style="border:#900 2px solid;padding:1ex 1em;background:#f99;font-size:150%;font-weight:bold;line-height:100%;">前提MODについて</div> | ||
+ | |||
<div style="border:red 4px double;padding:1ex 1em;"> | <div style="border:red 4px double;padding:1ex 1em;"> | ||
+ | |||
*1.5.x現在、前提MODはMinecraftForgeが主流になっています。<br />昔はModLoaderが主流でしたが、現在ではForgeの方が以下の理由により好まれる傾向にあります。 | *1.5.x現在、前提MODはMinecraftForgeが主流になっています。<br />昔はModLoaderが主流でしたが、現在ではForgeの方が以下の理由により好まれる傾向にあります。 | ||
+ | |||
**更新が早い | **更新が早い | ||
+ | |||
**導入が簡単 | **導入が簡単 | ||
+ | |||
**Moddingしやすい(高度な機能を実現するAPIが豊富) | **Moddingしやすい(高度な機能を実現するAPIが豊富) | ||
+ | |||
**ModLoader用MODも開発できる(ModLoaderと同じ手法でのModdingもできる) | **ModLoader用MODも開発できる(ModLoaderと同じ手法でのModdingもできる) | ||
+ | |||
**チュートリアルが充実している | **チュートリアルが充実している | ||
+ | |||
**意図しなくてもシングル/マルチ両対応MODを開発できる | **意図しなくてもシングル/マルチ両対応MODを開発できる | ||
− | ** | + | <!--超重要などは書くべきことでは無いと思われる--> |
+ | **Forge対応MODが多い | ||
+ | |||
*上記の理由により、特にModLoaderにこだわる理由がないのであれば、Forgeを使って開発するようにしましょう。 | *上記の理由により、特にModLoaderにこだわる理由がないのであれば、Forgeを使って開発するようにしましょう。 | ||
+ | |||
</div> | </div> | ||
===(Setup.1) JDK(Java SE Development Kit)をダウンロードする=== | ===(Setup.1) JDK(Java SE Development Kit)をダウンロードする=== | ||
+ | |||
JDK(Java SE Development Kit)をダウンロードするには、<br /> | JDK(Java SE Development Kit)をダウンロードするには、<br /> | ||
+ | |||
http://www.oracle.com/technetwork/java/javase/downloads/index.html をクリックして下さい。<br /> | http://www.oracle.com/technetwork/java/javase/downloads/index.html をクリックして下さい。<br /> | ||
+ | |||
12/3/6時点でページ内に「Java SE 7u3」と「Java SE 6 Update 31」がありますが、MCPのページに<br /> | 12/3/6時点でページ内に「Java SE 7u3」と「Java SE 6 Update 31」がありますが、MCPのページに<br /> | ||
− | + | ||
+ | Use the Java6 JDK with MCP, Java7 will not work properly | ||
+ | |||
とあるので「Java SE 6 Update 31」を使いましょう。<br /> | とあるので「Java SE 6 Update 31」を使いましょう。<br /> | ||
+ | |||
Java7でも動くようですが、MOD導入者にJava7を必要とさせることもあるのでJava6にしておいた方が安全です。<br /> | Java7でも動くようですが、MOD導入者にJava7を必要とさせることもあるのでJava6にしておいた方が安全です。<br /> | ||
+ | |||
JDK DOWNLOADというボタンがあるのでそのリンクを押します。<br /> | JDK DOWNLOADというボタンがあるのでそのリンクを押します。<br /> | ||
+ | |||
そして Oracle Binary Code License Agreement for Java SE に同意するために、<br /> | そして Oracle Binary Code License Agreement for Java SE に同意するために、<br /> | ||
+ | |||
Accept License Agreement(訳: ライセンスに同意する)のラジオボタンを選択(クリック)して、<br /> | Accept License Agreement(訳: ライセンスに同意する)のラジオボタンを選択(クリック)して、<br /> | ||
+ | |||
その後、自分のプラットフォームに合わせたJDKのダウンロードリンクをクリックしましょう。 <br /> | その後、自分のプラットフォームに合わせたJDKのダウンロードリンクをクリックしましょう。 <br /> | ||
33行目: | 58行目: | ||
===(Setup.2) Minecraft Code Pack(MCP) を入手=== | ===(Setup.2) Minecraft Code Pack(MCP) を入手=== | ||
+ | |||
'''Download:''' http://mcp.ocean-labs.de/index.php/MCP_Releases | '''Download:''' http://mcp.ocean-labs.de/index.php/MCP_Releases | ||
上記をダウンロード後、mcp(バージョン).zip を解凍して下さい。<br /> | 上記をダウンロード後、mcp(バージョン).zip を解凍して下さい。<br /> | ||
+ | |||
解凍後は、適当な場所(例: C:\McRoot\ ) にフォルダを生成し、解凍した中身を移す。<br /> | 解凍後は、適当な場所(例: C:\McRoot\ ) にフォルダを生成し、解凍した中身を移す。<br /> | ||
+ | |||
(※フォルダ名は、日本語等のマルチバイトの場合、不具合が起きる可能性があるため、英数をお勧めします)<br /> | (※フォルダ名は、日本語等のマルチバイトの場合、不具合が起きる可能性があるため、英数をお勧めします)<br /> | ||
===(Setup.3) Minecraft 関連をダウンロードとコピーペースト=== | ===(Setup.3) Minecraft 関連をダウンロードとコピーペースト=== | ||
+ | |||
1. Minecraft Server Jar(minecraft_server.jar)をダウンロードする。 ('''Download:''' http://www.minecraft.net/download ))<br /> | 1. Minecraft Server Jar(minecraft_server.jar)をダウンロードする。 ('''Download:''' http://www.minecraft.net/download ))<br /> | ||
+ | |||
2. minecraft_server.jar をMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う<br /> | 2. minecraft_server.jar をMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う<br /> | ||
+ | |||
3. %appdata%\.minecraft/bin を、フォルダごとMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う<br /> | 3. %appdata%\.minecraft/bin を、フォルダごとMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う<br /> | ||
+ | |||
4. %appdata%\.minecraft/resource を、フォルダごとMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う<br /> | 4. %appdata%\.minecraft/resource を、フォルダごとMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う<br /> | ||
===(Setup.4) デコンパイルを行おう=== | ===(Setup.4) デコンパイルを行おう=== | ||
+ | |||
1. 先程適当な場所(例: C:\McRoot\) に decompile.bat というファイルがあるので、それをダブルクリックする。<br /> | 1. 先程適当な場所(例: C:\McRoot\) に decompile.bat というファイルがあるので、それをダブルクリックする。<br /> | ||
+ | |||
2. するとデコンパイルが始まるので、終わるまでお茶でも飲んで待っていよう<br /> | 2. するとデコンパイルが始まるので、終わるまでお茶でも飲んで待っていよう<br /> | ||
+ | |||
3. デコンパイルされたソースは、先程適当な場所(例: C:\McRoot\src ) 内に展開される<br /> | 3. デコンパイルされたソースは、先程適当な場所(例: C:\McRoot\src ) 内に展開される<br /> | ||
+ | |||
├この時点で失敗する場合は、minecraft.jar, minecraft_server.jar, MCP のいずれかのバージョンが合っていない可能性がある。<br /> | ├この時点で失敗する場合は、minecraft.jar, minecraft_server.jar, MCP のいずれかのバージョンが合っていない可能性がある。<br /> | ||
+ | |||
└ macの場合は、ターミナルでMCPROOT/へ移動した後./decompile.shと入力してdecompile.shを実行する。<br /> | └ macの場合は、ターミナルでMCPROOT/へ移動した後./decompile.shと入力してdecompile.shを実行する。<br /> | ||
+ | |||
4. ModLoaderを導入した場合は、MCPROOT/src/minecraft/net/~/srcフォルダ内に<br /> | 4. ModLoaderを導入した場合は、MCPROOT/src/minecraft/net/~/srcフォルダ内に<br /> | ||
+ | |||
BaseMod.java, ModLoader.java も展開される。(ModLoader 導入成功)<br /> | BaseMod.java, ModLoader.java も展開される。(ModLoader 導入成功)<br /> | ||
+ | |||
└MCP 2.X 以前の様に enable_modloader.bat を実行する必要はありません。(実行すると不具合が発生する)<br /> | └MCP 2.X 以前の様に enable_modloader.bat を実行する必要はありません。(実行すると不具合が発生する)<br /> | ||
+ | |||
(Option)<br/> | (Option)<br/> | ||
+ | |||
5. このままではMLPropが使えないので、ModLoaderの配布ページ ('''Download:''' http://www.minecraftforum.net/topic/75440-v125-risugamis-mods-everything-updated/ ))<br />からDecompileFixesをダウンロードし<br/> | 5. このままではMLPropが使えないので、ModLoaderの配布ページ ('''Download:''' http://www.minecraftforum.net/topic/75440-v125-risugamis-mods-everything-updated/ ))<br />からDecompileFixesをダウンロードし<br/> | ||
+ | |||
解凍したMLProp.javaをMCPROOT/src/minecraft/net/minecraft/src/minecraft/net/minecraft/srcフォルダ内に上書きする。<br/> | 解凍したMLProp.javaをMCPROOT/src/minecraft/net/minecraft/src/minecraft/net/minecraft/srcフォルダ内に上書きする。<br/> | ||
+ | |||
MLProp.javaを開いて1行目のコメントアウトを削除する。 | MLProp.javaを開いて1行目のコメントアウトを削除する。 | ||
+ | |||
//package net.minecraft.src; → package net.minecraft.src; | //package net.minecraft.src; → package net.minecraft.src; | ||
==ソースファイルの作成== | ==ソースファイルの作成== | ||
+ | |||
既存のクラスを変更する場合は C:\McRoot\src/minecraft/net/minecraft/src/ 内にあるソースコードを変更する。<br /> | 既存のクラスを変更する場合は C:\McRoot\src/minecraft/net/minecraft/src/ 内にあるソースコードを変更する。<br /> | ||
+ | |||
自作のクラスを追加する場合も、このフォルダに追加する。<br /> | 自作のクラスを追加する場合も、このフォルダに追加する。<br /> | ||
− | + | ||
最初の内は無理をせず BlockXXX.java や ItemXXX.java などをコピーして練習すると感触をつかみやすい。<br /> | 最初の内は無理をせず BlockXXX.java や ItemXXX.java などをコピーして練習すると感触をつかみやすい。<br /> | ||
+ | |||
欲しい機能がある場合は、その機能を持つソースを覗いてみよう。(爆発を起こしたい→クリーパーのソースを見る…など)<br /> | 欲しい機能がある場合は、その機能を持つソースを覗いてみよう。(爆発を起こしたい→クリーパーのソースを見る…など)<br /> | ||
− | + | ||
既存のクラスを変更すると、他の MOD と競合することがあるので、レシピの追加などは ModLoader を使ったほうが無難。<br /> | 既存のクラスを変更すると、他の MOD と競合することがあるので、レシピの追加などは ModLoader を使ったほうが無難。<br /> | ||
+ | |||
ModLoaderを使用する場合は、BaseModを継承したクラスを作成する。<br /> | ModLoaderを使用する場合は、BaseModを継承したクラスを作成する。<br /> | ||
+ | |||
その際クラス名の先頭に"mod_"というプレフィックスをつけること。(つけないと ModLoader から認識されません)<br /> | その際クラス名の先頭に"mod_"というプレフィックスをつけること。(つけないと ModLoader から認識されません)<br /> | ||
cleanup.bat を実行すると、'''decompile 時に生成されたフォルダ以下が全て削除'''されます。<br /> | cleanup.bat を実行すると、'''decompile 時に生成されたフォルダ以下が全て削除'''されます。<br /> | ||
+ | |||
ソースコードは必ずバックアップを取ることを推奨 します。<br /> | ソースコードは必ずバックアップを取ることを推奨 します。<br /> | ||
==リソースの作成と配置== | ==リソースの作成と配置== | ||
+ | |||
自作のテクスチャを使用する場合は、作成して好きな場所に保存しておくこと。<br /> | 自作のテクスチャを使用する場合は、作成して好きな場所に保存しておくこと。<br /> | ||
− | + | ||
自作のリソースは C:\McRoot\bin\minecraft\ に配置する。<br /> | 自作のリソースは C:\McRoot\bin\minecraft\ に配置する。<br /> | ||
+ | |||
公式のファイルとの区別がつきやすいようなフォルダ名・ファイル名にするのが良い。<br /> | 公式のファイルとの区別がつきやすいようなフォルダ名・ファイル名にするのが良い。<br /> | ||
+ | |||
(例 : C:\McRoot\bin\minecraft\mod\sample.png など)<br /> | (例 : C:\McRoot\bin\minecraft\mod\sample.png など)<br /> | ||
cleanup.batを実行すると、'''decompile時に生成されたフォルダ以下が全て削除'''されます。<br /> | cleanup.batを実行すると、'''decompile時に生成されたフォルダ以下が全て削除'''されます。<br /> | ||
+ | |||
リソースのマスターデータは別のフォルダにバックアップをすることを推奨 します。<br /> | リソースのマスターデータは別のフォルダにバックアップをすることを推奨 します。<br /> | ||
Eclipseを使用している場合<br /> | Eclipseを使用している場合<br /> | ||
− | + | minecraft.jarにリソースファイル(主にテクスチャ等の画像)を入れる場合<br /> | |
− | + | ||
+ | C:\McRoot\jars\bin\に入ってる'''minecraft.jar'''の中に配置する。<br /> | ||
+ | |||
+ | .minecraftフォルダの中に入れる場合<br /> | ||
− | + | C:\Users\(ユーザー名)\AppData\Roaming\.minecraftの中の任意のフォルダに入れる。<br /> | |
− | + | ||
− | + | 設定ファイルは'''.minecraft\configか.minecraft\mods'''に入れる。<br /> | |
− | + | ||
− | + | 音声ファイルは'''.minecraft\resource\mods'''に入れる。<br /> | |
==コンパイル== | ==コンパイル== | ||
+ | |||
recompile.batを実行する。<br /> | recompile.batを実行する。<br /> | ||
+ | |||
エラーが出た場合は、コマンドプロンプトに詳細が表示されるので原因を取り除く。<br /> | エラーが出た場合は、コマンドプロンプトに詳細が表示されるので原因を取り除く。<br /> | ||
+ | |||
コンパイルに失敗した場合、テストプレイを実行できない。<br /> | コンパイルに失敗した場合、テストプレイを実行できない。<br /> | ||
103行目: | 164行目: | ||
==動作テスト== | ==動作テスト== | ||
+ | |||
startclient.bat を実行すると、変更を加えた状態でテストを行える。<br /> | startclient.bat を実行すると、変更を加えた状態でテストを行える。<br /> | ||
+ | |||
テストプレイ時は C:\McRoot\jars\ が .minecraft\に相当し、セーブファイルは C:\McRoot\jars\saves に作成される。<br /> | テストプレイ時は C:\McRoot\jars\ が .minecraft\に相当し、セーブファイルは C:\McRoot\jars\saves に作成される。<br /> | ||
− | + | ||
テストのためのアイテムやブロックがないときは、既存のセーブデータのコピーによって対処するといいだろう。<br /> | テストのためのアイテムやブロックがないときは、既存のセーブデータのコピーによって対処するといいだろう。<br /> | ||
+ | |||
動作テストで満足できないときは、1に戻ってやり直そう。<br /> | 動作テストで満足できないときは、1に戻ってやり直そう。<br /> | ||
==配布ファイルの出力== | ==配布ファイルの出力== | ||
+ | |||
※MCP 3.X で大きく仕様が変更されたので注意。 <br /> | ※MCP 3.X で大きく仕様が変更されたので注意。 <br /> | ||
+ | |||
配布するファイルを出力する場合は C:\McRoot\reobfuscate.bat を実行する。<br /> | 配布するファイルを出力する場合は C:\McRoot\reobfuscate.bat を実行する。<br /> | ||
+ | |||
ファイル作成に成功すると MCPROOT/reobf に配布する class ファイルとリソースデータが出力される。<br /> | ファイル作成に成功すると MCPROOT/reobf に配布する class ファイルとリソースデータが出力される。<br /> | ||
+ | |||
MPC 2.X 以前の様にファイルを列挙する必要はない。<br /> | MPC 2.X 以前の様にファイルを列挙する必要はない。<br /> | ||
==自作MODを実際に導入して最終テスト== | ==自作MODを実際に導入して最終テスト== | ||
+ | |||
実際に minecraft.jar に導入してテストを行う。<br /> | 実際に minecraft.jar に導入してテストを行う。<br /> | ||
ModLoader を入れた場合、 ModLoader を導入 したあと class ファイルをZIP内に書き込む。<br /> | ModLoader を入れた場合、 ModLoader を導入 したあと class ファイルをZIP内に書き込む。<br /> | ||
+ | |||
もちろん META-INF は削除すること。<br /> | もちろん META-INF は削除すること。<br /> | ||
− | + | ||
最後に起動テストをして完了。<br /> | 最後に起動テストをして完了。<br /> | ||
+ | |||
うまくいったら好きな場所に公開してみよう。<br /> | うまくいったら好きな場所に公開してみよう。<br /> | ||
==バッチファイル一覧== | ==バッチファイル一覧== | ||
+ | |||
* decompile | * decompile | ||
+ | |||
minecraft.jar、minecraft_server.jar をデコンパイルして、ソースファイルを src フォルダに出力する | minecraft.jar、minecraft_server.jar をデコンパイルして、ソースファイルを src フォルダに出力する | ||
+ | |||
* recompile | * recompile | ||
+ | |||
src フォルダにあるソースファイルをコンパイルし、minecraft.jar、minecraft_server.jar を作成する | src フォルダにあるソースファイルをコンパイルし、minecraft.jar、minecraft_server.jar を作成する | ||
+ | |||
* startclient | * startclient | ||
+ | |||
コンパイルされた minecraft.jar を実行し、ゲームを実行する | コンパイルされた minecraft.jar を実行し、ゲームを実行する | ||
+ | |||
* startserver | * startserver | ||
+ | |||
コンパイルされた minecraft_server.jar を実行し、サーバーを立てる | コンパイルされた minecraft_server.jar を実行し、サーバーを立てる | ||
+ | |||
* reobfuscate | * reobfuscate | ||
+ | |||
実行ファイルから差分ファイルを割り出し、配布用の class ファイルとリソースを出力する | 実行ファイルから差分ファイルを割り出し、配布用の class ファイルとリソースを出力する | ||
+ | |||
* cleanup | * cleanup | ||
+ | |||
デコンパイルで作成されたフォルダを全て削除する (削除されたファイルは元に戻せないので注意) | デコンパイルで作成されたフォルダを全て削除する (削除されたファイルは元に戻せないので注意) | ||
2013年5月9日 (木) 02:54時点における版
目次
Minecraft のMod開発環境を構築する
以下の構築環境は、主に「クライアントユーザ向け」のMOD構築です。
ModLoaderを使用する場合は、
Setup3の minecraft.jar(Modloader導入済)と minecraft_server.jar(ModLoaderを入れてない状態)の両方を用意して下さい。
※MinecraftForgeを導入する場合はMinecraftForge導入手順(MCP)を参照してください。
- 1.5.x現在、前提MODはMinecraftForgeが主流になっています。
昔はModLoaderが主流でしたが、現在ではForgeの方が以下の理由により好まれる傾向にあります。
- 更新が早い
- 導入が簡単
- Moddingしやすい(高度な機能を実現するAPIが豊富)
- ModLoader用MODも開発できる(ModLoaderと同じ手法でのModdingもできる)
- チュートリアルが充実している
- 意図しなくてもシングル/マルチ両対応MODを開発できる
- Forge対応MODが多い
- 上記の理由により、特にModLoaderにこだわる理由がないのであれば、Forgeを使って開発するようにしましょう。
(Setup.1) JDK(Java SE Development Kit)をダウンロードする
JDK(Java SE Development Kit)をダウンロードするには、
http://www.oracle.com/technetwork/java/javase/downloads/index.html をクリックして下さい。
12/3/6時点でページ内に「Java SE 7u3」と「Java SE 6 Update 31」がありますが、MCPのページに
Use the Java6 JDK with MCP, Java7 will not work properly
とあるので「Java SE 6 Update 31」を使いましょう。
Java7でも動くようですが、MOD導入者にJava7を必要とさせることもあるのでJava6にしておいた方が安全です。
JDK DOWNLOADというボタンがあるのでそのリンクを押します。
そして Oracle Binary Code License Agreement for Java SE に同意するために、
Accept License Agreement(訳: ライセンスに同意する)のラジオボタンを選択(クリック)して、
その後、自分のプラットフォームに合わせたJDKのダウンロードリンクをクリックしましょう。
JDKのインストール後、環境変数の設定が必要なことがあります(ほぼ必ず)
(Setup.2) Minecraft Code Pack(MCP) を入手
Download: http://mcp.ocean-labs.de/index.php/MCP_Releases
上記をダウンロード後、mcp(バージョン).zip を解凍して下さい。
解凍後は、適当な場所(例: C:\McRoot\ ) にフォルダを生成し、解凍した中身を移す。
(※フォルダ名は、日本語等のマルチバイトの場合、不具合が起きる可能性があるため、英数をお勧めします)
(Setup.3) Minecraft 関連をダウンロードとコピーペースト
1. Minecraft Server Jar(minecraft_server.jar)をダウンロードする。 (Download: http://www.minecraft.net/download ))
2. minecraft_server.jar をMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う
3. %appdata%\.minecraft/bin を、フォルダごとMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う
4. %appdata%\.minecraft/resource を、フォルダごとMCPを設置した場所の\jars(例: C:\McRoot\jars )にコピーを行う
(Setup.4) デコンパイルを行おう
1. 先程適当な場所(例: C:\McRoot\) に decompile.bat というファイルがあるので、それをダブルクリックする。
2. するとデコンパイルが始まるので、終わるまでお茶でも飲んで待っていよう
3. デコンパイルされたソースは、先程適当な場所(例: C:\McRoot\src ) 内に展開される
├この時点で失敗する場合は、minecraft.jar, minecraft_server.jar, MCP のいずれかのバージョンが合っていない可能性がある。
└ macの場合は、ターミナルでMCPROOT/へ移動した後./decompile.shと入力してdecompile.shを実行する。
4. ModLoaderを導入した場合は、MCPROOT/src/minecraft/net/~/srcフォルダ内に
BaseMod.java, ModLoader.java も展開される。(ModLoader 導入成功)
└MCP 2.X 以前の様に enable_modloader.bat を実行する必要はありません。(実行すると不具合が発生する)
(Option)
5. このままではMLPropが使えないので、ModLoaderの配布ページ (Download: http://www.minecraftforum.net/topic/75440-v125-risugamis-mods-everything-updated/ ))
からDecompileFixesをダウンロードし
解凍したMLProp.javaをMCPROOT/src/minecraft/net/minecraft/src/minecraft/net/minecraft/srcフォルダ内に上書きする。
MLProp.javaを開いて1行目のコメントアウトを削除する。
//package net.minecraft.src; → package net.minecraft.src;
ソースファイルの作成
既存のクラスを変更する場合は C:\McRoot\src/minecraft/net/minecraft/src/ 内にあるソースコードを変更する。
自作のクラスを追加する場合も、このフォルダに追加する。
最初の内は無理をせず BlockXXX.java や ItemXXX.java などをコピーして練習すると感触をつかみやすい。
欲しい機能がある場合は、その機能を持つソースを覗いてみよう。(爆発を起こしたい→クリーパーのソースを見る…など)
既存のクラスを変更すると、他の MOD と競合することがあるので、レシピの追加などは ModLoader を使ったほうが無難。
ModLoaderを使用する場合は、BaseModを継承したクラスを作成する。
その際クラス名の先頭に"mod_"というプレフィックスをつけること。(つけないと ModLoader から認識されません)
cleanup.bat を実行すると、decompile 時に生成されたフォルダ以下が全て削除されます。
ソースコードは必ずバックアップを取ることを推奨 します。
リソースの作成と配置
自作のテクスチャを使用する場合は、作成して好きな場所に保存しておくこと。
自作のリソースは C:\McRoot\bin\minecraft\ に配置する。
公式のファイルとの区別がつきやすいようなフォルダ名・ファイル名にするのが良い。
(例 : C:\McRoot\bin\minecraft\mod\sample.png など)
cleanup.batを実行すると、decompile時に生成されたフォルダ以下が全て削除されます。
リソースのマスターデータは別のフォルダにバックアップをすることを推奨 します。
Eclipseを使用している場合
minecraft.jarにリソースファイル(主にテクスチャ等の画像)を入れる場合
C:\McRoot\jars\bin\に入ってるminecraft.jarの中に配置する。
.minecraftフォルダの中に入れる場合
C:\Users\(ユーザー名)\AppData\Roaming\.minecraftの中の任意のフォルダに入れる。
設定ファイルは.minecraft\configか.minecraft\modsに入れる。
音声ファイルは.minecraft\resource\modsに入れる。
コンパイル
recompile.batを実行する。
エラーが出た場合は、コマンドプロンプトに詳細が表示されるので原因を取り除く。
コンパイルに失敗した場合、テストプレイを実行できない。
日本語のコメントを記述した場合、コンパイルに失敗するため、/MCPROOT/conf/mcp.cfg内のCmdRecompの末端に "-encoding utf-8" と記述することによりコンパイルすることができるようなる。
動作テスト
startclient.bat を実行すると、変更を加えた状態でテストを行える。
テストプレイ時は C:\McRoot\jars\ が .minecraft\に相当し、セーブファイルは C:\McRoot\jars\saves に作成される。
テストのためのアイテムやブロックがないときは、既存のセーブデータのコピーによって対処するといいだろう。
動作テストで満足できないときは、1に戻ってやり直そう。
配布ファイルの出力
※MCP 3.X で大きく仕様が変更されたので注意。
配布するファイルを出力する場合は C:\McRoot\reobfuscate.bat を実行する。
ファイル作成に成功すると MCPROOT/reobf に配布する class ファイルとリソースデータが出力される。
MPC 2.X 以前の様にファイルを列挙する必要はない。
自作MODを実際に導入して最終テスト
実際に minecraft.jar に導入してテストを行う。
ModLoader を入れた場合、 ModLoader を導入 したあと class ファイルをZIP内に書き込む。
もちろん META-INF は削除すること。
最後に起動テストをして完了。
うまくいったら好きな場所に公開してみよう。
バッチファイル一覧
- decompile
minecraft.jar、minecraft_server.jar をデコンパイルして、ソースファイルを src フォルダに出力する
- recompile
src フォルダにあるソースファイルをコンパイルし、minecraft.jar、minecraft_server.jar を作成する
- startclient
コンパイルされた minecraft.jar を実行し、ゲームを実行する
- startserver
コンパイルされた minecraft_server.jar を実行し、サーバーを立てる
- reobfuscate
実行ファイルから差分ファイルを割り出し、配布用の class ファイルとリソースを出力する
- cleanup
デコンパイルで作成されたフォルダを全て削除する (削除されたファイルは元に戻せないので注意)