← Назад к ресурсам

Reliable Recipes

A lightweight utility for recipe and tag manipulation via simple JSON configuration

Modrinth

Описание

# Reliable Recipes A powerful, developer-friendly utility designed for manipulating recipes and tags through simple JSON configuration. Reliable Recipes allows modpack creators to effortlessly add, remove, or modify recipes and tags using standard JSON files, without the need for complex scripting (looking at you, KubeJS!). --- ## Getting Started Reliable Recipes watches the `reliable_recipes/` folder in your Minecraft instance for JSON files: * **Location:** Place your JSON files in `./config/reliable_recipes/` (or `./reliable_recipes/`). Subdirectories are also supported. * **Format:** Files can contain modification rules within a JSON array, or standard Minecraft/modded recipe JSON objects: ```json [ { "action": "remove_recipe", "mod": "examplemod", "type": "minecraft:crafting_shaped" } ] ``` You can also drop standalone recipe JSON files (e.g., standard crafting, smelting, stonecutting, or brewing recipes) directly into `reliable_recipes/` without needing to build a datapack! --- ## Recipe Actions Once you've filtered which recipes to modify, you apply an action using the `"action"` property. ### 1. `remove_recipe` (or `remove`) Completely removes the matching recipes from the game. ```json { "action": "remove_recipe", "id": [ "minecraft:wooden_pickaxe", "minecraft:wooden_hoe" ] } ``` ### 2. `replace_input` Scans ingredients and replaces target items/tags with replacements. * **`target`**: The item ID or tag (e.g. `#minecraft:logs`) to find. * **`replacement`**: The item ID or tag to use instead. Can be a string or an array of items. ```json { "action": "replace_input", "target": "minecraft:stick", "replacement": [ "minecraft:bamboo", "minecraft:stick" ], "mod": "minecraft" } ``` ### 3. `replace_output` Changes the result of matching recipes. * **`replacement`**: The new item ID for the output. ```json { "action": "replace_output", "replacement": "minecraft:golden_apple", "id": "minecraft:cake" } ``` ### 4. `prevent_repair` Blocks specific items from being repaired across all standard repair methods. Supports item IDs, tags (`"#minecraft:swords"` or `"minecraft:enchantable/durability"`), regex (`"/.*_pickaxe/"`), or arrays. ```json { "action": "prevent_repair", "target": "minecraft:diamond_pickaxe" } ``` ### 5. `set_repair_material` Overrides the repair material required to repair a specific tool or weapon in the Anvil. Supports item IDs, tags (`"#c:iron_ingots"`, `"tag:c:iron_ingots"`), regex (`"/.*_slag/"`), or arrays for both `target` and `material`. ```json { "action": "set_repair_material", "target": "minecraft:diamond_sword", "material": "minecraft:dirt" } ``` ### 6. `add_recipe` (or `add`) Adds custom recipes directly, without needing a datapack. Works with all vanilla recipe types, and any modded recipe types. * **Recipe ID:** If an `"id"` is specified (e.g. `"id": "reliable_recipes:custom_recipe"`), that ID is used. If omitted, the recipe ID is automatically generated from the file name and path. Specifying an existing recipe ID overrides that recipe. **Example using the `add_recipe` wrapper:** ```json { "action": "add_recipe", "id": "reliable_recipes:dirt_to_stick", "recipe": { "type": "minecraft:crafting_shapeless", "ingredients": [ { "item": "minecraft:dirt" } ], "result": { "count": 4, "id": "minecraft:stick" } } } ``` **Or drop raw recipe JSON directly:** Any standard Minecraft recipe JSON file (e.g. `my_crafting_recipe.json` or `recipes/stonecutting/cut_copper.json`) placed directly inside `reliable_recipes/` will automatically be loaded! ```json { "type": "minecraft:crafting_shaped", "category": "misc", "key": { "#": { "item": "minecraft:stick" } }, "pattern": [ "###", "###", "###" ], "result": { "count": 1, "id": "minecraft:diamond" } } ``` --- ## Filters Filters determine which recipes are affected. A recipe must match **all** provided filter fields to be selected. | Field | Description | Example | |----------|-------------------------------------------------|------------------------------------------------| | `output` | The registry name of the item produced. | `"minecraft:stone_pickaxe"` | | `id` | The specific ID of a recipe. | `"minecraft:black_bed_from_white_bed"` | | `mod` | The mod ID that owns the recipe. | `"farmersdelight"` or `["create", "mekanism"]` | | `type` | The recipe type. | `"minecraft:smoking"` | | `input` | Matches if the recipe contains this ingredient. | `"minecraft:stick"` or `"#minecraft:logs"` | ## Tag Modifications Strip tags from items or empty tags entirely. This helps clean up JEI/EMI displays or isolate items. ### 1. `remove_all_tags` (or `remove_tag`) Removes all tag associations from the specified items. ```json { "action": "remove_all_tags", "id": [ "minecraft:stick", "minecraft:cake" ] } ``` ### 2. `remove_from_tag` Removes specific items from a specific tag. ```json { "action": "remove_from_tag", "tag": "minecraft:planks", "id": "minecraft:oak_planks" } ``` ### 3. `clear_tag` Empties all items/blocks from the specified tags. ```json { "action": "clear_tag", "tags": [ "curios:artifact" ] } ``` --- ## Crafting Transmute backport Reliable Recipes backports the `minecraft:crafting_transmute` crafting recipe type. This allows you to upgrade/convert items in a crafting grid while preserving all of their item components (such as durability, enchantments, and custom names). ### Recipe Fields * **`input`** (Ingredient, required): The item being upgraded. * **`material`** (Ingredient, required): The material item(s) needed. * **`material_count`** (Int or min/max Bounds, optional, defaults to 1): How many materials are required (e.g. `1` or `{"min": 1, "max": 4}`). * **`result`** (Item, required): The item output. * **`add_material_count_to_result`** (Boolean, optional, default: false): If true, the quantity of materials placed in the grid will be added to the result count. ### Example JSON ```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" } } ``` --- ## Data-Driven Brewing Recipes Reliable Recipes supports data-driven brewing stand recipes using the 26.3 `minecraft:brewing` recipe type format. ### Recipe Fields * **`input`** (Object, required): Input container item or potion stack (`item`/`tag`, optional `potion_contents`). * **`reagent`** (Ingredient, required): Ingredient item placed in the top slot of the brewing stand. * **`output`** (ItemStack, required): Resulting item stack output with components. ### Example JSON ```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" } } } } ``` --- ## Mod Compatibility * **Reliable Removal:** Automatically removes recipe and tag listings for items hidden with [Reliable Removal](https://www.curseforge.com/minecraft/mc-mods/reliable-remover)'s blacklist. * **EMI Integration:** Press the **delete key** while hovering over a recipe output in EMI (while in dev mode) to automatically append a removal rule to `./config/reliable_recipes/generated_removals.json`. --- ## Documentation & Wiki For more advanced examples and details, see our wiki: **[Modded Minecraft Wiki](https://moddedmc.wiki/en/project/reliable-recipes/latest/docs/reliable-recipes/features)** --- ## License [![Code license (MIT)](https://img.shields.io/badge/code%20license-MIT-green.svg?style=flat-square)](https://github.com/evanbones/Reliable-Recipes/blob/1.20.1/LICENSE)