Shaped crafting
Symbol-bound input state in shaped crafting recipes.
File: data/<namespace>/recipe/<path>.json.
hbm:crafting_shaped uses the same JSON on Fabric and NeoForge; NTM's bundled shaped crafting recipes use it. Its pattern matches after trimming empty borders and allows horizontal mirroring. Input-state rules bind to the pattern symbols through either transformation. Inputs accept pristine stacks by default.
Fields
| Field | Meaning and default | Range |
|---|---|---|
type | Selects the hbm:crafting_shaped recipe format. | |
pattern | 1–3 equal-width rows, each at most 3 characters. Spaces represent empty cells; at least one cell must contain an ingredient. | |
key | Maps each pattern symbol to an ingredient; every key symbol must appear in the pattern. | |
result | Output stack template. A result carrier requires count 1. | |
input_stateOptional | Input-state rules keyed by pattern symbol; default empty. | |
categoryOptional | Recipe-book category: building, redstone, equipment, or misc; default misc. | |
groupOptional | Recipe-book group string; default empty. | |
show_notificationOptional | Shows the recipe-unlock notification; default true. |
Each input_state selector must name a symbol in key. preserve: result requires exactly one occurrence of that symbol in the pattern. Loader conditions can wrap the recipe.
Example:
Shipped steel-to-desh crate upgrade, data/hbm/recipe/crate_desh.json. Four desh plates surround the Steel Crate; the Desh Crate retains that crate's component changes, including its contents, name and lock.
{
"type": "hbm:crafting_shaped",
"input_state": {
"S": {
"preserve": "result"
}
},
"key": {
"D": "hbm:plate_desh",
"S": "hbm:crate_steel"
},
"pattern": [
" D ",
"DSD",
" D "
],
"result": {
"id": "hbm:crate_desh"
}
}Recipe conditions
Loader conditions and recipe removal.
Shapeless crafting
Ingredient-index input state in shapeless crafting recipes.
© 2026 movblock. Original site text is licensed under CC BY-SA 4.0 unless otherwise noted. Built with Fumadocs.