Mineuniverse
Log in Register
Mods

Recipe Crafter

Adds a Recipe Crafter block for visually authoring Minecraft recipes that save to an editable json file!
by icywhenhot
Download Claim this project
83 downloads
0 likes
Updated Jul 6, 2026
0 hypes
CreativeMode KubeJS Processing Server Utility Utility & QoL

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", ... }
  ]
}
recipecrafter--1.0.0-1.20.1.jar
MC Client, 1.20.1, Forge, Server
Release 2026-06-11 Get
recipecrafter-1.0.0.jar
MC Client, 1.21.1, NeoForge, Server
Release 2026-06-10 Get

More from icywhenhot

Wavify
9,639
Take a Seat
825
Icy's Better Horses
3,288
Remote access
212
FoodTweakerr
150

You Might Also Like

Theurgy KubeJS
Theurgy KubeJS provides KubeJS integrations for Theurgy.
9,503,452
EntityJS
This mod uses KubeJS to dynamically register entities with full AI/Animation/Spawn Control support!
8,731,173
KubeJS TFC
KubeJS TFC integration
919,127
Forbidden Arcanus JS
Forbidden and Arcanus kubejs Compatibility
97,097
Immersive Engineering JS
kubejs compat for ie
94,624
KubeJS REI Runtime
Allows KubeJS to hide and show items from REI dynamically
89,244