{"$schema":"http://json-schema.org/draft-07/schema#","title":"NTM 1.0.3 recipes","type":"object","properties":{"type":{"type":"string","anyOf":[{"enum":["hbm:ammo_press","hbm:annihilator","hbm:anvil_construction","hbm:anvil_smithing","hbm:arc_furnace","hbm:arc_welder","hbm:assembly_machine","hbm:blast_furnace","hbm:breeder","hbm:cargo_shell","hbm:catalytic_reformer","hbm:centrifuge","hbm:chemical_plant","hbm:coker","hbm:combination_oven","hbm:compressor","hbm:cracking_tower","hbm:crafting_shaped","hbm:crafting_shapeless","hbm:crucible","hbm:crystallizer","hbm:custom_machine","hbm:cyclotron","hbm:duct_retype","hbm:duct_untype","hbm:electrolyser_fluid","hbm:electrolyser_metal","hbm:exposure_chamber","hbm:fluid_breeder","hbm:fraction_tower","hbm:fuel_pool","hbm:fusion","hbm:gas_centrifuge","hbm:grenade_assembly","hbm:hydrotreater","hbm:lemegeton","hbm:liquefaction","hbm:magic","hbm:material_distribution","hbm:mixer","hbm:mku","hbm:outgasser","hbm:particle_accelerator","hbm:pedestal","hbm:plasma_forge","hbm:precision_assembler","hbm:press","hbm:purex","hbm:pyro_oven","hbm:radiolysis","hbm:rbmk_fuel_disassembly","hbm:refinery","hbm:rock_mill","hbm:rotary_furnace","hbm:scraps_split","hbm:shredder","hbm:silex","hbm:soldering","hbm:solidification","hbm:space_assembler","hbm:supercomputer","hbm:tag_result","hbm:vacuum_refinery","hbmspace:alkylation","hbmspace:atmosphere","hbmspace:cryo_distill","hbmspace:vacuum_circuit"]},{"type":"string"}]}},"required":["type"],"allOf":[{"if":{"properties":{"type":{"const":"hbm:ammo_press"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"key":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"],"description":"Maps each grid symbol to a counted ingredient.","markdownDescription":"Maps each grid symbol to a counted ingredient."},"pattern":{"description":"Three rows of three characters for the fixed-grid recipe.","markdownDescription":"Three rows of three characters for the fixed-grid recipe."}},"required":["output_items","key","pattern"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:annihilator"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"item":{"description":"Item ID or item tag tallied by item count.","markdownDescription":"Item ID or item tag tallied by item count."},"fluid":{"description":"Fluid ID tallied in mB.","markdownDescription":"Fluid ID tallied in mB."},"stack":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template tallied by item and NTM subtype; its count and other components are ignored.","markdownDescription":"Stack template tallied by item and NTM subtype; its count and other components are ignored."},"milestones":{"type":"array","items":{"type":"object","properties":{"amount":{"description":"Tally threshold as a decimal integer string.\n\nRange: Unbounded signed integer","markdownDescription":"Tally threshold as a decimal integer string.\n\nRange: Unbounded signed integer"},"payout":{"type":"object","properties":{"id":{"description":"Payout item ID.","markdownDescription":"Payout item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Payout stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Payout stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Payout item-component values.","markdownDescription":"Payout item-component values."}},"required":["id"]}},"required":["amount"]},"description":"Payout thresholds.","markdownDescription":"Payout thresholds."}},"required":["item","fluid","stack","milestones"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:anvil_construction"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"overlay":{"description":"Anvil GUI category and badge: none, construction, recycling, or smithing. A recycling recipe is listed with its first input as icon.","markdownDescription":"Anvil GUI category and badge: `none`, `construction`, `recycling`, or `smithing`. A `recycling` recipe is listed with its first input as icon."},"tier":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Minimum anvil tier; default 0.\n\nRange: i32","markdownDescription":"Minimum anvil tier; default 0.\n\nRange: `i32`"},"tier_upper":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Maximum anvil tier; default -1, which leaves it unbounded.\n\nRange: i32","markdownDescription":"Maximum anvil tier; default -1, which leaves it unbounded.\n\nRange: `i32`"}},"required":["input_items","output_items","overlay"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:anvil_smithing"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"tier":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Minimum anvil tier; default 1.\n\nRange: i32","markdownDescription":"Minimum anvil tier; default 1.\n\nRange: `i32`"},"kind":{"description":"Smithing behavior: plain, hot, mold, poison, or rename; default plain.","markdownDescription":"Smithing behavior: `plain`, `hot`, `mold`, `poison`, or `rename`; default `plain`."},"shapeless":{"type":"boolean","description":"For plain and hot, also matches with the slots swapped when true; default false.","markdownDescription":"For `plain` and `hot`, also matches with the slots swapped when true; default false."},"shape":{"description":"For mold, the left slot matches any item in a c or hbm item tag whose path starts with <shape>/, in place of the position-0 ingredient.","markdownDescription":"For `mold`, the left slot matches any item in a `c` or `hbm` item tag whose path starts with `<shape>/`, in place of the position-0 ingredient."}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:arc_furnace"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"output_materials":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"],"description":"Molten-mode material stacks poured per input item; default empty.","markdownDescription":"Molten-mode material stacks poured per input item; default empty."}},"required":["input_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:arc_welder"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items","duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:assembly_machine"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:blast_furnace"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; use a positive value for timed processing.\n\nRange: i32","markdownDescription":"Process duration in ticks; use a positive value for timed processing.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items","duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:breeder"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"flux":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Neutron-flux threshold and progress-rate divisor; use [1, i32::MAX].\n\nRange: i32","markdownDescription":"Neutron-flux threshold and progress-rate divisor; use [1, `i32::MAX`].\n\nRange: `i32`"}},"required":["input_items","output_items","flux"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:cargo_shell"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:catalytic_reformer"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:centrifuge"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:chemical_plant"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:coker"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:combination_oven"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:compressor"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids","duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:container_upgrade"}},"required":["type"]},"then":{"not":{},"errorMessage":"`hbm:container_upgrade` was removed in NTM 1.0.1; this schema targets NTM 1.0.3.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"hbm:cracking_tower"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:crafting_shaped"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"pattern":{"description":"1–3 equal-width rows, each at most 3 characters. Spaces represent empty cells; at least one cell must contain an ingredient.","markdownDescription":"1–3 equal-width rows, each at most 3 characters. Spaces represent empty cells; at least one cell must contain an ingredient."},"key":{"type":"object","additionalProperties":{"description":"One non-space character mapped to an ingredient used in the pattern.","markdownDescription":"One non-space character mapped to an ingredient used in the pattern."},"description":"Maps each pattern symbol to an ingredient; every key symbol must appear in the pattern.","markdownDescription":"Maps each pattern symbol to an ingredient; every key symbol must appear in the pattern."},"result":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Output stack template. A result carrier requires count 1.","markdownDescription":"Output stack template. A result carrier requires count 1."},"input_state":{"type":"object","additionalProperties":{"type":"object","properties":{"components":{"description":"Exact component values required on this input; default empty.","markdownDescription":"Exact component values required on this input; default empty."},"predicates":{"description":"Registered component predicates required on this input; default empty.","markdownDescription":"Registered component predicates required on this input; default empty."},"preserve":{"description":"State destination: result or remainder. Omit to consume only pristine or explicitly required state.","markdownDescription":"State destination: result or remainder. Omit to consume only pristine or explicitly required state."}},"description":"Pattern symbol or zero-based ingredient index mapped to an input rule.","markdownDescription":"Pattern symbol or zero-based ingredient index mapped to an input rule."},"description":"Input-state rules keyed by pattern symbol; default empty.","markdownDescription":"Input-state rules keyed by pattern symbol; default empty."},"category":{"description":"Recipe-book category: building, redstone, equipment, or misc; default misc.","markdownDescription":"Recipe-book category: `building`, `redstone`, `equipment`, or `misc`; default `misc`."},"group":{"description":"Recipe-book group string; default empty.","markdownDescription":"Recipe-book group string; default empty."},"show_notification":{"type":"boolean","description":"Shows the recipe-unlock notification; default true.","markdownDescription":"Shows the recipe-unlock notification; default `true`."}},"required":["pattern","key","result"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:crafting_shapeless"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"ingredients":{"description":"1–9 ingredients; each entry consumes one item from its assigned slot.","markdownDescription":"1–9 ingredients; each entry consumes one item from its assigned slot."},"result":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Output stack template. A result carrier requires count 1.","markdownDescription":"Output stack template. A result carrier requires count 1."},"input_state":{"type":"object","additionalProperties":{"type":"object","properties":{"components":{"description":"Exact component values required on this input; default empty.","markdownDescription":"Exact component values required on this input; default empty."},"predicates":{"description":"Registered component predicates required on this input; default empty.","markdownDescription":"Registered component predicates required on this input; default empty."},"preserve":{"description":"State destination: result or remainder. Omit to consume only pristine or explicitly required state.","markdownDescription":"State destination: result or remainder. Omit to consume only pristine or explicitly required state."}},"description":"Pattern symbol or zero-based ingredient index mapped to an input rule.","markdownDescription":"Pattern symbol or zero-based ingredient index mapped to an input rule."},"description":"Input-state rules keyed by zero-based ingredient index; default empty.","markdownDescription":"Input-state rules keyed by zero-based ingredient index; default empty."},"category":{"description":"Recipe-book category: building, redstone, equipment, or misc; default misc.","markdownDescription":"Recipe-book category: `building`, `redstone`, `equipment`, or `misc`; default `misc`."},"group":{"description":"Recipe-book group string; default empty.","markdownDescription":"Recipe-book group string; default empty."},"show_notification":{"type":"boolean","description":"Shows the recipe-unlock notification; default true.","markdownDescription":"Shows the recipe-unlock notification; default `true`."}},"required":["ingredients","result"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:crucible"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"frequency":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Positive tick interval for crucible recipe application; default 1.\n\nRange: [1, i32::MAX]","markdownDescription":"Positive tick interval for crucible recipe application; default 1.\n\nRange: [1, `i32::MAX`]"},"input_materials":{"type":"array","items":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"]},"description":"Nonempty material stacks consumed by the crucible; every amount must be positive.","markdownDescription":"Nonempty material stacks consumed by the crucible; every amount must be positive."},"output_materials":{"type":"array","items":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"]},"description":"Material stacks produced by the crucible; default empty.","markdownDescription":"Material stacks produced by the crucible; default empty."}},"required":["input_materials"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:crystallizer"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; an operation takes the effective value plus one tick. Keep the effective value within [0, 32766] because the machine stores progress as a signed short.\n\nRange: i32","markdownDescription":"Process duration in ticks; an operation takes the effective value plus one tick. Keep the effective value within [0, 32766] because the machine stores progress as a signed short.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"productivity":{"type":"number","description":"Per-level input-retention chance with the EFFECT upgrade; operation chance caps at 0.99; default 0.\n\nRange: f32","markdownDescription":"Per-level input-retention chance with the EFFECT upgrade; operation chance caps at 0.99; default 0.\n\nRange: `f32`"}},"required":["input_items","input_fluids","output_items","duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:custom_machine"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Base duration in ticks; definition multipliers apply before clamping to at least 1.\n\nRange: i32","markdownDescription":"Base duration in ticks; definition multipliers apply before clamping to at least 1.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Base HE demand per tick; definition multipliers apply before clamping to at least 1.\n\nRange: i64","markdownDescription":"Base HE demand per tick; definition multipliers apply before clamping to at least 1.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"pollution_amount":{"type":"number","description":"Pollution change: positive adds, negative removes; default 0.\n\nRange: f32","markdownDescription":"Pollution change: positive adds, negative removes; default 0.\n\nRange: `f32`"},"pollution_type":{"description":"Pollution kind: SOOT, POISON, HEAVYMETAL, or FALLOUT. Omitted: no pollution change.","markdownDescription":"Pollution kind: `SOOT`, `POISON`, `HEAVYMETAL`, or `FALLOUT`. Omitted: no pollution change."},"recipe_key":{"description":"Required key linking this process to custom-machine definitions.","markdownDescription":"Required key linking this process to custom-machine definitions."},"radiation_amount":{"type":"number","description":"Radiation change: positive adds, negative removes; default 0.\n\nRange: f32","markdownDescription":"Radiation change: positive adds, negative removes; default 0.\n\nRange: `f32`"},"flux":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Required flux when the definition enables flux mode; default 0.\n\nRange: i32","markdownDescription":"Required flux when the definition enables flux mode; default 0.\n\nRange: `i32`"},"heat":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Heat change: positive consumes, negative produces; default 0.\n\nRange: i32","markdownDescription":"Heat change: positive consumes, negative produces; default 0.\n\nRange: `i32`"}},"required":["input_items","input_fluids","output_items","duration","power","recipe_key"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:cyclotron"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"amat":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Antimatter added to the collector per operation; use [1, 8000] mB for positive output.\n\nRange: i32","markdownDescription":"Antimatter added to the collector per operation; use [1, 8000] mB for positive output.\n\nRange: `i32`"}},"required":["input_items","output_items","amat"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:duct_retype"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:duct_untype"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:electrolyser_fluid"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids","duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:electrolyser_metal"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"output_material":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"],"description":"Required primary material-stack output.","markdownDescription":"Required primary material-stack output."},"output_material_2":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"],"description":"Optional secondary material-stack output.","markdownDescription":"Optional secondary material-stack output."}},"required":["input_items","duration","output_material"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:exposure_chamber"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:fluid_breeder"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:fraction_tower"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:fuel_pool"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:fusion"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"blue":{"type":"number","description":"Blue plasma colour channel; [0, 1] gives the standard intensity range; default 0.6.\n\nRange: f32","markdownDescription":"Blue plasma colour channel; [0, 1] gives the standard intensity range; default 0.6.\n\nRange: `f32`"},"green":{"type":"number","description":"Green plasma colour channel; [0, 1] gives the standard intensity range; default 0.2.\n\nRange: f32","markdownDescription":"Green plasma colour channel; [0, 1] gives the standard intensity range; default 0.2.\n\nRange: `f32`"},"ignition_temp":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Minimum klystron energy needed to ignite the plasma; default 0.\n\nRange: i64","markdownDescription":"Minimum klystron energy needed to ignite the plasma; default 0.\n\nRange: `i64`"},"neutron_flux":{"type":"number","description":"Neutron output at full power, sent only with plasma output; default 0.\n\nRange: f64","markdownDescription":"Neutron output at full power, sent only with plasma output; default 0.\n\nRange: `f64`"},"output_temp":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Plasma output energy at full power; positive energy emits plasma; default 0.\n\nRange: i64","markdownDescription":"Plasma output energy at full power; positive energy emits plasma; default 0.\n\nRange: `i64`"},"red":{"type":"number","description":"Red plasma colour channel; [0, 1] gives the standard intensity range; default 1.0.\n\nRange: f32","markdownDescription":"Red plasma colour channel; [0, 1] gives the standard intensity range; default 1.0.\n\nRange: `f32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:gas_centrifuge"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"consumed":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Stage volume consumed per operation; use [1, 8000] for transfer; default 0.\n\nRange: i32","markdownDescription":"Stage volume consumed per operation; use [1, 8000] for transfer; default 0.\n\nRange: `i32`"},"stage":{"description":"Name of this enrichment stage, displayed through the translation key hbmpseudofluid.<stage> in lowercase; stages are internal identities, not pumpable fluids.","markdownDescription":"Name of this enrichment stage, displayed through the translation key `hbmpseudofluid.<stage>` in lowercase; stages are internal identities, not pumpable fluids."},"produced":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Stage volume passed to next; use [0, 8000]; default 0.\n\nRange: i32","markdownDescription":"Stage volume passed to `next`; use [0, 8000]; default 0.\n\nRange: `i32`"},"next":{"description":"Downstream stage name; omit for a terminal stage.","markdownDescription":"Downstream stage name; omit for a terminal stage."},"requires_upgrade":{"type":"boolean","description":"Requires the gas-centrifuge speed upgrade when true; default false.","markdownDescription":"Requires the gas-centrifuge speed upgrade when true; default false."},"feed":{"description":"Registered input fluid feeding this stage.","markdownDescription":"Registered input fluid feeding this stage."},"dead_end_volume":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Output-stage volume converted into dead_end_items when no gas centrifuge is downstream; use [1, 8000]; default 0.\n\nRange: i32","markdownDescription":"Output-stage volume converted into `dead_end_items` when no gas centrifuge is downstream; use [1, 8000]; default 0.\n\nRange: `i32`"},"dead_end_items":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Item stack templates produced at a dead end; default empty.","markdownDescription":"Item stack templates produced at a dead end; default empty."}},"required":["output_items","duration","power","stage"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:grenade_assembly"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:hydrotreater"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:lemegeton"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:liquefaction"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:magic"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:material_distribution"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"materials":{"type":"array","items":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"]},"description":"Material stacks assigned to the target.","markdownDescription":"Material stacks assigned to the target."},"targets":{"description":"Item ID, item tag, or nonempty ID list receiving this material mapping. Each item and tag may be targeted by one row; a duplicate fails data loading.","markdownDescription":"Item ID, item tag, or nonempty ID list receiving this material mapping. Each item and tag may be targeted by one row; a duplicate fails data loading."}},"required":["materials","targets"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:mixer"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["output_fluids","duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:mku"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:outgasser"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"fusion_only":{"type":"boolean","description":"Limits the recipe to the Fusion Reactor Breeding Chamber when true; default false.","markdownDescription":"Limits the recipe to the Fusion Reactor Breeding Chamber when true; default false."}},"required":["input_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:particle_accelerator"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"momentum":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Minimum beam momentum; default 0. The first row by order whose inputs match decides; a slower beam fails instead of trying later rows.\n\nRange: i32","markdownDescription":"Minimum beam momentum; default 0. The first row by `order` whose inputs match decides; a slower beam fails instead of trying later rows.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:pedestal"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"key":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"],"description":"Maps each grid symbol to a counted ingredient.","markdownDescription":"Maps each grid symbol to a counted ingredient."},"pattern":{"description":"Three rows of three characters for the fixed-grid recipe.","markdownDescription":"Three rows of three characters for the fixed-grid recipe."},"recipe_set":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Clay tablet that lists the ritual: 0 for hbm:clay_tablet, 1 for hbm:clay_tablet_1; other integers alias by parity; matching is unaffected; default 0.\n\nRange: i32","markdownDescription":"Clay tablet that lists the ritual: 0 for `hbm:clay_tablet`, 1 for `hbm:clay_tablet_1`; other integers alias by parity; matching is unaffected; default 0.\n\nRange: `i32`"},"extra":{"description":"Additional condition: none; full_moon or new_moon around midnight in that moon phase; sun around noon; good_karma or bad_karma with a player within 20 blocks at reputation at least 10 or at most -10; default none.","markdownDescription":"Additional condition: `none`; `full_moon` or `new_moon` around midnight in that moon phase; `sun` around noon; `good_karma` or `bad_karma` with a player within 20 blocks at reputation at least 10 or at most -10; default `none`."}},"required":["output_items","key","pattern"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:plasma_forge"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"ignition_temp":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Minimum plasma energy needed to ignite the forge; default 0.\n\nRange: i64","markdownDescription":"Minimum plasma energy needed to ignite the forge; default 0.\n\nRange: `i64`"}},"required":["output_items","duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:precision_assembler"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:press"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"stamp":{"description":"Required press stamp: flat, plate, wire, circuit, c357, c44, c50, c9, or printing1–printing8.","markdownDescription":"Required press stamp: `flat`, `plate`, `wire`, `circuit`, `c357`, `c44`, `c50`, `c9`, or `printing1`–`printing8`."}},"required":["input_items","output_items","stamp"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:purex"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:pyro_oven"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:radiolysis"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:rbmk_fuel_disassembly"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:refinery"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:rock_mill"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:rotary_furnace"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; use a positive value for timed processing.\n\nRange: i32","markdownDescription":"Process duration in ticks; use a positive value for timed processing.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"output_material":{"type":"object","properties":{"material":{"description":"NTM material name.","markdownDescription":"NTM material name."},"amount":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Quantity in NTM material units.\n\nRange: i32","markdownDescription":"Quantity in NTM material units.\n\nRange: `i32`"}},"required":["material","amount"],"description":"Material-stack output; the buffer holds 10,368 units of one material.","markdownDescription":"Material-stack output; the buffer holds 10,368 units of one material."},"steam":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Base steam use per working tick, multiplied by 1 + 10 _10 h for fuel heat h 1; the effective use must fit the 12,000 mB tank; default 0.\n\nRange: i32","markdownDescription":"Base steam use per working tick, multiplied by 1 + 10 _10 h for fuel heat h 1; the effective use must fit the 12,000 mB tank; default 0.\n\nRange: `i32`"}},"required":["duration","output_material"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:scraps_split"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{}},"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:shredder"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:silex"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"fluid_consumed":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Internal-buffer amount consumed per output; use [1, 16000] mB.\n\nRange: i32","markdownDescription":"Internal-buffer amount consumed per output; use [1, 16000] mB.\n\nRange: `i32`"},"fluid_produced":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Peroxide-to-buffer load per input item; use [1, 16000] mB. Fluid-input recipes load at 50 mB/t.\n\nRange: i32","markdownDescription":"Peroxide-to-buffer load per input item; use [1, 16000] mB. Fluid-input recipes load at 50 mB/t.\n\nRange: `i32`"},"laser_strength":{"description":"Minimum laser wavelength: null (no laser needed), ir, visible, uv, gamma, or drx. Each step above the minimum doubles progress speed.","markdownDescription":"Minimum laser wavelength: `null` (no laser needed), `ir`, `visible`, `uv`, `gamma`, or `drx`. Each step above the minimum doubles progress speed."}},"required":["output_items","fluid_consumed","fluid_produced","laser_strength"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:soldering"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"pcb":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Counted ingredients in the PCB input category; default empty.","markdownDescription":"Counted ingredients in the PCB input category; default empty."},"solder":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Counted ingredients in the solder input category; default empty.","markdownDescription":"Counted ingredients in the solder input category; default empty."}},"required":["output_items","duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:solidification"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:space_assembler"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_items","output_items","duration"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:supercomputer"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Ordered counted item inputs; defaults to an empty list.","markdownDescription":"Ordered counted item inputs; defaults to an empty list."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"icon":{"type":"object","properties":{"id":{"description":"Item ID.","markdownDescription":"Item ID."},"count":{"type":"number","minimum":1,"maximum":99,"description":"Stack size; default 1.\n\nRange: [1, 99]","markdownDescription":"Stack size; default 1.\n\nRange: [1, 99]"},"components":{"description":"Item-component values.","markdownDescription":"Item-component values."}},"required":["id"],"description":"Stack template displayed for the recipe; otherwise derived from the output.","markdownDescription":"Stack template displayed for the recipe; otherwise derived from the output."},"icon_from_input":{"type":"boolean","description":"Derives the display icon from the first item input when true; defaults to false.","markdownDescription":"Derives the display icon from the first item input when true; defaults to false."},"name_wrapper":{"description":"Translation key applied around the displayed recipe name.","markdownDescription":"Translation key applied around the displayed recipe name."},"custom_localization":{"type":"boolean","description":"Resolves the internal name as a translation key when true; defaults to false.","markdownDescription":"Resolves the internal name as a translation key when true; defaults to false."},"blueprint_pools":{"description":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine.","markdownDescription":"Blueprint pools containing the recipe; a pooled recipe needs a blueprint of one of them in the machine."},"blueprint_pools_528":{"description":"Replaces blueprint_pools while the enable_528 flag holds.","markdownDescription":"Replaces blueprint_pools while the enable_528 flag holds."},"auto_switch_group":{"description":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot.","markdownDescription":"Translation key grouping recipes; the machine switches to the group member whose first item input matches its first input slot."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["duration","power"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:tag_result"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"ingredients":{"description":"1–9 ingredients; each entry consumes one item from its assigned slot.","markdownDescription":"1–9 ingredients; each entry consumes one item from its assigned slot."},"result":{"type":"object","properties":{"tag":{"description":"Item tag used to select the result.","markdownDescription":"Item tag used to select the result."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Result count; default 1.\n\nRange: [1, i32::MAX]","markdownDescription":"Result count; default 1.\n\nRange: [1, `i32::MAX`]"}},"required":["tag"],"description":"Selects an item from a tag.","markdownDescription":"Selects an item from a tag."},"category":{"description":"Recipe-book category: building, redstone, equipment, or misc; default misc.","markdownDescription":"Recipe-book category: `building`, `redstone`, `equipment`, or `misc`; default `misc`."},"group":{"description":"Recipe-book group string; default empty.","markdownDescription":"Recipe-book group string; default empty."},"show_notification":{"type":"boolean","description":"Shows the recipe-unlock notification; default true.","markdownDescription":"Shows the recipe-unlock notification; default `true`."}},"required":["ingredients","result"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbm:vacuum_refinery"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid inputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid inputs with amount and pressure; defaults to an empty list."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Ordered fluid outputs with amount and pressure; defaults to an empty list.","markdownDescription":"Ordered fluid outputs with amount and pressure; defaults to an empty list."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbmspace:alkylation"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"The first entry's type selects the row; its amount is not used, and recipe viewers show 10 steps of each amount, so keep it at 100. An optional second entry is the acid drained per step. Further entries are ignored.","markdownDescription":"The first entry's type selects the row; its amount is not used, and recipe viewers show 10 steps of each amount, so keep it at 100. An optional second entry is the acid drained per step. Further entries are ignored."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Exactly two fluids filled per step; a row with fewer fails when the unit runs it.","markdownDescription":"Exactly two fluids filled per step; a row with fewer fails when the unit runs it."}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbmspace:atmosphere"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"At least one input gas.","markdownDescription":"At least one input gas."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Exactly one output gas.","markdownDescription":"Exactly one output gas."}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbmspace:cryo_distill"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"input_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"The first entry's type selects the row; its amount is not used, and recipe viewers show 10 steps, so keep it at 100.","markdownDescription":"The first entry's type selects the row; its amount is not used, and recipe viewers show 10 steps, so keep it at 100."},"output_fluids":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Registered fluid ID.","markdownDescription":"Registered fluid ID."},"amount":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: i64","markdownDescription":"Amount in mB; use [1, tank\\ capacity] for transfers because machine code casts to int.\n\nRange: `i64`"},"pressure":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Pressure level; default 0.\n\nRange: i32","markdownDescription":"Pressure level; default 0.\n\nRange: `i32`"}},"required":["type","amount"]},"description":"Exactly four fluids filled per tick; a row with fewer fails when the machine runs it.","markdownDescription":"Exactly four fluids filled per tick; a row with fewer fails when the machine runs it."}},"required":["input_fluids","output_fluids"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"hbmspace:vacuum_circuit"}},"required":["type"]},"then":{"type":"object","properties":{"type":{},"fabric:load_conditions":{},"neoforge:conditions":{},"_kubejs_changed_marker":{},"name":{"description":"Internal lookup name; defaults to the last segment of the recipe resource path.","markdownDescription":"Internal lookup name; defaults to the last segment of the recipe resource path."},"output_items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"integer","minimum":1,"maximum":99},"components":{"type":"object"},"chance":{"type":"number","exclusiveMinimum":0,"exclusiveMaximum":1}},"required":["id"]},{"type":"array","items":{"type":"object","properties":{"data":{"type":"object"},"weight":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["data","weight"]}}]},"description":"Fixed or weighted item-output positions; defaults to an empty list.","markdownDescription":"Fixed or weighted item-output positions; defaults to an empty list."},"duration":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Process duration in ticks; defaults to 0.\n\nRange: i32","markdownDescription":"Process duration in ticks; defaults to 0.\n\nRange: `i32`"},"power":{"type":"integer","minimum":-9223372036854776000,"maximum":9223372036854776000,"description":"HE demand; defaults to 0.\n\nRange: i64","markdownDescription":"HE demand; defaults to 0.\n\nRange: `i64`"},"order":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: i32","markdownDescription":"Sort position within the recipe table; lower values first, default 2147483647.\n\nRange: `i32`"},"input_items":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Wafer inputs for slots 0–1; at most two entries.","markdownDescription":"Wafer inputs for slots 0–1; at most two entries."},"pcb":{"type":"array","items":{"type":"object","properties":{"ingredient":{"description":"Item ID, item tag, or loader ingredient object.","markdownDescription":"Item ID, item tag, or loader ingredient object."},"count":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, i32::MAX]","markdownDescription":"Items required from one stack; default 1. The item stack limit bounds a usable count.\n\nRange: [1, `i32::MAX`]"},"components":{"description":"Exact item-component values.","markdownDescription":"Exact item-component values."},"predicates":{"description":"Item-component predicates.","markdownDescription":"Item-component predicates."}},"required":["ingredient"]},"description":"Circuit inputs for slots 2–3; at most two entries; default empty.","markdownDescription":"Circuit inputs for slots 2–3; at most two entries; default empty."}},"required":["output_items","duration","power","input_items"],"additionalProperties":false}},{"if":{"properties":{"type":{"const":"leafia:dfc"}},"required":["type"]},"then":{"not":{},"errorMessage":"`leafia:dfc` requires Cursed, which has no release for NTM 1.0.3.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"leafia:rtg_blast_furnace"}},"required":["type"]},"then":{"not":{},"errorMessage":"`leafia:rtg_blast_furnace` requires Cursed, which has no release for NTM 1.0.3.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"leafia:salt_separator"}},"required":["type"]},"then":{"not":{},"errorMessage":"`leafia:salt_separator` requires Cursed, which has no release for NTM 1.0.3.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"leafia:sol_blaster"}},"required":["type"]},"then":{"not":{},"errorMessage":"`leafia:sol_blaster` requires Cursed, which has no release for NTM 1.0.3.","doNotSuggest":true}}]}