这个或那个

这个或那个

一个用于在多个Fabric模组集合之间进行选择的Fabric模组。

ThatOrThis

一个用于在 Fabric 模组集合之间进行选择的 Fabric 模组。

这是什么

ThatOrThis 主要面向整合包开发者。它通过侵入 Fabric Loader,允许从额外的、用户可选择的目录中加载模组。这使得最终用户可以选择将哪些模组加载到他们的整合包中,或者绕过不兼容的模组组合。

从技术上讲,ThatOrThis 的灵感来自 Modsmod 和 GrossFabricHacks,它们滥用了 Fabric Loader 的 LanguageAdapter 特性。这使得本模组的部分代码能够在 Fabric Loader 开始初始化大多数其他模组之前运行。随后它会读取配置、解析需要额外加载的模组,并通过 Java 反射魔法将它们注入加载器。

特性

  • 从默认的 .minecraft/mods 以外的目录加载模组
  • 让最终用户选择他们想要的功能(例如用于光影的 OptiFabric 或用于优化的 Sodium)
  • 对额外模组的依赖和冲突进行运行时检查
  • 通过 ModMenu 集成访问的可配置设置界面
  • 选项名称和工具提示支持格式化代码和翻译键

使用方法

对于普通用户(手动安装本模组的用户)

将此模组安装到你的 mods 文件夹中,同时安装 ModMenu 和 Fabric API。

启动 Minecraft 并通过 ModMenu 打开设置界面。按照说明操作。

如果以这种方式配置,ThatOrThis 将在默认(受限)规则集下运行。如果你需要比单独切换模组更多的功能,请参阅「整合包开发者」一节。

对于整合包用户(下载了包含本模组的整合包的用户)

通过 ModMenu 打开设置界面。根据需要更改设置。完成。

请注意,新的设置在你重新启动游戏之前不会生效。

对于整合包开发者(希望将本模组集成到整合包中的用户)

将此模组安装到你的 mods 文件夹中,同时安装 ModMenu 和 Fabric API。

然后,在你的 config 文件夹中创建 thatorthis 文件夹,并在其中创建 rules.json 文件。如果操作正确,它的路径应该是 .minecraft/config/thatorthis/rules.json。

rules.json 定义了所有可用的设置及其选项。其规范可以在这里找到。

最后,按照规则文件中的定义,将模组放入 mods 文件夹的子目录中。

本模组是开源的,并采用 MIT 许可证,这意味着你可以将其包含到你的整合包中并重新分发,而无需请求许可,只要你在整合包中注明我的贡献(当然还有所有其他模组的作者)。

兼容性

  • ThatOrThis 需要较新版本的 Minecraft 和 Fabric Loader 才能工作。
    • 从未计划支持 Forge;请改用 ModDirector。
    • 目前仅支持 Fabric Loader v0.11.x。对 v0.12.x 的支持将随 ThatOrThis v0.3.0 一起推出。
  • ModMenu 和 Fabric API 是可选的,这意味着在提供有效的 rules.json 和 choices.json 的情况下,ThatOrThis 无需它们也能正常工作。
    • 但是,游戏内设置界面需要它们。你可以通过 ThatOrThis 加载它们,但不推荐这样做。
  • 不推荐通过 ThatOrThis 加载编程语言支持模组(例如用于 Kotlin、Scala 和 Grovvy 的模组)。
    • 它们或许能工作,但此功能尚未经过测试;请尽可能将它们直接放入 mods 目录。
  • Modsmod 对 Fabric Loader 所做的与本模组完全相同,因此两者不兼容。

注意:ThatOrThis 仅适用于小型的客户端模组。如果规则和选项设计不谨慎,可能会导致崩溃和/或服务器/世界不兼容。在安装本模组前后,请彻底测试你的整合包。