Learn · concepts

NeoForge vs Forge: Minecraft 模组加载器对比

NeoForge 是社区分支,引领着基于 Forge 的 Minecraft 模组开发。以下是它们之间的区别以及你应该选择哪一个.

TRtrolPublished 2 min read

NeoForge 是一个由社区驱动的 Forge 分支,于 2023 年启动,现在引领着 Minecraft 当前版本下的 Forge 生态系统。Forge 是最初的加载器,多年来承载了大部分大型模组包。了解分叉及其差异有助于您为您的设置选择合适的加载器。

它们各自是什么

Forge 是最初的 Minecraft 模组加载器,于 2011 年左右发布。它在 2010 年代中期至后期主导了大规模模组开发。Forge 的架构以事件总线、注册系统和基于 ASM 的类转换为中心。

NeoForge 是一个社区分支,于 2023 年从 Forge 分叉出来。它保留了相同的总体架构(注册、能力、事件总线),但在社区治理下运行,具有更开放的贡献模式和更快的开发周期。

分叉的原因

分叉的原因是关于治理和领导方向,而不是技术性重写。一群 Forge 开发人员和社区成员在对 Forge 的开发速度和决策过程产生分歧后,迁移到了一个社区拥有的项目。由于 NeoForge 从 Forge 的代码库开始,这两个加载器在可识别程度上存在关联。

随着时间的推移,它们已经渐行渐远。NeoForge 已经重构了 API 的部分内容,添加了新的约定,并更新了内部系统。为现代 NeoForge 构建的模组不能保证在 Forge 上加载,反之亦然。

它们如何不同

方面NeoForgeForge
起源2023 年社区分支原始加载器 (~2011)
治理社区拥有,开放贡献传统 Forge 项目领导
架构相同基础 (注册器、能力、事件总线)注册器、能力、事件总线
版本侧重当前 Minecraft 版本 (1.20+)较旧和遗留版本
开发速度快速,响应社区较慢,经过深思熟虑
MOD 目录在现代版本中不断增长在较旧版本中拥有丰富的目录
API 稳定性变化,针对当前版本优化稳定,尽可能地向后兼容

各版本支持情况

NeoForge:

  • 1.20.1, 1.20.4, 1.21+
  • 积极开发,新版本支持迅速
  • 现在大多数 MOD 活跃的地方

Forge:

  • 1.12.2 及更早版本(遗留支持)
  • 1.16.5, 1.17, 1.18, 1.19, 1.20.1(但 NeoForge 在较新版本中更受欢迎)
  • 现代版本的更新速度较慢

如何选择

如果满足以下条件,请使用 NeoForge:

  • 您玩当前 Minecraft 版本 (1.20+)
  • 您的 MOD 列表支持 NeoForge
  • 您想要积极维护的、具有社区参与的加载器
  • 您正在构建一个新的 MOD 集合

使用 Forge 的情况:

  • 您正在运行基于 Forge 的较旧模组包
  • 您的模组仅支持 Forge
  • 您需要最大的向后兼容性
  • 您游玩 1.12.2 或更早版本(没有 NeoForge 支持的版本)

请查看模组的页面。 相同的模组作者通常会为旧版本发布 Forge 版本,为新版本发布 NeoForge 版本。

如何判断模组需要哪种加载器

  1. 前往模组的下载页面(Modrinth、CurseForge 等)
  2. 查看版本列表
  3. 它将为每个版本指定“Forge”或“NeoForge”
  4. 下载与您的加载器匹配的版本

如果您尝试在 Forge 上加载 NeoForge 模组,将会出现类未找到的错误。 反之亦然,也会崩溃。 版本和加载器必须完全匹配。

模组生态系统的转变

过渡仍在进行中。 大型、活跃的模组已经迁移到或已支持现代版本的 NeoForge。 一些旧模组仍然坚持使用 Forge。 对于当前版本的玩家,NeoForge 正在成为默认选项; 对于在 1.12.2 上游玩或运行十年前模组包的玩家,Forge 仍然是标准。

这两种加载器都不会消失。 NeoForge 是面向未来的选项; Forge 维护着对旧版本的支持。 这种分裂意味着模组作者不再需要等待缓慢的 Forge 更新才能在新的版本上游玩。

Terminus 的定位

Terminus 运行在 Fabric 上,而不是 Forge 系列。Fabric 是一个独立的、更轻量级的生态系统,拥有自己的模组格式和 API。如果您想在 Terminus 旁边运行实用型模组,您应该使用 Fabric 模组,而不是 Forge 或 NeoForge 模组。Fabric 和 Forge 系列模组不兼容。

常见问题