跳到正文
平台

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