Shapeless crafting
Ingredient-index input state in shapeless crafting recipes.
File: data/<namespace>/recipe/<path>.json.
hbm:crafting_shapeless uses the same JSON on Fabric and NeoForge; NTM's bundled shapeless crafting recipes use it. It assigns each occupied slot to one ingredient, including when ingredient alternatives overlap. Input-state rules identify zero-based entries in ingredients, independent of grid position. Inputs accept pristine stacks by default.
Fields
| Field | Meaning and default | Range |
|---|---|---|
type | Selects the hbm:crafting_shapeless recipe format. | |
ingredients | 1–9 ingredients; each entry consumes one item from its assigned slot. | |
result | Output stack template. A result carrier requires count 1. | |
input_stateOptional | Input-state rules keyed by zero-based ingredient index; 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. |
Selectors are strings from "0" through the last ingredient index. At most one entry may use preserve: result. Loader conditions can wrap the recipe.
Example:
A shapeless variant of the four-plate crate upgrade. The stack assigned to ingredient 0 supplies the retained contents.
{
"type": "hbm:crafting_shapeless",
"ingredients": [
"hbm:crate_steel",
"hbm:plate_desh",
"hbm:plate_desh",
"hbm:plate_desh",
"hbm:plate_desh"
],
"input_state": {
"0": {
"preserve": "result"
}
},
"result": {
"id": "hbm:crate_desh",
"count": 1
}
}Shaped crafting
Symbol-bound input state in shaped crafting recipes.
Crafting input state
Required component values and state-preserving crafting inputs.
© 2026 movblock. Original site text is licensed under CC BY-SA 4.0 unless otherwise noted. Built with Fumadocs.