movblock.mov

Custom machines

Define a multiblock machine and its controller.

A custom machine has a definition, process recipes joined by recipe_key, and a crafting recipe for its controller. The controller's hbm:custom_machine_type component names the definition ID.

Definition file: data/<namespace>/hbm/custom_machine/<path>.json. See the paper press example for a complete definition, process recipe and controller recipe.

Definition fields

FieldMeaning and defaultRange
recipe_keyProcess-family key matched by hbm:custom_machine recipes.
nameText component displayed as the machine name.
cellsStructure-cell list relative to the controller.
item_in_countOptionalItem input positions; default 0.0–6
item_out_countOptionalItem output positions; default 0.0–6
fluid_in_countOptionalInput tanks; default 0.0–3
fluid_out_countOptionalOutput tanks; default 0.0–3
fluid_in_capOptionalInput-tank capacity in mB; default 0.0 to 2³¹−1
fluid_out_capOptionalOutput-tank capacity in mB; default 0.0 to 2³¹−1
max_powerOptionalHE buffer capacity; default 0. Use a nonnegative capacity.−2⁶³ to 2⁶³−1
max_heatOptionalStored-heat limit; default 0.0 to 2³¹−1
max_pollution_capOptionalPollution buffer limit; default 0.0 to 2³¹−1
recipe_speed_multOptionalPositive divisor of recipe duration; default 1.0.Positive finite double
recipe_consumption_multOptionalPositive multiplier on recipe HE cost per tick; default 1.0.Positive finite double
generator_modeOptionalSpends inputs at the start and produces energy during the run when true; default false.
flux_modeOptionalApplies the recipe's flux requirement when true; default false.

Effective duration is max(duration / recipe_speed_mult, 1), truncated to an integer. Effective HE cost per tick is max(power * recipe_consumption_mult, 1), truncated to a long integer.

Loading

Definitions load when the world opens. Reopen singleplayer or restart the server after changing one. Process and controller crafting recipes refresh with /reload.

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

On this page