MOD開発環境の準備
※MC1.5.1時点での内容
MCP+MinecraftForge導入
- Forge File Serverより、ForgeのsrcパッケージをDLする
- zipパッケージの中身(./forge)を取り出し、適当なディレクトリへ配置
-
./forge/install.cmdを実行して Forge適用状態のMCPをインストール
- ./forge/mcp/が基本ディレクトリとなる。(以降、MCP://と表記)
- MCP://recompile.bat を実行し、エラーが無いか確認。
以上。
NetBeansプロジェクト作成
- NetBeansを立ち上げ、「新規プロジェクト」
-
「既存のソースを使用するJavaプロジェクト」を選択、プロジェクト名を入力
- 「プロジェクト・フォルダ」は、MCP://以外に新しいディレクトリを作る。
- このディレクトリに、テスト実行時のリソースやログファイル等が作成される。
- 「既存のソース」にMCP://src/minecraftのパスを追加
- プロジェクトが作成されるので、プロジェクトプロパティを開く
-
「ライブラリ」>「コンパイル」のタブで、jarのパスを8つ追加。
- MCP://jars/bin/minecraft.jar
- MCP://jars/bin/jinput.jar
- MCP://jars/bin/lwjgl.jar
- MCP://jars/bin/lwjgl_util.jar
- MCP://lib/argo-3.2-src.jar
- MCP://lib/asm-debug-all-4.1.jar
- MCP://lib/bcprov-debug-jdk15on-148.jar
- MCP://lib/guava-14.0-rc3.jar
- 「ライブラリ」>「実行」及び「テストをコンパイル」タブで、コンパイル済みソースが上に来るようにする
-
「実行」>「VMオプション」へ、実行時ライブラリパスの起動引数を設定
- -Djava.library.path="MCP://\jars\bin\natives"
- プロジェクトプロパティ終了
-
ファイルウインドウから「project.properties」を開き、build.classes.dir"エントリを修正
- MCP://bin/minecraftまでのパスを指定
-
リビルドして実行してみる
- ビルドされたclassファイルは MCP://bin/minecraft/ へ配置される (minecraft.jarに相当)
- リソースやログファイル、SSは、プロジェクトディレクトリ以下へ展開される (.minecraftディレクトリ相当)
以上。
PlayerAPI導入
作者トピックで説明されている内容(FAQs:#6)+α
NetBeansは閉じておく事。
- MCP://srcをリネームして退避 (以降、src_forgeと表記)
- PlayerAPIから通常と同じMODパッケージをDL
- 通常の導入手順と同じ要領で、PlayerAPI MODをMCP://jars/bin/minecraft.jarへ導入
- cleanup.bat を実行
-
decompile.bat を実行
- PlayerAPIがデコンパイルされたsrcが出来る (以降、src_papiと表記)
- src_papi/minecraft/net/minecraft/src/以下の8ファイルをsrc_forge/minecraft/net/minecraft/src/へコピー
- src_papi/minecraft/net/minecraft/client/entity/以下のEntityPlayerSP.javaをsrc_forge/minecraft/net/minecraft/client/entity/へ上書きコピー
- src_papi/minecraft/net/minecraft/entity/player/以下のEntityPlayerMP.javaをsrc_forge/minecraft/net/minecraft/entity/player/へ上書きコピー
-
NetBeansを開き、エラーを修正 (アクセス指定子エラーと値型キャストエラー)
- 既存クラスの編集となるが、気にしない
- updatemd5.bat を実行 (編集された今の状態を正とする)
以上。