子供が Minecraft にハマっていて Mod づくりに興味がありそうなので、とりあえず開発環境を用意してみました。 ネット上を探すと Mod 製作の情報はあるにはあるのですがどうも古いようなので、自分の行った手順を簡単にまとめておきます。
自分の使った Minecraft/Minecraft Forge バージョンは Windows 用の 1.7.10 です。
環境の構築
以下のように環境を構築しました。
- まずは Minecraft 1.7.10 をダウンロードし、一度は実行しておく。
- JDK と Eclipse をインストールしてする。 私の場合は、JDK 1.8.0 の 64ビット版と Eclipse Standard 4.4 (Luna) の 64ビット版を入れました。
- ダウンロードページより、1.7.10-Recommended の Installer-Win と Src をダウンロードする。 Installer-Win の代わりに Installer (.jar ファイル) を使うのも可。
- Installer-Win を実行する。 Minecraft 1.7.10 を起動したことがないと失敗するので、1度は起動しておく。
- ダウンロードした Src を適当なディレクトリに展開する。
-
Src 展開後のディレクトリ内に存在する README.txt の手順に従う。具体的には以下を実行。
- gradlew setupDevWorkspace
- gradlew eclipse
- Eclipse を起動し、Src 展開後ディレクトリ内の eclipse ディレクトリをワークスペースとして指定する。
ここまでで作業環境ができます。
プログラムの作成
ワークスペースを開くと Minecraft プロジェクトが存在します。 その中の src/main/java にサンプル ExampleMod.java があります。 自分用の package をこの隣に作成後、ExampleMod.java をそこにコピーし作業を始めればよいと思います。
また、実行時 Program arguments として以下を指定する必要がありました。
--assetIndex 1.7.10
これがないと実行時に以下のエラーが発生してしまいます。
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: C:\Users\blogger323\.gradle\caches\minecraft\assets\indexes\{ASSET_INDEX}.json (指定されたファイルが見つかりません。) at com.google.common.base.Throwables.propagate(Throwables.java:160)
開発を進めるには
結構困るのが公式の API のリファレンスマニュアルが存在しないことです。
ここまで検索して探してみた結果は、どうやらデコンパイルされた「ソースを読め」ということのようです。
古いサンプルコードは動かすのに修正が必要で、1.7.10 の情報はまだ少ないようです。
リファレンスとしてはダウンロードページより JavaDoc をダウンロードできます。
ついでに忘れないように用語メモ。 今ひとつそれぞれの境界がわかっていないですが。
- Forge
- Mod 開発フレームワーク
- FML
- Forge Mod Loader
- MCP
- Mod Coder Pack。開発用基本ツールパック
Mod の置かれる場所
インストール後は、Minecraft 起動時に「Forge」プロファイルを選択すると Forge の Mod を読み込むようになります。 Mod をただ使うだけであれば %APPDATA%\.minecraft\mods の下に置けばよいです。 参考まで。
環境の構築の手順をもう少しわかりやすくしてもらえると嬉しいです。
あと、1.7.2でModを作りたいのですが、この場合1.7.2と1.7.10ではMod製作の手順は違いますか?
一応、ダウンロードサイトへのリンクや開発ツールのバージョン情報などを追記しましたが、1.7.2 であればここよりも以下のページを参考にすると良いと思います。
http://minecraftjp.info/modding/index.php/MinecraftForge%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86
私は 1.7.10 しか触ったことがないのですが、1.7.2 と 1.7.10 では API に変更があったようで、それなのに関連情報をあまり見つけることができませんでした。逆に 1.7.2 であれば見つけやすいかと思います。API 情報も以下のページが参考になると思います。
http://minecraftjp.info/modding/index.php/Minecraft_Forge_API
API の差は 1.7.2 と 1.7.10 の間ではなく、1.6 と 1.7 の差かも。いずれにせよ、変更履歴は知らないです。