平台
Fabric 模組
用 Codexe 製作 Fabric 模組:需求要寫什麼、Minecraft 與載入器版本、Gradle/Loom 建置如何運作(1.20.1 目標使用 Java 21)、mixin 和常見問題。
更新於
Fabric 是一個輕量的模組載入器,通常很快就會支援新的 Minecraft 版本。Codexe 會產生一個使用 Fabric Loom 插件的完整 Gradle 專案。
#需求要寫什麼
- Minecraft 版本:「Fabric for 1.20.1」、「1.21.1」。沒寫的話會使用 1.20.1。
- 模組要加入什麼:方塊、物品、實體、指令、快捷鍵、HUD 元素。行為請描述得精確一點。
- 用戶端或伺服器:說明它是只在用戶端(HUD、快捷鍵)、只在伺服器,還是兩邊都要。
- 相依套件:已內含 Fabric API。其他的請寫出名稱(Cloth Config、Mod Menu……)。
A Fabric mod for 1.21.1: a "Magnet" item that pulls nearby dropped items to the player within 8 blocks while held in the offhand. Toggle with a keybind (default M). Crafting: iron ingots around a redstone block. English lang file and item model.#Codexe 會產生什麼
build.gradle、gradle.properties(Minecraft、Yarn、載入器和 Fabric API 的版本)以及settings.gradle。- 依執行環境拆分進入點(
main、client)的fabric.mod.json。 - 功能需要時,還有 Mixin 設定和類別。
- 資源:語言檔、模型、暫用材質。
#建置如何運作
- Codexe 會固定使用穩定版的 Loom(舊的
-SNAPSHOT版本會從 Fabric 的儲存庫消失,導致建置失敗)。 - 如果指定的載入器、Yarn 或 Fabric API 版本不存在,Codexe 會換成該 Minecraft 版本實際存在的版本。
- Loom 需要 Java 21 執行環境才能執行 Gradle。對於 1.20.1 的模組(目標是 Java 17),Codexe 會用 Java 21 執行 Gradle,但你的模組仍然是以 Java 17 編譯。這個 JAR 可以在 Java 17 的伺服器上使用。
第一次建置模組會比較久(常常要好幾分鐘):Loom 會下載 Minecraft 和映射檔。模組建置超過 10 分鐘就會停止。
#驗證
模組在變成就緒之前會先編譯,而且 JAR 裡必須有 fabric.mod.json(或 quilt.mod.json)。編譯成功只證明它能建置,不代表執行時不會當掉,所以請在用戶端裡測試。
#常見問題
| 症狀 | 可能的原因 |
|---|---|
| 在專用伺服器上當掉,訊息提到用戶端類別 | 只屬於用戶端的程式碼放在 main 進入點裡。請在聊天中要求把它移到 client 進入點。 |
| 「Incompatible mods found」、Minecraft 版本不對 | 模組針對的 Minecraft 版本和你的遊戲不同。請寫出確切的版本。 |
| 執行時找不到 Fabric API | 把 Fabric API 和模組一起放進 mods/。 |