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

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_shapeless and hbm:material_distribution reject unknown fields. Both loaders accept fabric:load_conditions and neoforge:conditions in these files.

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