跳到主要內容
平台

Forge 模組

用 Codexe 製作 Forge(和 NeoForge)模組:版本、需求要寫什麼、ForgeGradle 建置、mods.toml 和常見問題。

更新於

本頁內容
  1. 需求要寫什麼
  2. Codexe 會產生什麼
  3. 建置與驗證
  4. 常見問題

Forge 是歷史悠久的模組載入器,擁有龐大的事件匯流排和註冊系統。Codexe 會產生一個使用 ForgeGradle 的完整 Gradle 專案。

#需求要寫什麼

  • Minecraft 和 Forge 版本:「Forge 1.20.1」。沒寫的話會使用 Minecraft 1.20.1 搭配 Forge 47。
  • NeoForge:如果你要 NeoForge(1.20.2 以上),請明確說出來。Codexe 能辨識 NeoForge 專案,並用對應的 Gradle 設定來建置。
  • 內容:物品、方塊、實體、創造模式分頁、配方、設定,以及有沒有東西是在用戶端執行的。
Text
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 註冊的。請在聊天中要求把它們移過去。
單人遊戲正常,在伺服器上卻當掉共用程式碼引用了只屬於用戶端的類別。
Forge 模組 | Codexe Docs