提供: Minecraft Modding Wiki
移動先: 案内検索
(ForgeGradleの開発環境構築手順を詳しく書いてみました。)
(IDEAに関するリンク追加、準備に関する項目追記)
16行目: 16行目:
  
 
==必要なもの==
 
==必要なもの==
 +
*MinecraftForgeのソースファイル
 +
**http://files.minecraftforge.net/ から Src をダウンロード
 +
*JDK(JavaDevelopmentKit)
 +
**http://www.oracle.com/technetwork/java/javase/downloads/index.html からPCに合わせてダウンロード
 +
**詳しくは「[[MOD開発環境を作る|事前準備・MOD開発環境を作る]]」を参照。
 +
*Java総合開発環境(IDE)
 +
**[[Eclipseを入手する]]
 +
**[[IDEAを入手する]]
  
  
 
==前準備==
 
==前準備==
基本は、「[[MOD開発環境を作る|事前準備・MOD開発環境を作る]]」に準じています。<br />
+
*JDKのダウンロード、およびインストール
初めて導入する場合、上記ページで詳しく解説しているのでそちらへ。ここでは簡単に手順だけ書きます。<br />
+
*MinecraftForgeSourceのダウンロード、および解凍
 
 
#[http://www.oracle.com/technetwork/java/javase/downloads/index.html JDKをダウンロード]し、インストールする。環境変数設定を忘れずに。
 
  
 
==環境構築手順(install.bat作成まで)==
 
==環境構築手順(install.bat作成まで)==

2014年3月18日 (火) 00:07時点における版

この記事は執筆中です。加筆してくださる人を募集しています。

Minecraft1.7.2以降で、MinecraftForge10.12.0.967以降を導入する場合の手順です。

動作確認
Minecraft1.7.2 Forge10.12.0.???
  • 動作の確認は基本的にRecommended[推奨版]のみ。Latest[最新版]はForge自体の動作が保証されていません。
  • Forgeのダウンロードはこちらから。


以前のバージョンでの手順

必要なもの


前準備

  • JDKのダウンロード、およびインストール
  • MinecraftForgeSourceのダウンロード、および解凍

環境構築手順(install.bat作成まで)

Forge の src を展開する gradlew.batをメモ帳等で開き、JDKのパスをショートネームで追記しておく(12~18行目あたりのset ***が並んでる付近でよい)

  • set JAVA_HOME=C:\PROGRA~1\Java\jdk1.7.0_51
  • ショートネームがわからなければ、コマンドプロンプトで「dir /x C:\」と打てば表示される。「Program Files」は「PROGRA~1」など

インストール用バッチファイルの作成

  • ディレクトリ内に新規テキストファイルを作成し、中に以下の括弧内のコードを書いて保存。ファイル名を「Install.bat」に変更して完成。
    • (Eclipse用)「gradlew setupDecompWorkspace eclipse」
    • (intellij IDEA用)「gradlew setupDecompWorkspace idea」

Install.batを実行する。暫く待つと ディレクトリ内に必要なファイルが生成される。

  • (Eclipse)Eclipceのファイル「.project」と「.classpath」が作成されていれば成功。
  • (IDEA)IDEAのファイル「.iml」「.ipr」「.iws」が作成されていれば成功。
  • 失敗していたら「gradlew --refresh-dependencies」を実行させて依存ファイルの再作成を行わせ、再度install.batを実行してみること。

build.gradleファイルの編集

  • ディレクトリ内にあるbuild.gradleファイルを適当なテキストエディタで開く
  • 1つのMODのみ開発する場合。
    • ファイルの中程にあるversionとarchivesBaseNameを適当な文字列に変える。
  • 複数のMODを同じワークスペースで開発する場合。
    • build.gradle内の以下の部分
apply plugin: 'forge'

version = "1.0"
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"

minecraft {
    version = "1.7.2-10.12.0.1024"//DLした時のForgeのバージョン
    assetDir = "eclipse/assets"
}

を、次のように変更する。

