平台
Fabric 模组
用 Codexe 制作 Fabric 模组:需求中该写什么、Minecraft 和加载器版本、Gradle/Loom 构建如何工作(1.20.1 目标使用 Java 21)、Mixin 和常见问题。
更新于
Fabric 是一个轻量级的模组加载器,通常能很快支持新的 Minecraft 版本。Codexe 会使用 Fabric 的 Loom 插件生成一个完整的 Gradle 项目。
#需求中该写什么
- Minecraft 版本:“Fabric 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/。 |