配方修改库

配方修改库

允许你在运行时以简单方式自动对所有配方应用任意修改。

基础库

配方修改

这是什么?

这个模组本身不做任何事情,相反,它是一个面向整合包制作者、数据包制作者、其他模组开发者或任何喜欢折腾之人的工具。 它允许你在运行时以简单的方式自动对任何类型的配方进行任意修改,既可以通过数据包中的 JSON 文件,也可以使用 Java API。

这意味着,你无需手动覆盖多个现有配方,而是定义一组配方修改器,在游戏启动时应用它们。这样,修改同样适用于所有其他模组添加的任何配方,而且在多个模组覆盖同一个配方时也不会引起不兼容或奇怪的问题。

一些示例:

例如,如果你想让所有按钮配方制作出 8 个按钮而不是 1 个,因为你认为按钮配方否则就像个骗局,你可以仅仅用几行 JSON 轻松实现!

{
  "target_recipes": "#minecraft:buttons",
  "modifiers": [
    {
      "type": "modify_result_item",
      "function": "set_count",
      "count": 8
    }
  ]
}

一张从一块云杉木板合成出八个按钮的截图

其他用例包括,例如,如果某些模组的配方由于未正确使用标签(或者相关物品没有标准化标签)而不能正确兼容,你可以轻松地使它们兼容(而无需手动覆盖每一个配方!耶!)。

比如,一个名为“mod_xyz”的模组在其配方中没有使用正确的铜粒标签,这导致它们与其他模组的铜粒不兼容。 使用配方修改,你可以这样修复:

{
  "target_recipes": {
    "type": "namespace_equals",
    "namespace": "mod_xyz"
  },
  "modifiers": [
    {
      "type": "add_alternative",
      "ingredients": "mod_xyz:copper_nugget",
      "alternative": {
        "tag": "c:copper_nuggets"
      }
    }
  ]
}

我如何使用这个?

通常,与这个模组交互的首选方式是通过 JSON 文件,不过也有 Java API 可用。

查看关于 JSON 语法的文档以获取更多关于如何编写这些 JSON 文件以及你能够用这个模组做什么的信息。 还有一些(无意义的、但可用的)测试修改器可以供你参考。

对于 Java API,只需查看api 包,尤其是主 RecipeModification 类中的方法。

更详细的说明和使用信息即将推出™。

如果你有任何问题或需要帮助,随时欢迎在 Discord 上给我发消息或开启一个 GitHub Issue。