Recipes
Recipes define how items are transformed through crafting tables, furnaces, smithing tables, stonecutters, and other workstations. Kore provides a type-safe DSL to create all vanilla recipe types programmatically.
Overview
Recipes have several key characteristics:
- Type-specific: Each workstation has its own recipe format
- Discoverable: Recipes can be unlocked via advancements
- Customizable results: Output items can have custom components
- Tag-based ingredients: Use item tags for flexible ingredient matching
Recipe Types
| Type | Workstation | Description |
|---|---|---|
blasting |
Blast Furnace | Faster ore smelting |
campfire_cooking |
Campfire | Slow food cooking |
crafting_decorated_pot |
Crafting Table | Craft a decorated pot from sherds |
crafting_dye |
Crafting Table | Dye an item with a dye |
crafting_imbue |
Crafting Table | Imbue items (e.g. tip arrows) |
crafting_shaped |
Crafting Table | Pattern-based crafting |
crafting_shapeless |
Crafting Table | Order-independent crafting |
crafting_special_bannerduplicate |
Crafting Table | Copy a banner pattern |
crafting_special_bookcloning |
Crafting Table | Copy a written book |
crafting_special_firework_rocket |
Crafting Table | Craft a firework rocket |
crafting_special_firework_star |
Crafting Table | Craft a firework star |
crafting_special_firework_star_fade |
Crafting Table | Add a fade colour to a star |
crafting_special_mapextending |
Crafting Table | Extend a map with paper |
crafting_special_shielddecoration |
Crafting Table | Apply a banner to a shield |
crafting_special_* |
Crafting Table | Remaining hardcoded special recipes |
crafting_transmute |
Crafting Table | Transform item with material |
smelting |
Furnace | Standard smelting |
smithing_transform |
Smithing Table | Upgrade items |
smithing_trim |
Smithing Table | Apply armor trims |
smoking |
Smoker | Faster food cooking |
stonecutting |
Stonecutter | Cut blocks |
File Structure
Recipes are stored as JSON files in data packs at:
For complete JSON specification, see the Minecraft Wiki - Recipe.
Creating Recipes
Use the recipes block inside a data pack to define recipes:
This generates data/my_datapack/recipe/diamond_sword_upgrade.json.
Crafting Recipes
Banner Duplicate
Copy a banner's pattern onto a blank banner:
Book Cloning
Copy a written book, with an optional generation limit:
Decorated Pot
Craft a decorated pot from sherds:
Dye Crafting
Dye an item using a dye ingredient. Replaces the old crafting_special_armordye recipe:
Firework Rocket
Craft a firework rocket from its component ingredients:
Firework Star
Craft a firework star with dye, fuel, optional shape modifiers, trail, and twinkle effects:
Firework Star Fade
Add a fade colour to an existing firework star:
Imbue Crafting
Imbue items with properties from a source (e.g. tip arrows with lingering potions). Replaces the old crafting_special_tippedarrow recipe:
Map Extending
Extend a map by combining it with paper:
Shaped Crafting
Pattern-based recipes where ingredient positions matter:
Pattern Rules
- Patterns can be 1x1 to 3x3
- Use space
for empty slots - Each character must be mapped in
key()orkeys {} - Patterns are automatically trimmed (no need for padding)
Shapeless Crafting
Order-independent recipes:
Multiple of Same Ingredient
Using Tags
Shield Decoration
Apply a banner pattern to a shield:
Special Crafting
Remaining hardcoded special recipes with no configurable ingredients:
These are useful when the vanilla datapack is disabled and you need to re-enable specific special recipes.
Transmute Crafting
Transform an item while preserving its components:
The result item copies all components from the input item.
Cooking Recipes
All cooking recipes share a similar structure:
| Property | Description |
|---|---|
ingredient |
Input item or tag |
result |
Output item |
experience |
XP awarded when collecting output |
cookingTime |
Time in ticks |
Blasting (Blast Furnace)
Twice as fast as smelting (100 ticks default):
Campfire Cooking
Slow cooking without fuel:
Smelting (Furnace)
Smoking (Smoker)
For food items, twice as fast as furnace:
Smithing Recipes
Smithing Transform
Upgrade items at the smithing table:
The result item copies components from the base item.
Multiple Addition Options
Smithing Trim
Apply armor trims:
Stonecutting
Single-item recipes for the stonecutter:
Result Items with Components
Add custom components to recipe results:
Recipe Categories
Organize recipes in the recipe book:
Crafting Categories
BUILDING- Building blocksREDSTONE- Redstone componentsEQUIPMENT- Tools, weapons, armorMISC- Everything else
Cooking Categories
FOOD- Food itemsBLOCKS- Block transformations (sand → glass)MISC- Everything else
Recipe Groups
Group similar recipes in the recipe book:
Recipes with the same group appear together in the recipe book.
Using Recipes in Commands
Reference Recipes
Store a recipe reference for use in commands:
Give/Take Recipes
Overriding Vanilla Recipes
Override vanilla recipes by using the minecraft namespace:
Full Example
Generated JSON (Shaped Recipe)
Best Practices
- Use meaningful names - Recipe file names should describe the output
- Group related recipes - Use the
groupfield for recipe book organization - Prefer tags - Use item tags for flexible ingredient matching
- Set categories - Help players find recipes in the recipe book
- Test in-game - Verify recipes work as expected in all crafting interfaces
- Consider balance - Ensure custom recipes maintain game balance
See Also
- Advancements - Unlock recipes as advancement rewards
- Components - Customize recipe result items
- Commands - Give or take recipes with commands
- Tags - Use item tags for flexible ingredient matching
External Resources
- Minecraft Wiki: Recipe - Official JSON format reference
- Minecraft Wiki: Crafting - Crafting mechanics overview
