Recipes
Shared fields and authoring guides for NTM recipes.
NTM recipe files live under data/<namespace>/recipe/<path>.json. See the Minecraft Wiki data pack reference for vanilla recipe formats; this page covers NTM recipe fields and behavior.
Start with a bundled file of the same type from your installed mod jar. Machine recipe types add fields and interpret outputs differently.
Guides
- Item inputs and outputs
- Fixed grids
- Fluid entries
- Duration, power and ordering
- Recipe conditions
- Item-tag result
- Material distribution
- Container upgrade
- RBMK fuel disassembly
- Duct retyping
- Duct untyping
- MKUNICORN crafting
- Grenade assembly
- Cargo shell loading
since NTM 1.0.1Applies to NTM 1.0.1, 1.0.2, 1.0.3, 1.0.4.Shown because All revisions is selected.
Recipe identifiers
| Name | Example | Meaning |
|---|---|---|
| Recipe resource ID | hbm: | Identifies the JSON resource and determines which file an override replaces |
Recipe type | hbm: | Selects the recipe parser and machine recipe table |
Custom-machine recipe_ | paperPress | Connects custom-machine definitions to their process recipes |
Recipe name | custom_ | Internal lookup name; defaults to the last segment of the resource path |
Internal names must be unique within a recipe table. Different resource IDs can produce the same default name; a lookup by that name reaches one row.
Shared fields
The machine recipe reference gives each machine its recipe formats and examples.
| Field | Meaning and default | Range |
|---|---|---|
type | Selects the recipe format. | |
nameOptional | Internal lookup name; defaults to the last segment of the recipe resource path. | |
input_itemsOptional | Ordered counted item inputs; defaults to an empty list. | |
input_fluidsOptional | Ordered fluid inputs with amount and pressure; defaults to an empty list. | |
output_itemsOptional | Fixed or weighted item-output positions; defaults to an empty list. | |
output_fluidsOptional | Ordered fluid outputs with amount and pressure; defaults to an empty list. | |
durationOptional | Process duration in ticks; defaults to 0. | \texttt{i32} |
powerOptional | HE demand; defaults to 0. | \texttt{i64} |
iconOptional | Stack template displayed for the recipe; otherwise derived from the output. | |
icon_from_inputOptional | Derives the display icon from the first item input when true; defaults to false. | |
name_wrapperOptional | Translation key applied around the displayed recipe name. | |
custom_localizationOptional | Resolves the internal name as a translation key when true; defaults to false. | |
blueprint_poolsOptional | Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine. | |
blueprint_pools_528Optional | Replaces blueprint_pools while the enable_528 flag holds. | |
auto_switch_groupOptional | Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot. | |
orderOptional | Sort position within the recipe table; lower values first, default 2147483647. | \texttt{i32} |
Individual machines set operational input and output requirements and may consume only part of the shared record. Loader condition wrappers are separate from these fields.
NTM machine recipe types, hbm:crafting_shaped, hbm:crafting_shapelesssince NTM 1.0.1Applies to NTM 1.0.1, 1.0.2, 1.0.3, 1.0.4.Shown because All revisions is selected. and hbm:material_distribution reject unknown fields. Both loaders accept fabric:load_conditions and neoforge:conditions in these files.
since NTM 1.0.2Applies to NTM 1.0.2, 1.0.3, 1.0.4.Shown because All revisions is selected.
These formats also accept _kubejs_changed_marker, which KubeJS adds to recipes it creates or edits.
Editor schemas
JSON Schemas for NTM datapack files, one set per release.
Item inputs and outputs
Counted ingredients and fixed or weighted outputs.
© 2026 movblock. Original site text is licensed under CC BY-SA 4.0 unless otherwise noted. Built with Fumadocs.