Learn · frameworks

什么是 Fabric API?模组介绍

Fabric API 是几乎所有 Fabric 模组都依赖的共享库。以下是它的作用、它为何独立于加载器,以及你是否需要它.

TRtrolPublished 1 min read

什么是 Fabric API?

Fabric API 是 Fabric 生态系统构建的基础工具箱。加载器本身只知道如何启动游戏并应用补丁;它几乎不提供任何便利功能。API 通过提供一套稳定的事件、辅助工具和接口来填补这一空白,从而避免单个模组重复发明相同的底层逻辑,或在运行时相互冲突。

你可以将其视为加载器遗漏的标准库。当模组作者想要响应玩家加入、发送自定义数据包或注册新的方块时,他们会调用 API,而不是直接修改引擎。

为什么 Fabric API 不是加载器的一部分?

Fabric 有意地将系统拆分为两部分。加载器是小而变化缓慢的核心,负责启动 Minecraft 并运行补丁层。API 是建立在其之上的更大、变化更快的共享接口集合。将它们分开可以让它们各自以自己的速度发展。

组件职责更新频率
Fabric 加载器启动游戏、应用 Mixin 补丁、解析模组快速移植到新的 MC 版本
Fabric API共享事件、网络、注册、渲染辅助工具按照自己的时间表演化

收益体现在速度上。当一个新的 Minecraft 版本发布后,数小时内即可适配一个微型加载器,而广泛的 API 则在不阻塞第一个端口的情况下逐步完善。将它们结合起来,整个堆栈的运行速度将仅受限于其最慢的部分。

那么,这说明了什么? Fabric API 实际上提供了什么?

API 为模组提供了稳定版本的方式来完成几乎所有模组都需要做的事情。与其让每个作者针对原始游戏内部编写脆弱的钩子,不如他们可以针对社区共同维护的一个共享接口.

生命周期和游戏事件

清理后的回调函数,用于时钟滴答、世界加载、玩家加入和方块交互,以便模组可以无需手动打补丁就能响应游戏.

人脉拓展助手

定义并发送客户端和服务器之间自定义数据包的一种合理方式,是大多数具有多人游戏功能的模组的基础.

内容和注册助手

共享管道用于注册新的物品、方块和实体,使两个模组可以添加内容而互不冲突.

渲染和资源助手

常见的渲染钩子和资源工具模组通常依赖于它们在HUD、模型和纹理工作中的应用.

移除 API,每个模组都必须自行打包这套机制。这会导致重复劳动和版本不一致,一旦你在一个文件夹中将它们合并,就会互相冲突。共享库是让这些无关模组和谐运作的关键。

你需要 Fabric API 吗?

几乎总是需要的。绝大多数 Fabric 模组将其声明为强制依赖项,这意味着没有它将无法加载。你只需将其作为一个普通的模组 jar 安装到你的 mods 文件夹中,所有需要它的模组都可以从中获取.

  • 使用超过两个模组运行Fabric吗?请安装API。
  • 模组页面列出了“Fabric API”在需求中?安装它。
  • 运行一个独立的、微小的、自包含的模组,并且它明确说明不需要任何其他依赖项吗?你可以跳过 API,虽然通常情况下保留它也不会有坏处。

简而言之:将 Fabric API 视为基准。拥有它的成本是一罐额外的 jar 包,而缺少它会导致崩溃。

如何获取 Fabric API 并匹配版本

从官方 Fabric 渠道或主流模组发布平台拉取 API,并选择与您的确切 Minecraft 版本相对应的构建版本。版本匹配是人们最常出错的事情之一,并且会导致最响亮、最令人困惑的崩溃.

  1. 确认你的 Minecraft 版本

    请注意您的个人资料启动的确切版本,包括补丁号.

  2. 下载对应的 API 构建包

    获取与该版本对应的 Fabric API 发布版本,而不是可用的最新版本.

  3. 把它放到mods文件夹里

    将该 jar 文件与你的其他 mod 一起放置。一个副本即可满足所有依赖于它的 mod.

  4. 启动并查看日志,如果失败

    如果出现崩溃,日志通常会指出缺失的类或它所期望的版本。那一行直接指向了修复方案.

如果手动管理装载器、API 和模组版本听起来很繁琐,那是因为确实如此。托管启动器和实用程序客户端的存在,部分是为了解决这些依赖关系,让你能够直接启动游戏。

常见问题

获取Terminus

Loader, API, and mods sorted out for you, with no version-matching headaches.