提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 +
{{stb}}
 
MinecraftForge9.11.1.960以降での開発環境構築手順です。
 
MinecraftForge9.11.1.960以降での開発環境構築手順です。
  
4行目: 5行目:
 
*MinecraftForgeのソースファイル
 
*MinecraftForgeのソースファイル
 
**http://files.minecraftforge.net/ から Mdk をダウンロード
 
**http://files.minecraftforge.net/ から Mdk をダウンロード
**Forge-1.8-11.14.4 以前は '''Src''' 。
+
**Forge-1.8-11.14.4 以前は ''Src''' 。
**Show All Downloadsからダウンロードしたいデータのリンクの右のiを押すと、adfoc.us(広告)を飛ばせます。
 
 
 
 
*JDK(JavaDevelopmentKit)
 
*JDK(JavaDevelopmentKit)
 
**http://www.oracle.com/technetwork/java/javase/downloads/index.html からPCに合わせてダウンロード
 
**http://www.oracle.com/technetwork/java/javase/downloads/index.html からPCに合わせてダウンロード
21行目: 20行目:
 
===手順===
 
===手順===
 
;IDEAの場合
 
;IDEAの場合
:#Import Projectから解凍したフォルダの中にあるbuild.gradleを開く
+
:#Import Projectからbuild.gradleを開く
:#読み込みを待った後、Gradleタブ(デフォルトで右側に存在)からsetupDecompWorkspaceを選択し実行する。
 
 
;その他の場合
 
;その他の場合
; ForgeGradle 2.3までの場合
 
 
:#gradlewファイルが存在するディレクトリで<source lang="winbatch">gradlew setupDecompWorkspace</source>をシェル上で実行する。
 
:#gradlewファイルが存在するディレクトリで<source lang="winbatch">gradlew setupDecompWorkspace</source>をシェル上で実行する。
 
:#しばらく待ち、「BUILD SUCCESSFUL」と表示されれば成功。
 
:#しばらく待ち、「BUILD SUCCESSFUL」と表示されれば成功。
 
:##「BUILD FAILURE」と表示された場合は<source lang="winbatch">gradlew --refresh-dependencies</source>を実行の後やり直す。
 
:##「BUILD FAILURE」と表示された場合は<source lang="winbatch">gradlew --refresh-dependencies</source>を実行の後やり直す。
 
:#Eclipseの場合は、<source lang="winbatch">gradlew eclipse</source>も併せて実行し、生成されるファイルからプロジェクトを開く。
 
:#Eclipseの場合は、<source lang="winbatch">gradlew eclipse</source>も併せて実行し、生成されるファイルからプロジェクトを開く。
 
; ForgeGradle 3以降の場合
 
:#gradlewファイルが存在するディレクトリで<source lang="winbatch">gradlew genEclipseRuns</source>をシェル上で実行する。
 
:#以降は2.3の2と同じ流れ
 
 
  
 
===マルチプロジェクトにする場合===
 
===マルチプロジェクトにする場合===
106行目: 98行目:
 
;Eclipseの場合
 
;Eclipseの場合
 
:ワークスペース/
 
:ワークスペース/
 +
::.gradle/
 
::src/
 
::src/
 
::build.gradle
 
::build.gradle
 
::settings.gradle
 
::settings.gradle
 
:Project1/
 
:Project1/
 +
::.gradle/
 
::src/
 
::src/
 
::build.gradle
 
::build.gradle
 
:Project2/
 
:Project2/
 +
::.gradle/
 
::src/
 
::src/
 
::build.gradle
 
::build.gradle
118行目: 113行目:
 
;IDEAの場合
 
;IDEAの場合
 
:ワークスペース/
 
:ワークスペース/
 +
::.gradle/
 
::src/
 
::src/
 
::build.gradle
 
::build.gradle
 
::settings.gradle
 
::settings.gradle
 
::Project1/
 
::Project1/
 +
:::.gradle/
 
:::src/
 
:::src/
 
:::build.gradle
 
:::build.gradle
 
::Project2/
 
::Project2/
 +
:::.gradle/
 
:::src/
 
:::src/
 
:::build.gradle
 
:::build.gradle
130行目: 128行目:
 
==MOD==
 
==MOD==
 
===開発===
 
===開発===
ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し、リソース類はプロジェクト/ワークスペースのsrc/main/resources/assets下に配置する。<br />
+
この環境下でMODをビルドしたい場合、単独プロジェクトの場合は、開発環境の作業ディレクトリに<br />
リソースの配置の仕方は、[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。
+
src/main/java<br />
 +
という階層でディレクトリを作成し、javaディレクトリ内に、自身のMODのパッケージに有ったディレクトリ構成でsourceファイルを配置すればよい。<br />
 +
画像や音声ファイル等のリソースファイルは<br />
 +
src/main/resources/assets<br />
 +
という階層でディレクトリを作成し、assetsディレクトリ内に指定されたディレクトリ構成でファイルを配置すればよい。
 +
リソースファイルの配置の仕方は、[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。
 +
*マルチプロジェクトの場合
 +
各プロジェクトディレクトリ内に、上のディレクトリ構成でファイルを配置する。
 
===デバッグ===
 
===デバッグ===
 
作成したMODのデバッグは、ForgeGradleを使うことで、1.6.4以前のMCP環境と同様に行うことが出来る。
 
作成したMODのデバッグは、ForgeGradleを使うことで、1.6.4以前のMCP環境と同様に行うことが出来る。
;IDE上でデバッグする場合
+
*単独プロジェクトの場合
:;:Eclipse で開発する場合
+
作業ディレクトリ内に新規テキストファイルを作成し、中に以下のコードを書いて保存。ファイル名を「RunClient.bat」に変更する。
:::#プロジェクトファイルを開き、起動クラスの設定を行う
+
<source lang="winbatch">
:::##起動クラスの設定はクライアントの場合GradleStart、サーバはGradleStartServer。プログラムの引数は空で良いが、「-username=<任意の文字列>」を指定しておくと、マルチプレイのテスト時にOPを付与しなおす必要がなくなる。
+
call gradlew runClient
:::##VM への引数として「-Xincgc -Xmx1024M -Xms1024M」を指定。(非力なマシンでデバッグする場合は適宜変更のこと)
+
pause
:::##作業ディレクトリに「${workspace_loc:(プロジェクト名)/jars}」を指定。GUI からワークスペースの jars ディレクトリを指定しても良い。
+
</source>
:::##ワールド情報は jars/save の中に生成されるので、既存ワールドは適宜このディレクトリにコピーすること。一度ゲームを起動すれば jars ディレクトリ内に必要ディレクトリが作成される。
+
作業ディレクトリ内に新規テキストファイルを作成し、中に以下のコードを書いて保存。ファイル名を「RunServer.bat」に変更する。
:::#ビルドパスの修正
+
<source lang="winbatch">
:::##ForgeSrcのパスが不足している場合、C:\Users\ユーザー名\.gradle\caches\minecraft\net\minecraftforge\forge\(Forgeバージョン) に forgeSrc-(Forgeバージョン).jar が存在する。添付ソースは末尾が「-source.jar」のファイルなので一緒に設定すると良い
+
call gradlew runServer
:;:IDEAで開発する場合
+
pause
::::GradleタブからそれぞれのプロジェクトのrunClient,runServerを実行する。
+
</source>
;その他の場合
+
*'''build.gradle内のrunDirに指定したディレクトリ(MDKのデフォルトでは"run")がプロジェクトディレクトリ以下に存在しないと,runClientおよびrunServerがエラーで実行できないので注意.'''
:;:単独プロジェクトの場合
+
*マルチプロジェクトの場合
::::ワークスペースで<source lang="winbatch">gradlew runClient</source>をシェルから実行することでクライアントが立ち上がる。<br><source lang="winbatch">gradlew runServer</source>と実行すればサーバーが立ち上がる。
+
作業ディレクトリ(プロジェクトディレクトリではない)内に新規テキストファイルを作成し、中に以下のコードを書いて保存。ファイル名を「RunClient.bat」に変更する。
:;:マルチプロジェクトの場合
+
<source lang="winbatch">
::::ワークスペースで<source lang="winbatch">gradlew :<PROJECT NAME>:runClient</source>と実行するとプロジェクトのModとそれの依存するModのみが入った環境のクライアントが立ち上がる。<br><source lang="winbatch">gradlew :<PROJECT NAME>:runServer</source>とすれば、サーバーが立ち上がる。
+
call gradlew :<PROJECT NAME>:runClient
'''build.gradle内のrunDirに指定したディレクトリ(MDKのデフォルトでは"run")がプロジェクトディレクトリ以下に存在しないと,runClientおよびrunServerがエラーで実行できないので注意.'''
+
pause
 +
</source>
 +
作業ディレクトリ(プロジェクトディレクトリではない)内に新規テキストファイルを作成し、中に以下のコードを書いて保存。ファイル名を「RunServer.bat」に変更する。
 +
<source lang="winbatch">
 +
call gradlew :<PROJECT NAME>:runServer
 +
pause
 +
</source>
 +
*IDE上でデバッグする場合
 +
Eclipse で開発する場合は、プロジェクトファイルを開き、起動クラスの設定を行う
 +
*起動クラスの設定はクライアントの場合GradleStart、サーバはGradleStartServer。プログラムの引数は空で良いが、「-username=<任意の文字列>」を指定しておくと、マルチプレイのテスト時にOPを付与しなおす必要がなくなる。
 +
*VM への引数として「-Xincgc -Xmx1024M -Xms1024M」を指定。(非力なマシンでデバッグする場合は適宜変更のこと)
 +
*作業ディレクトリに「${workspace_loc:(プロジェクト名)/jars}」を指定。GUI からワークスペースの jars ディレクトリを指定しても良い。
 +
*ワールド情報は jars/save の中に生成されるので、既存ワールドは適宜このディレクトリにコピーすること。一度ゲームを起動すれば jars ディレクトリ内に必要ディレクトリが作成される。
 +
ビルドパスの修正
 +
*ForgeSrcのパスが不足している場合、C:\Users\ユーザー名\.gradle\caches\minecraft\net\minecraftforge\forge\(Forgeバージョン) に forgeSrc-(Forgeバージョン).jar が存在する。添付ソースは末尾が「-source.jar」のファイルなので一緒に設定すると良い
 +
 
 +
IDEAで開発する場合、起動構成は開発ディレクトリ上でのコマンドプロンプトで「gradlew genIntellijRuns」と実行すれば自動的に構成できる。
  
 
===リリース===
 
===リリース===
;シングルプロジェクトの場合
+
リリースビルド用バッチファイルの作成<br />
:;:IDEAの場合
+
(シングルプロジェクト用)
::::Gradleタブからbuildを選択し実行。
+
*作業ディレクトリ内に新規テキストファイルを作成し、中に以下のコードを書いて保存。ファイル名を「Release.bat」に変更する。
:;:その他の場合
+
<source lang="text">
::::ワークスペースで<source lang="winbatch">gradlew build</source>とシェルから実行。成果物は\build\libs下に出力される
+
call gradlew build --info > buildlog.txt 2>&1
:::::「build.gradle」を弄っていなければ、「modid-1.0.jar」として出力されている。"archivesBaseName"-"version".jarという書式
+
</source>
;マルチプロジェクトの場合
+
*今後、コンパイルを行う時はこの「Release.bat」を実行すれば、MCPでの「recompile.bat」「reobfuscate_srg.bat」を同時に行ってくれる
:;:IDEAの場合
+
*コンパイル中のログは、「buildlog.txt」に出力される
::::Gradleタブからビルドしたいプロジェクトのbuildを選択し実行。
+
*コンパイルされたclassファイルは、\build\libsディレクトリに圧縮された状態で出力される
:;:その他の場合
+
**「build.gradle」を弄っていなければ、「modid-1.0.jar」として出力されている。"archivesBaseName"-"version".jarという書式
::::ワークスペースで<source lang="winbatch">gradlew :<ProjectName>:build</source>とシェルから実行。成果物は各プロジェクトの\build\libs下に出力される
+
 
:::::「build.gradle」を弄っていなければ、「<ProjectName>-1.0.jar」として出力されている。"<ProjectName>"-"version".jarという書式
+
(マルチプロジェクト用)
 +
*作業ディレクトリ内に新規テキストファイルを作成し、中に以下のコードを書いて保存。ファイル名を「Release-<ProjectName>.bat」に変更する。
 +
<source lang="text">
 +
call gradlew :<ProjectName>:build --info > build-<ProjectName>-log.txt 2>&1
 +
</source>
 +
*今後、<ProjectName>のプロジェクトのコンパイルを行う時はこの「Release-<ProjectName>.bat」を実行すれば、MCPでの「recompile.bat」「reobfuscate_srg.bat」を同時に行ってくれる
 +
*コンパイル中のログは、「build-<ProjectName>-log.txt」に出力される
 +
*コンパイルされたclassファイルは、\build\libsディレクトリに圧縮された状態で出力される
 +
**マルチプロジェクト用「build.gradle」を弄っていなければ、「<ProjectName>-1.0.jar」として出力されている。"<ProjectName>"-"version".jarという書式
  
 
==Forgeのアップデート==
 
==Forgeのアップデート==
 
Forgeの新しいビルドがアップデートされた時に、以下のようにして、開発環境のForgeをアップデートすることが出来る。
 
Forgeの新しいビルドがアップデートされた時に、以下のようにして、開発環境のForgeをアップデートすることが出来る。
#「build.gradle」ファイルを開く。
+
*「build.gradle」ファイルを開く。
#中程のminecraftブロック内の“version”を最新のビルドナンバーに書き換え、保存する。
+
*中程のminecraftブロック内の“version”を最新のビルドナンバーに書き換え、保存する。
#「gradlew setupDecompWorkspace」を実行。
+
*「install.bat」を実行。
 +
<del>(注意)マルチプロジェクトをしている場合は、setupDevWorkspaceとsetupDecompWorkspaceを全てのプロジェクトで自動で行うが、setupDecompWorkspaceは大元のプロジェクトで行えば十分なので、「install.bat」の中身の「setupDecompWorkspace」を「:setupDecompWorkspace」に置き換えたほうが、作業が捗り、decomp時のJava heapエラーに悩まされることもなくなる。</del>
 +
(1.7.10以降なら、そのままでも重複タスクはスキップされるので、Java heap エラーは起きにくくなった。)
  
 
==動画==
 
==動画==
188行目: 219行目:
  
 
===参考サイト===
 
===参考サイト===
*[http://mcforge.readthedocs.io/en/latest/gettingstarted/ Getting Started]
+
[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494&start=320 非公式フォーラム]<br />
{{Warning}}以下古い情報を含みます。
+
[http://reginn666.hatenablog.com/entry/2013/12/25/031356 IDEA+Gradleでわいわい]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494&start=320 非公式フォーラム]
+
[http://qiita.com/reginn666/items/d26717cf06ca17eb072c IntelliJ IDEAでModding]<br />
*[http://reginn666.hatenablog.com/entry/2013/12/25/031356 IDEA+Gradleでわいわい]
+
[http://qiita.com/reginn666/items/b9f4a0a9f647d7034210 ForgeGradle+IDEAでマルチプロジェクト]
*[http://qiita.com/reginn666/items/d26717cf06ca17eb072c IntelliJ IDEAでModding]
 
*[http://qiita.com/reginn666/items/b9f4a0a9f647d7034210 ForgeGradle+IDEAでマルチプロジェクト]
 
  
 
<comments />
 
<comments />
----
 
* eclipseの初回起動時のワークスペースの設定はどのようにすればいいのですか。 --[[特別:投稿記録/153.174.129.158|153.174.129.158]] 2018年2月12日 (月) 16:50 (JST)
 
----
 
* &quot;MOD&quot;の&quot;開発&quot;の欄についてですが、「ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し」のところを分かりやすく加筆できる方お願いします --[[特別:投稿記録/153.174.129.158|153.174.129.158]] 2018年2月12日 (月) 16:44 (JST)
 
----
 
* &quot;MOD&quot;の&quot;開発&quot;の欄についてですが、「ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し」のところを --[[特別:投稿記録/153.174.129.158|153.174.129.158]] 2018年2月12日 (月) 16:43 (JST)
 
----
 
* PowerShell上では./gradlew setupDecompWorkspaceのように先頭に./をつけないと動かないんですね... --[[特別:投稿記録/126.100.216.85|126.100.216.85]] 2017年10月2日 (月) 11:00 (JST)
 
----
 
* gradlew setupDecompWorkspaceを実行した時、:deobfuscateJar FAILEDで止まって、そのまま終わってしまいます。 どうするべきでしょうか? --[[特別:投稿記録/175.28.219.127|175.28.219.127]] 2017年9月17日 (日) 10:37 (JST)
 
 
----
 
----
 
* 当たり前ですが、install.bat実行時に対応するバージョンのminecraftの.jarが無いと失敗します。実行前に一度でも対応バージョンのminecraftを起動しておく旨を記載した方がよろしいかと --[[特別:投稿記録/122.251.218.248|122.251.218.248]] 2016年12月14日 (水) 18:09 (JST)
 
* 当たり前ですが、install.bat実行時に対応するバージョンのminecraftの.jarが無いと失敗します。実行前に一度でも対応バージョンのminecraftを起動しておく旨を記載した方がよろしいかと --[[特別:投稿記録/122.251.218.248|122.251.218.248]] 2016年12月14日 (水) 18:09 (JST)

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート: