這篇文章說明如何設定Minecraft Java版1.12的forge模組開發環境。
先備知識:
- 熟悉Java語法
- 會安裝forge模組
- 有英文google的能力
步驟目錄#
- 安裝JDK
- 安裝IntelliJ IDE
- 設定第一個專案
- 開啟遊戲實例測試
- 打包成jar檔案在實際遊戲中測試
1.安裝JDK#
- 到
AdoptOpenJDK下載Open JDK 8 (LTS)。安裝到Windows。這個安裝程式會自動設定好環境變數,因此在Powershell或命令提示字元輸入
java -version
應會得到以下結果:
openjdk version "1.8.0_302"
- 這裡安裝的是JDK。如果需要JRE,請下載 Orcale的。
2.安裝IntelliJ IDE#
到 IntelliJ的網站下載IntelliJ,下載黑色的Community版本。
安裝時勾選全部選項。以下將IntelliJ簡稱為IDEA。
3.設定第一個專案#
到 Forge的網站下載1.12 Recommended的MDK。
解壓縮,會得到一個
forge-1.12-14.21.1.2387-mdk
資料夾,這個是官方準備的範本檔案,可以直接用這個開發模組。開啟IDEA,點選
Open
,選取剛剛解壓縮的資料夾。
開啟後,按Trust Project
。剛開啟時,IDEA左下方的Sync會開始初始化,跑完會發現Gradle版本太舊了因此創建失敗。
按照提示點選Update Gradle,讓IDEA更新Gradle版本。
開啟
build.gradle
,在第14行找到以下這段
version = "1.0"
group = "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"
這是要修改的地方,關乎到之後輸出檔案的內容。
version
通常會寫成遊戲版本號-模組版本號
。
group則為網站名稱倒著寫.模組名稱
,沒有網站就用email。
archiveBaseName為模組的識別符,此時就要想好一串英文字。 例如修改成以下這樣:
version = "1.12-0.0.1"
group = "net.mcbedev.tutorialmod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "netmctutorialmod"
- 開啟
src/main/resources
,開啟mcmod.info
:
modid
跟剛剛build.gradle裡面archiveBaseName填一樣。name
給模組取個正式名字。authorlist
填入自己的名字。
修改範例:
[
{
"modid": "netmctutorialmod",
"name": "Tutorial Mod",
"description": "Tutorial Mod",
"version": "${version}",
"mcversion": "${mcversion}",
"url": "",
"updateUrl": "",
"authorList": ["Ivon852"],
"credits": "",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]
對
java/com.example.examplemod
資料夾點右鍵,按下Refactor
→Rename
,將com.example.examplemod
改成group名稱,例如net.mcbedev.tutorialmod
。這就是你的package,裡面已經有範例程式。至此一個空白的模組就完成了。
大部分的模組主程式檔案都位於src/main/java
下。
4.開啟遊戲實例測試#
按一下底部的
Terminal
,輸入gradlew runClient
(如果是Powershell要在前面加上./
)
這樣會開啟Minecraft實例,資料都儲存在這個專案資料夾,而不是Minecraft啟動器。你製作的模組也會載入,可在已啟用的模組列表看到。
5.打包成jar檔案在實際遊戲中測試#
按一下左邊的
Gradle
,展開Task
裡面的build
,按二下build
就會開始打包。打包好的檔案會儲存在
專案資料夾build/libs
,將這個jar檔像一般Minecraft模組一樣丟到mods資料夾,再從Minecraft啟動器開啟Minecraft。