movblock.mov

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

FieldMeaning and defaultRange
typeSelects the hbm:crafting_shapeless recipe format.
ingredients1–9 ingredients; each entry consumes one item from its assigned slot.
resultOutput stack template. A result carrier requires count 1.
input_state​OptionalInput-state rules keyed by zero-based ingredient index; default empty.
category​OptionalRecipe-book category: building, redstone, equipment, or misc; default misc.
group​OptionalRecipe-book group string; default empty.
show_notification​OptionalShows 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
  }
}

© 2026 movblock. Original site text is licensed under CC BY-SA 4.0 unless otherwise noted. Built with Fumadocs.

On this page