
如果帖子样式无法正常渲染,可查看文本版本
Almost Unified 是什么?
这个模组的灵感来源于 UniDict。那是一个 1.12.2 时代的老模组,如今已经不再维护。
旧版本的 Minecraft 使用一种叫作 Ore Dictionary(矿辞典)的系统。它的目的是让模组作者在添加新资源时更方便,尤其是在其他模组里可能已经存在相同资源的情况下。正确使用时,你可以在配方中互换使用来自不同模组的资源。不过,如果你以前玩过大型整合包,你大概知道每种材料往往会有差不多 10 种不同的锭,因为很多模组都会添加它们。
这通常会导致存储空间不足,因为这些来自不同模组的资源彼此不能堆叠。此外,有些模组并没有正确地在配方中使用字典,所以很多资源实际上没有用。
UniDict 通过统一不同模组中的相同资源解决了这个问题,这样每种资源最终只会保留一种物品,并且可以用于所有配方。所以你不再会有 10 种不同的铜锭,而只会有 1 种作为主导的通用铜锭。
自 1.12.2 以来已经过去了很长时间,Ore Dictionary 也早已消失。在如今的模组化 Minecraft 中,取而代之的是 tag 系统,它的作用与 Ore Dictionary 很相似。不过,它同样无法解决不同模组添加大量相似资源的问题。
Almost Unified 试图以与 UniDict 类似的方式来解决这个问题。
它的目标是为每个已配置的 tag 选出一个主导资源,并让所有配方都使用这个主导条目。
它是如何工作的?
通过在配置中定义模组优先级列表和目标 tags,Almost Unified 会尝试为每个条目找出一个主导物品,并据此修改配方。
在现代 Minecraft 中,配方通常由 JSON 编写,并会在加入世界时加载。模组会读取每一个已加载的配方,并根据 JSON 中的不同属性对其进行修改。
对于所有输入项,统一过程会尽量使用指定的 tag,这样所有物品仍然都有用,这也意味着 Almost Unified 应该同样适用于现有世界。
对于输出项,Almost Unified 会使用主导物品。
由于修改发生在配方被游戏加载之前,因此游戏运行时不会有高负载的处理过程。
Almost Unified 有哪些功能?
这个模组会转换现有配方,使其拥有统一的资源列表,方便玩家和整合包作者使用。它不会添加自己的配方、资源、矿物生成或类似内容。
由于统一时可能出现重复配方,Almost Unified 会处理这些重复项并将其移除。
此外,它还会自动在 JEI/REI 中隐藏所有非主导条目。
这个模组支持完全热重载。每次统一流程开始时都会重新加载配置,这意味着你可以随时编辑它们。要重新开始该过程,只需重新进入世界或使用 /reload 命令。
能举个例子吗?
假设有两个模组(modA 和 modB)都添加了 Silver Ore。此外,它们也都添加了 Silver Ingot,以及各自用于从矿石获得银锭的配方,例如高炉烧炼或普通熔炼。
如果其中某个配方没有将 tag 作为输入,Almost Unified 会对此进行修改。此外,它还会根据 unify.json 配置中的模组优先级列表,从这些 Silver Ingot 中选出一个作为主导物品。之后,无论配方来自哪个模组,所有配方的输出都会使用这个主导 Silver Ingot。
在统一流程完成后,你最终会得到一些相同的配方。Almost Unified 会将它们合并,并修改它们的命名空间,以便明确看出这些配方已经被修改。最终,你将得到输入接受 tags、输出只使用主导物品的配方。重复配方也会被移除。
更多信息
想了解更多内容,例如限制、原生集成或 FAQ,请查看 wiki。

