Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Recipe Crafter
A mod that lets modpackers and map-makers author Minecraft recipes visually, inside a workbench block — no KubeJS, datapack JSON, or external tools required. Recipes are written to a single hand-editable config file and go live instantly.
Overview
Place a Recipe Crafter block, open it, and build a recipe by dropping items
into a familiar workbench grid. Pick the recipe family from a dropdown, set the
result, fill in an id, and click Save — the recipe is appended to
config/recipecrafter/recipes.json5 and becomes craftable immediately (no
restart). You can also Export the generated JSON to your clipboard for use
in datapacks/KubeJS, or Load and edit recipes that already exist in the game.
The Recipe Crafter Block
- A standalone block + item (
recipecrafter:recipe_crafter) with a custom Blockbench model. - Creative-only: ships with no crafting recipe; appears in the Redstone creative tab, right after the Crafting Table.
- Block entity inventory (13 slots) that persists its contents across open/close and world reloads, and scatters its items like a chest when broken.
Supported Recipe Types
Selected from a dropdown; the GUI swaps to the matching vanilla workbench texture and slot layout for each:
| Type | Vanilla recipe | Layout |
|---|---|---|
| Crafting Table | crafting_shaped / crafting_shapeless |
3×3 grid + result |
| Furnace | smelting |
single input + result |
| Blast Furnace | blasting |
single input + result |
| Smoker | smoking |
single input + result |
| Campfire | campfire_cooking |
single input + result (smoker panel) |
| Stonecutter | stonecutting |
single input + result |
| Smithing Table | smithing_transform |
template + base + addition + result |
- Shapeless toggle is available for crafting recipes (hidden for other types).
- Shaped crafting auto-computes the minimal pattern bounding box and a compact key map (so a 1×1 item in the corner becomes a 1×1 recipe, not 3×3).
- Cooking recipes capture cook time (with sensible per-type defaults: 200 / 100 / 600 ticks) and experience.
- Stonecutting carries the output count.
- Smithing requires all three pieces (template, base, addition).
The Editor GUI
Left panel
- Type dropdown — switch recipe family; the panel texture and slots update live.
- Shapeless checkbox — crafting only.
- Edit field + "Edit" button — type a recipe id (
namespace:path) to load an existing registered recipe back into the grid for modification. - "Load recipe(s)" button — finds recipes that match the current contents.
Center
- The workbench grid / inputs and a result preview slot you drag the output into.
Right
- Done — opens the confirm screen.
Confirm / Save Screen
Opened via Done. Fields:
- Recipe ID — prefilled as
recipecrafter:<result item>; editable. - Group — optional; placeholder hints + Tab-to-autofill from groups that already exist in the game.
- Category — shown only for crafting/cooking (the types that use it); offers the valid vanilla categories with Tab-autofill.
- Cook time (ticks) and XP — shown only for cooking recipes.
Actions:
- Save — writes the recipe to
recipes.json5, refreshes recipes, and copies the id to your clipboard. - Export to Clipboard — builds the recipe JSON and copies it (does not save).
- Cancel — returns to the editor with all contents preserved.
After a successful Save or Export, the crafter wipes itself clean (contents returned to you, type reset) so the next recipe starts fresh. Cancel leaves everything untouched.
Quality-of-life: commit buttons are greyed until the id is filled and the recipe is valid, and the screen fields slide and fade in when it opens.
Loading & Looking Up Existing Recipes
- Edit by id decomposes a registered recipe back into the crafter's grid — supports shaped, shapeless, all cooking types, stonecutting, and smithing-transform recipes.
- Lookup searches for recipes matching the current contents:
- If the result slot has an item → every recipe that produces that item.
- Otherwise, if the grid is filled → the first matching crafting recipe.
- Returns up to 20 matches in a scrollable list, each with its id and type and Copy ID / Copy JSON buttons.
Config File: recipes.json5
Located at config/recipecrafter/recipes.json5.
- Hand-editable at any time. Each entry is a normal vanilla recipe JSON
augmented with a unique
"id". - Lenient parsing:
//comments and trailing commas are tolerated. - Comment- and formatting-preserving saves: new recipes are spliced into the array rather than rewriting the file, so your comments and hand-formatting survive every save.
- Edit by hand, then
/recipecrafter reload(or relaunch) to apply.
Example shape:
{
"recipes": [
{ "id": "recipecrafter:my_recipe", "type": "minecraft:crafting_shaped", ... }
]
}


