平台
Forge 模組
用 Codexe 製作 Forge(和 NeoForge)模組:版本、需求要寫什麼、ForgeGradle 建置、mods.toml 和常見問題。
更新於
Forge 是歷史悠久的模組載入器,擁有龐大的事件匯流排和註冊系統。Codexe 會產生一個使用 ForgeGradle 的完整 Gradle 專案。
#需求要寫什麼
- Minecraft 和 Forge 版本:「Forge 1.20.1」。沒寫的話會使用 Minecraft 1.20.1 搭配 Forge 47。
- NeoForge:如果你要 NeoForge(1.20.2 以上),請明確說出來。Codexe 能辨識 NeoForge 專案,並用對應的 Gradle 設定來建置。
- 內容:物品、方塊、實體、創造模式分頁、配方、設定,以及有沒有東西是在用戶端執行的。
A Forge 1.20.1 mod: adds a "Copper Hammer" tool (durability 250) that mines a 3x3 area of stone-type blocks. Crafted from copper ingots and sticks. Registered with DeferredRegister, added to the Tools creative tab, English lang file.#Codexe 會產生什麼
- 帶有正確 ForgeGradle 和 Gradle 版本的
build.gradle、gradle.properties和settings.gradle。 - 宣告模組 ID、載入器版本範圍和相依套件的
META-INF/mods.toml(或neoforge.mods.toml)。 @Mod進入類別、DeferredRegister註冊表和事件訂閱者。- 資源:語言檔、模型、暫用材質。
#建置與驗證
模組在變成就緒之前會先編譯,而且 JAR 裡必須有 mods.toml、neoforge.mods.toml 或 mcmod.info。Java 版本依 Minecraft 版本決定(1.20.5 之前用 17,1.20.5 起用 21)。第一次建置會下載 Forge 工具鏈,可能要好幾分鐘。模組建置超過 10 分鐘就會停止。
#常見問題
| 症狀 | 可能的原因 |
|---|---|
| 「Mod file … needs language provider javafml」 | mods.toml 裡的載入器版本範圍和你的 Forge 版本不符。請寫出確切的 Forge 版本。 |
| 啟動時出現註冊表錯誤 | 有物件不是透過 DeferredRegister 註冊的。請在聊天中要求把它們移過去。 |
| 單人遊戲正常,在伺服器上卻當掉 | 共用程式碼引用了只屬於用戶端的類別。 |