跳到正文

Reliable Recipes

作者:evanbones

通过简单的 JSON 配置轻松调整配方和标签的实用工具。

收藏

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

可靠配方

forge
fabric
neoforge

这是一款功能强大且对开发者友好的实用工具,可通过简单的 JSON 配置来修改配方和标签。
Reliable Recipes 让整合包作者可以轻松添加、移除或修改配方和标签,只需使用标准 JSON
文件,无需编写复杂脚本(说的就是你,KubeJS!)。


入门指南

Reliable Recipes 会监视 Minecraft 实例中的 reliable_recipes/ 文件夹,并读取其中的 JSON 文件:

  • 位置:将 JSON 文件放入 ./config/reliable_recipes/(或 ./reliable_recipes/)。也支持子目录。
  • 格式:文件可以在 JSON 数组中包含修改规则,也可以使用标准 Minecraft/模组配方 JSON 对象:
[
  {
    "action": "remove_recipe",
    "mod": "examplemod",
    "type": "minecraft:crafting_shaped"
  }
]

你也可以将独立的配方 JSON 文件(例如标准合成、冶炼、切石或酿造配方)直接放入 reliable_recipes/,无需创建数据包!


配方操作

筛选出要修改的配方后,可以使用 "action" 属性来应用操作。

1. remove_recipe(或 remove)

从游戏中彻底移除符合条件的配方。

{
  "action": "remove_recipe",
  "id": [
    "minecraft:wooden_pickaxe",
    "minecraft:wooden_hoe"
  ]
}

2. replace_input

