(→(Setup.4) デコンパイルを行おう) |
(内容整理) |
||
3行目: | 3行目: | ||
以下の構築環境は、主に「クライアントユーザ向け」のMOD構築です。<br /> | 以下の構築環境は、主に「クライアントユーザ向け」のMOD構築です。<br /> | ||
− | ModLoaderを使用する場合は、<br /> | + | 前提MOD利用する環境 |
+ | *'''[[MinecraftForge導入手順]]''' | ||
+ | *[[LiteLoader導入手順]] | ||
+ | *ModLoader利用の場合 | ||
+ | ModLoaderを使用する場合は、 | ||
+ | [[MCPの環境構築手順]]のSetup3の minecraft.jar(Modloader導入済)と minecraft_server.jar(ModLoaderを入れてない状態)の両方を用意して下さい。<br /> | ||
+ | 前提MODを利用しない環境 | ||
+ | *[[MCPの環境構築手順]] | ||
− | |||
− | |||
− | |||
<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> | ||
13行目: | 17行目: | ||
<div style="border:red 4px double;padding:1ex 1em;"> | <div style="border:red 4px double;padding:1ex 1em;"> | ||
− | *1. | + | *1.8現在、前提MODはMinecraftForgeが主流になっています。 |
− | + | MinecraftForgeで出来ないことは、他の前提MODでも出来ないくらい、APIが充実しています。<br /> | |
− | + | 他の前提MODとして、 | |
− | + | *LiteLoader(クライアントサイドのみ) | |
− | * | + | *BlazeLoader |
− | + | というMODが存在します。それぞれForgeよりもMODを作りやすいという特徴が有ります。 | |
− | |||
− | |||
− | * | ||
− | |||
</div> | </div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==ソースファイルの作成== | ==ソースファイルの作成== |
2015年1月4日 (日) 20:28時点における版
目次
Minecraft のMod開発環境を構築する
以下の構築環境は、主に「クライアントユーザ向け」のMOD構築です。
前提MOD利用する環境
- MinecraftForge導入手順
- LiteLoader導入手順
- ModLoader利用の場合
ModLoaderを使用する場合は、
MCPの環境構築手順のSetup3の minecraft.jar(Modloader導入済)と minecraft_server.jar(ModLoaderを入れてない状態)の両方を用意して下さい。
前提MODを利用しない環境
- 1.8現在、前提MODはMinecraftForgeが主流になっています。
MinecraftForgeで出来ないことは、他の前提MODでも出来ないくらい、APIが充実しています。
他の前提MODとして、
- LiteLoader(クライアントサイドのみ)
- BlazeLoader
というMODが存在します。それぞれForgeよりもMODを作りやすいという特徴が有ります。
ソースファイルの作成
既存のクラスを変更する場合は 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 ファイルとリソースデータが出力される。
MCP 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
デコンパイルで作成されたフォルダを全て削除する (削除されたファイルは元に戻せないので注意)