allprojects {
    apply plugin: 'forge'

    minecraft {
        version = "1.7.2-10.12.0.1024"
		assetDir = "eclipse/assets"
    }

    version = "1.0"//各プロジェクトで指定するだろうし、無くてもよい。

    archivesBaseName = project.projectDir.name
}
  • ディレクトリ内に新規テキストファイルを作成し、ファイル名を「settings.gradle」に変更。
  • 「settings.gradle」を開いて、以下のように記述し保存。
  • (Eclipseの場合)includeFlat 'Project1','Project2'
    • この時、Project1フォルダとProject2フォルダは作業しているディレクトリと“同じ階層”に置くこと

作業フォルダ
Project1
Project2

  • (IDEAの場合)include 'Project1','Project2'
    • この時、Project1フォルダとProject2フォルダは作業しているディレクトリ“内”に置くこと

作業フォルダ
|-Project1
|-Project2

  • 各プロジェクトのディレクトリ内に新規テキストファイルを作成し、「build.gradle」という名称に変更。
  • 「build.gradle」を開いて、以下のように記述し保存。
tasks.withType(Compile) {
    options.encoding = 'UTF-8'//ソースファイル内に日本語を記述している場合はこのブロックが必須。
}
sourceSets.main {
    java.srcDirs project.projectDir.name
    resources.srcDirs project.projectDir.name
}
version = "1.0"
}
  • ソースファイル内に日本語が記述されている場合は、「build.gradle」に以下を追加。
tasks.withType(Compile) {options.encoding = 'UTF-8'}
  • 依存関係がある場合、外部jarをビルド時に読ませたい場合は、「build.gradle」に以下を追加。
    そして、そのプロジェクトのディレクトリ内に「lib」フォルダを作成。
dependencies { compile fileTree(dir: 'lib', include: '*.jar') }
  • マルチプロジェクト内の他のプロジェクトに依存している場合は、「build.gradle」に以下を追加。
dependencies { compile project(':ProjectName')}

MODのリリース

リリースビルド用バッチファイルの作成

  • ディレクトリ内に新規テキストファイルを作成し、中に「gradlew build --info > buildlog.txt 2>&1」と書いて保存。ファイル名を「Release.bat」に変更。
  • 今後、コンパイルを行う時はこの「Release.bat」を実行すれば、MCPでの「recompile.bat」「reobfuscate_srg.bat」を同時に行ってくれる
  • コンパイル中のログは、「buildlog.txt」に出力される
  • コンパイルされたclassファイルは、\build\libsディレクトリに圧縮された状態で出力される
    • 「build.gradle」を弄っていなければ、「modid-1.0.jar」として出力されている。"archivesBaseName"-"version".jarという書式

Eclipse で開発する場合は、プロジェクトファイルを開き、起動クラスの設定を行う 起動クラスの設定は*.launchwrapper.Launch、プログラムの引数として「--version 1.6 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker」を指定。

  • VM への引数として「-Xincgc -Xmx1024M -Xms1024M」を指定。
  • 作業ディレクトリに「${workspace_loc:(プロジェクト名)/jars}」を指定。GUI からワークスペースの jars ディレクトリを指定しても良い。
  • ワールド情報は jars/save の中に生成されるので、既存ワールドは適宜このディレクトリにコピーすること。一度ゲームを起動すれば jars ディレクトリ内に必要ディレクトリが作成される。

サーバ起動時のクラスは net.minecraft.server.MinecraftServer。 ビルドパスの修正

  • ForgeSrcのパスが不足している場合、C:\Users\ユーザー名\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.2-10.12.0.ビルド番号 に forgeSrc-1.7.2-10.12.0.ビルド番号.jar が存在する。添付ソースは末尾が「-source.jar」のファイルなので一緒に設定すると良い

IDEAで開発する場合、起動構成は開発ディレクトリ上でのコマンドプロンプトで「gradlew genIntellijRuns」と実行すれば自動的に構成できる。

Forgeのアップデート

Forgeの新しいビルドがアップデートされた時に、以下のようにして、開発環境のForgeをアップデートすることが出来る。

  • 「build.gradle」ファイルを開く。
  • 中程のminecraftブロック内の“version”を最新のビルドナンバーに書き換え、保存する。
  • 「install.bat」を実行。

参考:非公式フォーラム


自分のコメントを追加
Minecraft Modding Wikiはすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。