提供: Minecraft Modding Wiki
移動先: 案内検索
(gradle用ページ仮作成)
 
(ForgeGradleの開発環境構築手順を詳しく書いてみました。)
1行目: 1行目:
 
{{stb}}
 
{{stb}}
Minecraft1.6.1以降で、MinecraftForge8.9.0.749以降を導入する場合の手順です。<br />
+
Minecraft1.7.2以降で、MinecraftForge10.12.0.967以降を導入する場合の手順です。<br />
 
;動作確認
 
;動作確認
:Minecraft1.6.1 Forge8.9.0.???
+
:Minecraft1.7.2 Forge10.12.0.???
  
 
*動作の確認は基本的にRecommended[推奨版]のみ。Latest[最新版]はForge自体の動作が保証されていません。
 
*動作の確認は基本的にRecommended[推奨版]のみ。Latest[最新版]はForge自体の動作が保証されていません。
13行目: 13行目:
 
*[[MinecraftForge導入手順6.3.0 |Minecraft1.4.4 Forge6.3.0.372~]]
 
*[[MinecraftForge導入手順6.3.0 |Minecraft1.4.4 Forge6.3.0.372~]]
 
*[[MinecraftForge導入手順6.5.0 |Minecraft1.4.6 Forge6.5.0.471~]]
 
*[[MinecraftForge導入手順6.5.0 |Minecraft1.4.6 Forge6.5.0.471~]]
*[[MinecraftForge導入手順(MCP)|Minecraft1.6.1 Forge8.9.0.749~]]
+
*[[MinecraftForge導入手順(MCP)|Minecraft1.6.1 Forge8.9.0.749~Minecraft1.6.4 Forge9.11.1.965(960-964は除く)]]
  
 
==必要なもの==
 
==必要なもの==
24行目: 24行目:
 
#[http://www.oracle.com/technetwork/java/javase/downloads/index.html JDKをダウンロード]し、インストールする。環境変数設定を忘れずに。
 
#[http://www.oracle.com/technetwork/java/javase/downloads/index.html JDKをダウンロード]し、インストールする。環境変数設定を忘れずに。
  
==環境構築手順==
+
==環境構築手順(install.bat作成まで)==
<hr>
+
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内の以下の部分
 +
<source lang="groovy">
 +
apply plugin: 'forge'
  
#Forge の src を展開し、install.cmd を実行する。
+
version = "1.0"
#*mcp も .minecraft ディレクトリからのコピーも server の jar も何もかも必要なし。
+
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
#暫く待つと mcp ディレクトリ内に必要なファイルが生成される。
+
archivesBaseName = "modid"
#*rsync(Windows なら cygwin)などで既存環境へ mcp/src, mcp/jars をコピーすると楽。
 
#*lib ディレクトリは空っぽになってしまった(jars/libraries に移動した)ので中身を削除。
 
#*Eclipse で開発する場合は、mcp/eclipse/Minecraft/.classpath の中身に従って、リンクするライブラリを指定(プロジェクトのプロパティ→ライブラリー)する。ファイル数が多い(1.6.1 の時点で 20 個)ので注意。
 
#*jinput と lwjgl, lwjgl_util は ネイティブの DLL が必要なので、jars/versions/1.6.1/1.6.1-natives を「ネイティブ・ライブラリーのロケーション」に指定すること。
 
#Eclipse からのゲーム起動は今までの Start クラスから net.minecraft.launchwrapper.Launch に変更されたので注意。
 
