movblock.mov

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

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

NameExampleMeaning
Recipe resource IDhbm:custom_machine/custom_machine.paper_pressIdentifies the JSON resource and determines which file an override replaces
Recipe typehbm:custom_machineSelects the recipe parser and machine recipe table
Custom-machine recipe_keypaperPressConnects custom-machine definitions to their process recipes
Recipe namecustom_machine.paper_pressInternal 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.

FieldMeaning and defaultRange
typeSelects the recipe format.
name​OptionalInternal lookup name; defaults to the last segment of the recipe resource path.
input_items​OptionalOrdered counted item inputs; defaults to an empty list.
input_fluids​OptionalOrdered fluid inputs with amount and pressure; defaults to an empty list.
output_items​OptionalFixed or weighted item-output positions; defaults to an empty list.
output_fluids​OptionalOrdered fluid outputs with amount and pressure; defaults to an empty list.
duration​OptionalProcess duration in ticks; defaults to 0.\texttt{i32}
power​OptionalHE demand; defaults to 0.\texttt{i64}
icon​OptionalStack template displayed for the recipe; otherwise derived from the output.
icon_from_input​OptionalDerives the display icon from the first item input when true; defaults to false.
name_wrapper​OptionalTranslation key applied around the displayed recipe name.
custom_localization​OptionalResolves the internal name as a translation key when true; defaults to false.
blueprint_pools​OptionalBlueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.
blueprint_pools_528​OptionalReplaces blueprint_pools while the enable_528 flag holds.
auto_switch_group​OptionalTranslation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.
order​OptionalSort 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.

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

On this page