扫描配方材料,并将指定物品或标签替换为其他内容。

  • target:要查找的物品 ID 或标签(例如 #minecraft:logs)。
  • replacement:要替换成的物品 ID 或标签。可以是字符串或物品数组。
{
  "action": "replace_input",
  "target": "minecraft:stick",
  "replacement": [
    "minecraft:bamboo",
    "minecraft:stick"
  ],
  "mod": "minecraft"
}

3. replace_output

更改符合条件的配方产物。

  • replacement:产物的新物品 ID。
{
  "action": "replace_output",
  "replacement": "minecraft:golden_apple",
  "id": "minecraft:cake"
}

4. prevent_repair

禁止使用所有标准修理方式修理指定物品。支持物品 ID、标签("#minecraft:swords" 或 "minecraft:enchantable/durability")、正则表达式("/.*_pickaxe/")或数组。

{
  "action": "prevent_repair",
  "target": "minecraft:diamond_pickaxe"
}

5. set_repair_material

覆盖在铁砧中修复特定工具或武器所需的修复材料。支持物品 ID、标签("#c:iron_ingots"、"tag:c:iron_ingots")、正则表达式("/.*_slag/"),或为 target 和 material 同时使用数组。

{
  "action": "set_repair_material",
  "target": "minecraft:diamond_sword",
  "material": "minecraft:dirt"
}

6. add_recipe(或 add)

直接添加自定义配方,无需数据包。适用于所有原版配方类型以及任何模组配方类型。

  • 配方 ID:如果指定了 "id"(例如 "id": "reliable_recipes:custom_recipe"),则使用该 ID。如果省略,配方 ID 将根据文件名和路径自动生成。指定已存在的配方 ID 将覆盖该配方。

使用 add_recipe 包装器的示例:

{
  "action": "add_recipe",
  "id": "reliable_recipes:dirt_to_stick",
  "recipe": {
    "type": "minecraft:crafting_shapeless",
    "ingredients": [
      {
        "item": "minecraft:dirt"
      }
    ],
    "result": {
      "count": 4,
      "id": "minecraft:stick"
    }
  }
}

或者直接放入原始配方 JSON:
任何标准的 Minecraft 配方 JSON 文件(例如 my_crafting_recipe.json 或 recipes/stonecutting/cut_copper.json)直接放入 reliable_recipes/ 中即可自动加载!

{
  "type": "minecraft:crafting_shaped",
  "category": "misc",
  "key": {
    "#": {
      "item": "minecraft:stick"
    }
  },
  "pattern": [
    "###",
    "###",
    "###"
  ],
  "result": {
    "count": 1,
    "id": "minecraft:diamond"
  }
}

过滤器

过滤器决定哪些配方会受到影响。配方必须匹配所有提供的过滤字段才会被选中。

| 字段 | 描述 | 示例 |
|———-|————————————————-|————————————————|
| output | 产出物品的注册名。 | "minecraft:stone_pickaxe" |
| id | 配方的特定 ID。 | "minecraft:black_bed_from_white_bed" |
| mod | 拥有该配方的模组 ID。 | "farmersdelight" 或 ["create", "mekanism"] |
| type | 配方类型。 | "minecraft:smoking" |
| input | 如果配方包含此原料则匹配。 | "minecraft:stick" 或 "#minecraft:logs" |

标签修改

从物品中剥离标签或完全清空标签。这有助于清理 JEI/EMI 显示或隔离物品。

1. remove_all_tags(或 remove_tag)

移除指定物品的所有标签关联。

{
  "action": "remove_all_tags",
  "id": [
    "minecraft:stick",
    "minecraft:cake"
  ]
}

2. remove_from_tag

从特定标签中移除特定物品。

{
  "action": "remove_from_tag",
  "tag": "minecraft:planks",
  "id": "minecraft:oak_planks"
}

3. clear_tag

清空指定标签中的所有物品/方块。

{
  "action": "clear_tag",
  "tags": [
    "curios:artifact"
  ]
}

合成转化配方移植

Reliable Recipes 移植了 minecraft:crafting_transmute 合成配方类型。此功能允许你在合成网格中升级/转换
物品,同时保留其所有物品组件(例如耐久度、附魔和自定义名称)。

配方字段

  • input(Ingredient,必填):要升级的物品。
  • material(Ingredient,必填):所需的材料物品。
  • material_count(Int 或 min/max Bounds,可选,默认为 1):所需材料数量(例如 1 或 {"min": 1, "max": 4})。
  • result(Item,必填):输出物品。
  • add_material_count_to_result(Boolean,可选,默认值:false):若为 true,放入网格中的材料数量将计入结果数量。

JSON 示例

{
  "type": "minecraft:crafting_transmute",
  "category": "equipment",
  "input": {
    "item": "minecraft:iron_pickaxe"
  },
  "material": {
    "item": "minecraft:gold_ingot"
  },
  "material_count": 1,
  "result": {
    "id": "minecraft:golden_pickaxe"
  }
}

数据驱动的酿造配方

Reliable Recipes 支持使用 26.3 minecraft:brewing 配方类型格式的数据驱动酿造台配方。

配方字段

  • input(Object,必填):输入容器物品或药水堆叠(item/tag,可选的 potion_contents)。
  • reagent(Ingredient,必填):放入酿造台顶部槽位的材料。
  • output(ItemStack,必填):带有组件的结果物品堆叠。

JSON 示例

{
  "type": "minecraft:brewing",
  "input": {
    "item": "minecraft:potion",
    "potion_contents": {
      "potions": "minecraft:awkward"
    }
  },
  "reagent": {
    "item": "minecraft:turtle_helmet"
  },
  "output": {
    "id": "minecraft:potion",
    "components": {
      "minecraft:potion_contents": {
        "potion": "minecraft:turtle_master"
      }
    }
  }
}

模组兼容性

  • 可靠移除:自动移除被 Reliable Removal 黑名单隐藏的物品所对应的配方和标签条目。
  • EMI 集成:在 EMI 中将鼠标悬停在配方输出上时(处于开发模式下),按下删除键即可自动将移除规则追加到 ./config/reliable_recipes/generated_removals.json。

文档 & Wiki

如需查看更高级的示例和详细信息,请参阅我们的 Wiki:
Modded Minecraft Wiki


许可证

Code license (MIT)

常见问题

Reliable Recipes 支持哪些 Minecraft 版本?

Reliable Recipes 支持 Minecraft Java 版 1.19.2–26.3,共 8 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

Reliable Recipes 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

evanbones 的其他作品

查看全部 →