#*起動クラスを net.minecraft.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。
 
  
==環境構築手順(1.7.2)==
+
minecraft {
#Forge の src を展開する
+
    version = "1.7.2-10.12.0.1024"//DLした時のForgeのバージョン
#gradlew.batをメモ帳等で開き、JDKのパスをショートネームで追記しておく(12~18行目あたりのset ***が並んでる付近でよい)
+
    assetDir = "eclipse/assets"
#*set JAVA_HOME=C:\PROGRA~1\Java\jdk1.7.0_51
+
}
#*ショートネームがわからなければ、コマンドプロンプトで「dir /x C:\」と打てば表示される。「Program Files」は「PROGRA~1」など
+
</source>
#インストール用バッチファイルの作成
+
を、次のように変更する。
#*ディレクトリ内に新規テキストファイルを作成し、中に「gradlew setupDecompWorkspace eclipse」と書いて保存。ファイル名を「Install.bat」に変更して完成。
+
<source lang="groovy">
#Install.batを実行する。暫く待つと ディレクトリ内に必要なファイルが生成される。
+
allprojects {
#*Eclipceのファイル「.project」と「.classpath」が作成されていれば成功。
+
    apply plugin: 'forge'
#*失敗していたら「gradlew --refresh-dependencies」を実行させて依存ファイルの再作成を行わせ、再度install.batを実行してみること。
 
#リリースビルド用バッチファイルの作成
 
#*ディレクトリ内に新規テキストファイルを作成し、中に「gradlew build --info > buildlog.txt 2>&1」と書いて保存。ファイル名を「Release.bat」に変更。
 
#*今後、コンパイルを行う時はこの「Release.bat」を実行すれば、MCPでの「recompile.bat」「reobfuscate_srg.bat」を同時に行ってくれる
 
#*コンパイル中のログは、「buildlog.txt」に出力される
 
#*コンパイルされたclassファイルは、\build\libsディレクトリの「modid-1.0.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」のファイルなので一緒に設定すると良い
 
  
 +
    minecraft {
 +
        version = "1.7.2-10.12.0.1024"
 +
assetDir = "eclipse/assets"
 +
    }
 +
 +
    version = "1.0"//各プロジェクトで指定するだろうし、無くてもよい。
 +
 +
    archivesBaseName = project.projectDir.name
 +
}
 +
</source>
 +
*ディレクトリ内に新規テキストファイルを作成し、ファイル名を「settings.gradle」に変更。
 +
*「settings.gradle」を開いて、以下のように記述し保存。
 +
*(Eclipseの場合)includeFlat 'Project1','Project2'
 +
**この時、Project1フォルダとProject2フォルダは作業しているディレクトリと“同じ階層”に置くこと
 +
作業フォルダ<br />Project1<br />Project2
 +
*(IDEAの場合)include 'Project1','Project2'
 +
**この時、Project1フォルダとProject2フォルダは作業しているディレクトリ“内”に置くこと
 +
作業フォルダ<br />|-Project1<br />|-Project2
 +
*各プロジェクトのディレクトリ内に新規テキストファイルを作成し、「build.gradle」という名称に変更。
 +
*「build.gradle」を開いて、以下のように記述し保存。
 +
<source lang="groovy">
 +
tasks.withType(Compile) {
 +
    options.encoding = 'UTF-8'//ソースファイル内に日本語を記述している場合はこのブロックが必須。
 +
}
 +
sourceSets.main {
 +
    java.srcDirs project.projectDir.name
 +
    resources.srcDirs project.projectDir.name
 +
}
 +
version = "1.0"
 +
}
 +
</source>
 +
*ソースファイル内に日本語が記述されている場合は、「build.gradle」に以下を追加。
 +
<source lang="groovy">
 +
tasks.withType(Compile) {options.encoding = 'UTF-8'}
 +
</source>
 +
*依存関係がある場合、外部jarをビルド時に読ませたい場合は、「build.gradle」に以下を追加。<br />そして、そのプロジェクトのディレクトリ内に「lib」フォルダを作成。
 +
<source lang="groovy">
 +
dependencies { compile fileTree(dir: 'lib', include: '*.jar') }
 +
</source>
 +
*マルチプロジェクト内の他のプロジェクトに依存している場合は、「build.gradle」に以下を追加。
 +
<source lang="groovy">
 +
dependencies { compile project(':ProjectName')}
 +
</source>
 +
==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」を実行。
 
[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494&start=320 参考:非公式フォーラム]
 
[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494&start=320 参考:非公式フォーラム]
  
 
<comments />
 
<comments />

2014年3月17日 (月) 23:49時点における版

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

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

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


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

必要なもの

前準備

基本は、「事前準備・MOD開発環境を作る」に準じています。
初めて導入する場合、上記ページで詳しく解説しているのでそちらへ。ここでは簡単に手順だけ書きます。

  1. JDKをダウンロードし、インストールする。環境変数設定を忘れずに。

環境構築手順(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はすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。