平台
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 之外注册的。请让聊天把它们移过去。 |
| 单人游戏正常,在服务器上崩溃 | 通用代码中引用了仅限客户端的类。 |