Table of Contents

常见问题:专家模式

这是用户常见问题的“专家/技术性”拓展。

兼容性

对 Bukkit/Spigot/Paper 的支持进展得怎样了?

Fabric Loader 0.5.0 版本的开发分支上有一些在仅在 Paper 上运行 Fabric Loader 的实验性的功能,但是有很多关于 Bukkit API 的缺陷的警告,比如将方块、物品硬编码在 enum 中,导致很难支持模组中的方块和物品。这个功能可能永远不会被正式支持了,而更应该用于满足好奇心和特殊情况。

可以让 Fabric 与 Sponge 一起运行吗?

实现这个功能最好的方法是将 SpongeCommon 和 SpongeVanilla 的修改版本移植为实现了 Sponge API 的 Fabric 模组。这么做比较容易,因为 Fabric 的核心使用了 SpongePowered Mixin 的复刻,但是映射的差异又让问题变得复杂,可以这么说。

为什么 Fabric API 会影响 OptiFine 光影?

Fabric API 使用的渲染补丁 Indigo 假定(出于性能和代码简化的原因)原版的顶点格式保持不变。模组通常不会改变它,然而光影模组和类似的模组经常是个例外。因此,在保持原样的前提下,Indigo 和它的兼容性不好。

已经在研究这方面的解决方案了,但是还不能正常使用。此外,一些非官方的模组项目也在尝试自己开发一个。目前的变通方法在有实际使用了 Fabric 的渲染 API 的内容模组的情况下是行不通的。

兼容性(关于旧版本)

到底那些版本可以使用 Fabric?

理论上,没有什么能阻止你在任何版本的 Minecraft 上,在任何混淆层下,运行 Fabric 的模组加载器,一直到 c0.0.11a 。然而,这些版本大多没有 Yarn 映射──因此,制作模组的过程变得……有点儿复杂。

安装了模组的老一些的 Minecraft 版本可以使用 Fabric 吗?

可以!一般来说,所有的 JAR 模组,比如老版本的 OptiFine 和 Better Than Wolves,应该都能正常工作,并且允许进行与未修改的 Minecraft 版本相同程度的修改。但是,需要做一些一些特别说明:

对于大多数 1.13 之前的模组加载器,你必须在 Fabric Loader 中启用兼容模式,方法是添加 JVM 参数 -Dfabric.loader.useCompatibilityClassLoader=true

对于运行 Minecraft Forge:

对于运行 ModLoader:没有已知的问题。

原则

既然有 MCP 和 Spigot 的映射,为什么还要创建自己的?

对于 Mod Coder Pack(MCP):

对于 Spigot: