提供: Minecraft Modding Wiki
ModderKina (トーク | 投稿記録) (→MOD) |
(その他の場合の作業スペース処理を編集(2.3までと3+以降の処理の追加) |
||
(8人の利用者による、間の24版が非表示) | |||
1行目: | 1行目: | ||
− | |||
MinecraftForge9.11.1.960以降での開発環境構築手順です。 | MinecraftForge9.11.1.960以降での開発環境構築手順です。 | ||
6行目: | 5行目: | ||
**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に合わせてダウンロード | ||
20行目: | 21行目: | ||
===手順=== | ===手順=== | ||
;IDEAの場合 | ;IDEAの場合 | ||
− | :#Import | + | :#Import Projectから解凍したフォルダの中にあるbuild.gradleを開く |
:#読み込みを待った後、Gradleタブ(デフォルトで右側に存在)からsetupDecompWorkspaceを選択し実行する。 | :#読み込みを待った後、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と同じ流れ | ||
+ | |||
===マルチプロジェクトにする場合=== | ===マルチプロジェクトにする場合=== | ||
99行目: | 106行目: | ||
;Eclipseの場合 | ;Eclipseの場合 | ||
:ワークスペース/ | :ワークスペース/ | ||
− | |||
::src/ | ::src/ | ||
::build.gradle | ::build.gradle | ||
::settings.gradle | ::settings.gradle | ||
:Project1/ | :Project1/ | ||
− | |||
::src/ | ::src/ | ||
::build.gradle | ::build.gradle | ||
:Project2/ | :Project2/ | ||
− | |||
::src/ | ::src/ | ||
::build.gradle | ::build.gradle | ||
114行目: | 118行目: | ||
;IDEAの場合 | ;IDEAの場合 | ||
:ワークスペース/ | :ワークスペース/ | ||
− | |||
::src/ | ::src/ | ||
::build.gradle | ::build.gradle | ||
::settings.gradle | ::settings.gradle | ||
::Project1/ | ::Project1/ | ||
− | |||
:::src/ | :::src/ | ||
:::build.gradle | :::build.gradle | ||
::Project2/ | ::Project2/ | ||
− | |||
:::src/ | :::src/ | ||
:::build.gradle | :::build.gradle | ||
133行目: | 134行目: | ||
===デバッグ=== | ===デバッグ=== | ||
作成したMODのデバッグは、ForgeGradleを使うことで、1.6.4以前のMCP環境と同様に行うことが出来る。 | 作成したMODのデバッグは、ForgeGradleを使うことで、1.6.4以前のMCP環境と同様に行うことが出来る。 | ||
− | ; | + | ;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で開発する場合 |
− | + | ::::GradleタブからそれぞれのプロジェクトのrunClient,runServerを実行する。 | |
− | : | + | ;その他の場合 |
− | : | + | :;:単独プロジェクトの場合 |
− | + | ::::ワークスペースで<source lang="winbatch">gradlew runClient</source>をシェルから実行することでクライアントが立ち上がる。<br><source lang="winbatch">gradlew runServer</source>と実行すればサーバーが立ち上がる。 | |
− | + | :;:マルチプロジェクトの場合 | |
− | + | ::::ワークスペースで<source lang="winbatch">gradlew :<PROJECT NAME>:runClient</source>と実行するとプロジェクトのModとそれの依存するModのみが入った環境のクライアントが立ち上がる。<br><source lang="winbatch">gradlew :<PROJECT NAME>:runServer</source>とすれば、サーバーが立ち上がる。 | |
− | + | '''build.gradle内のrunDirに指定したディレクトリ(MDKのデフォルトでは"run")がプロジェクトディレクトリ以下に存在しないと,runClientおよびrunServerがエラーで実行できないので注意.''' | |
− | |||
− | |||
− | ビルドパスの修正 | ||
− | |||
− | |||
− | |||
===リリース=== | ===リリース=== | ||
− | + | ;シングルプロジェクトの場合 | |
− | + | :;:IDEAの場合 | |
− | + | ::::Gradleタブからbuildを選択し実行。 | |
− | <source lang=" | + | :;:その他の場合 |
− | + | ::::ワークスペースで<source lang="winbatch">gradlew build</source>とシェルから実行。成果物は\build\libs下に出力される | |
− | </source> | + | :::::「build.gradle」を弄っていなければ、「modid-1.0.jar」として出力されている。"archivesBaseName"-"version".jarという書式 |
− | + | ;マルチプロジェクトの場合 | |
− | + | :;:IDEAの場合 | |
− | + | ::::Gradleタブからビルドしたいプロジェクトのbuildを選択し実行。 | |
− | + | :;:その他の場合 | |
− | + | ::::ワークスペースで<source lang="winbatch">gradlew :<ProjectName>:build</source>とシェルから実行。成果物は各プロジェクトの\build\libs下に出力される | |
− | + | :::::「build.gradle」を弄っていなければ、「<ProjectName>-1.0.jar」として出力されている。"<ProjectName>"-"version".jarという書式 | |
− | |||
− | <source lang=" | ||
− | |||
− | </source> | ||
− | |||
− | |||
− | |||
− | |||
==Forgeのアップデート== | ==Forgeのアップデート== | ||
Forgeの新しいビルドがアップデートされた時に、以下のようにして、開発環境のForgeをアップデートすることが出来る。 | Forgeの新しいビルドがアップデートされた時に、以下のようにして、開発環境のForgeをアップデートすることが出来る。 | ||
− | + | #「build.gradle」ファイルを開く。 | |
− | + | #中程のminecraftブロック内の“version”を最新のビルドナンバーに書き換え、保存する。 | |
− | + | #「gradlew setupDecompWorkspace」を実行。 | |
− | |||
− | |||
==動画== | ==動画== | ||
203行目: | 188行目: | ||
===参考サイト=== | ===参考サイト=== | ||
− | [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494&start=320 非公式フォーラム] | + | *[http://mcforge.readthedocs.io/en/latest/gettingstarted/ Getting Started] |
− | [http://reginn666.hatenablog.com/entry/2013/12/25/031356 IDEA+Gradleでわいわい] | + | {{Warning}}以下古い情報を含みます。 |
− | [http://qiita.com/reginn666/items/d26717cf06ca17eb072c IntelliJ IDEAでModding] | + | *[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494&start=320 非公式フォーラム] |
− | [http://qiita.com/reginn666/items/b9f4a0a9f647d7034210 ForgeGradle+IDEAでマルチプロジェクト] | + | *[http://reginn666.hatenablog.com/entry/2013/12/25/031356 IDEA+Gradleでわいわい] |
+ | *[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) | ||
+ | ---- | ||
+ | * "MOD"の"開発"の欄についてですが、「ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し」のところを分かりやすく加筆できる方お願いします --[[特別:投稿記録/153.174.129.158|153.174.129.158]] 2018年2月12日 (月) 16:44 (JST) | ||
+ | ---- | ||
+ | * "MOD"の"開発"の欄についてですが、「ソースはプロジェクト/ワークスペースの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) |
2020年6月10日 (水) 06:16時点における最新版
MinecraftForge9.11.1.960以降での開発環境構築手順です。
目次
必要なもの[編集]
- MinecraftForgeのソースファイル
- http://files.minecraftforge.net/ から Mdk をダウンロード
- Forge-1.8-11.14.4 以前は Src 。
- Show All Downloadsからダウンロードしたいデータのリンクの右のiを押すと、adfoc.us(広告)を飛ばせます。
- JDK(JavaDevelopmentKit)
- http://www.oracle.com/technetwork/java/javase/downloads/index.html からPCに合わせてダウンロード
- 詳しくは「事前準備・MOD開発環境を作る」を参照。
- Java統合開発環境(IDE)※任意
Forge[編集]
前準備[編集]
- JDKのダウンロード、およびインストール
- Mod Development Kit (Mdk)のダウンロード、および解凍
手順[編集]
- IDEAの場合
-
- Import Projectから解凍したフォルダの中にあるbuild.gradleを開く
- 読み込みを待った後、Gradleタブ(デフォルトで右側に存在)からsetupDecompWorkspaceを選択し実行する。
- その他の場合
- ForgeGradle 2.3までの場合
-
- gradlewファイルが存在するディレクトリで
gradlew setupDecompWorkspace
をシェル上で実行する。 - しばらく待ち、「BUILD SUCCESSFUL」と表示されれば成功。
- 「BUILD FAILURE」と表示された場合は
gradlew --refresh-dependencies
を実行の後やり直す。
- 「BUILD FAILURE」と表示された場合は
- Eclipseの場合は、
gradlew eclipse
も併せて実行し、生成されるファイルからプロジェクトを開く。
- gradlewファイルが存在するディレクトリで
- ForgeGradle 3以降の場合
-
- gradlewファイルが存在するディレクトリで
gradlew genEclipseRuns
をシェル上で実行する。 - 以降は2.3の2と同じ流れ
- gradlewファイルが存在するディレクトリで
マルチプロジェクトにする場合[編集]
複数のMODを同じワークスペースで開発する場合のみ必要な工程です。
- build.gradleファイルを適当なテキストエディタで開き、build.gradle内の以下の部分
apply plugin: ... version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid" minecraft { version = ... runDir = ... mappings = ... }
を、次のように変更する。
allprojects { apply plugin: ... minecraft { version = ... runDir = ... mappings = ... } archivesBaseName = project.projectDir.name }
- build.gradleを同じディレクトリに「settings.gradle」ファイルを作成する。
- 「settings.gradle」を開いて、以下のように記述し保存。
- Eclipseの場合
includeFlat 'Project1','Project2'
- この時、Project1ディレクトリとProject2ディレクトリは以下に示すようにワークスペースと“同じ階層”に置くこと
- 親ディレクトリ
- ワークスペース/
- Project1/
- Project2/
- IDEAの場合
include 'Project1','Project2'
- この時、Project1ディレクトリとProject2ディレクトリは以下に示すようにワークスペース“内”に置くこと
- 親ディレクトリ
- ワークスペース/
- Project1/
- Project2/
- ワークスペース/
- 各プロジェクトのディレクトリ内に「build.gradle」ファイルを作成する。
- 「build.gradle」を開いて、以下のように記述し保存。
sourceSets.main { java.srcDirs project.projectDir.name resources.srcDirs project.projectDir.name } version = "1.0"//バージョン
- ソースに日本語が記述されている場合
- さらに以下を追加。
tasks.withType(Jar) {compileJava.options.encoding = 'UTF-8'}
- APIに日本語が記述されている場合
- さらに以下を追加。
tasks.withType(Jar) {compileApiJava.options.encoding = 'UTF-8'}
- 依存関係がある場合、外部jarをビルド時に読ませたい場合
-
- さらに以下を追加。
dependencies { compile fileTree(dir: 'lib', include: '*.jar') }
- そのプロジェクトのディレクトリ内に「lib」ディレクトリを作成。
- さらに以下を追加。
- マルチプロジェクト内の他のプロジェクトに依存している場合
- さらに以下を追加。
dependencies { compile project(':ProjectName')}
以上のようにすると、以下のようになる。
- Eclipseの場合
- ワークスペース/
- src/
- build.gradle
- settings.gradle
- Project1/
- src/
- build.gradle
- Project2/
- src/
- build.gradle
- IDEAの場合
- ワークスペース/
- src/
- build.gradle
- settings.gradle
- Project1/
- src/
- build.gradle
- Project2/
- src/
- build.gradle
MOD[編集]
開発[編集]
ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し、リソース類はプロジェクト/ワークスペースのsrc/main/resources/assets下に配置する。
リソースの配置の仕方は、1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所を参照のこと。
デバッグ[編集]
作成したMODのデバッグは、ForgeGradleを使うことで、1.6.4以前のMCP環境と同様に行うことが出来る。
- 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で開発する場合
-
- GradleタブからそれぞれのプロジェクトのrunClient,runServerを実行する。
- その他の場合
-
- 単独プロジェクトの場合
-
- ワークスペースで
gradlew runClient
をシェルから実行することでクライアントが立ち上がる。gradlew runServer
と実行すればサーバーが立ち上がる。
- ワークスペースで
- マルチプロジェクトの場合
-
- ワークスペースで
gradlew :<PROJECT NAME>:runClient
と実行するとプロジェクトのModとそれの依存するModのみが入った環境のクライアントが立ち上がる。gradlew :<PROJECT NAME>:runServer
とすれば、サーバーが立ち上がる。
- ワークスペースで
build.gradle内のrunDirに指定したディレクトリ(MDKのデフォルトでは"run")がプロジェクトディレクトリ以下に存在しないと,runClientおよびrunServerがエラーで実行できないので注意.
リリース[編集]
- シングルプロジェクトの場合
-
- IDEAの場合
-
- Gradleタブからbuildを選択し実行。
- その他の場合
-
- ワークスペースで
gradlew build
とシェルから実行。成果物は\build\libs下に出力される- 「build.gradle」を弄っていなければ、「modid-1.0.jar」として出力されている。"archivesBaseName"-"version".jarという書式
- ワークスペースで
- マルチプロジェクトの場合
-
- IDEAの場合
-
- Gradleタブからビルドしたいプロジェクトのbuildを選択し実行。
- その他の場合
-
- ワークスペースで
gradlew :<ProjectName>:build
とシェルから実行。成果物は各プロジェクトの\build\libs下に出力される- 「build.gradle」を弄っていなければ、「<ProjectName>-1.0.jar」として出力されている。"<ProjectName>"-"version".jarという書式
- ワークスペースで
Forgeのアップデート[編集]
Forgeの新しいビルドがアップデートされた時に、以下のようにして、開発環境のForgeをアップデートすることが出来る。
- 「build.gradle」ファイルを開く。
- 中程のminecraftブロック内の“version”を最新のビルドナンバーに書き換え、保存する。
- 「gradlew setupDecompWorkspace」を実行。
動画[編集]
リンク[編集]
以前のバージョンでの手順[編集]
- Minecraft1.2.5 Forge3.2.3.108以前
- Minecraft1.2.5 Forge3.3.7.135~Minecraft1.4.2 Forge6.0.1.341
- Minecraft1.4.4 Forge6.3.0.372~
- Minecraft1.4.6 Forge6.5.0.471~
- Minecraft1.6.1 Forge8.9.0.749~Minecraft1.6.4 Forge9.11.1.965(960-964は除く)
参考サイト[編集]
- eclipseの初回起動時のワークスペースの設定はどのようにすればいいのですか。 --153.174.129.158 2018年2月12日 (月) 16:50 (JST)
- "MOD"の"開発"の欄についてですが、「ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し」のところを分かりやすく加筆できる方お願いします --153.174.129.158 2018年2月12日 (月) 16:44 (JST)
- "MOD"の"開発"の欄についてですが、「ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し」のところを --153.174.129.158 2018年2月12日 (月) 16:43 (JST)
- PowerShell上では./gradlew setupDecompWorkspaceのように先頭に./をつけないと動かないんですね... --126.100.216.85 2017年10月2日 (月) 11:00 (JST)
- gradlew setupDecompWorkspaceを実行した時、:deobfuscateJar FAILEDで止まって、そのまま終わってしまいます。 どうするべきでしょうか? --175.28.219.127 2017年9月17日 (日) 10:37 (JST)
- 当たり前ですが、install.bat実行時に対応するバージョンのminecraftの.jarが無いと失敗します。実行前に一度でも対応バージョンのminecraftを起動しておく旨を記載した方がよろしいかと --122.251.218.248 2016年12月14日 (水) 18:09 (JST)
- マルチプロジェクトのほうの解説が少しわかりづらいのです --118.8.218.24 2016年7月23日 (土) 19:06 (JST)
- install.batが失敗したので調べたらgradle.propertiesファイルを作成して内容をorg.gradle.jvmargs=-Xmx2048Mと書いてgradlewと同じディレクトリに入れておいたら成功しました。 --115.36.144.125 2016年2月25日 (木) 07:04 (JST)
コメントの自動更新を有効化