Recipe Creation API¶
3. Recipe Creation API (All Machines & Overloads)¶
Macerator¶
Grinds items and ores into crushed/powdered forms.
- Signature: IndustrialJS.macerator(output, input) -> IndustrialJS
IndustrialJS.macerator('2x ic2:crushed_iron', 'minecraft:raw_iron');
IndustrialJS.macerator('4x minecraft:bone_meal', 'minecraft:bone');
Compressor¶
Compresses materials under extreme hydraulic pressure.
- Signature: IndustrialJS.compressor(output, input) -> IndustrialJS
IndustrialJS.compressor('minecraft:diamond', '64x minecraft:coal');
IndustrialJS.compressor('ic2:dense_copper_plate', '9x ic2:copper_plate');
Extractor¶
Extracts rubber, dyes, and biochemical fluids from raw organic materials.
- Signature: IndustrialJS.extractor(output, input) -> IndustrialJS
IndustrialJS.extractor('3x ic2:rubber', 'ic2:resin');
IndustrialJS.extractor('ic2:rubber', 'ic2:rubber_wood');
Ore Washing Plant¶
Cleans crushed ores using water to separate stone dust and valuable sub-products.
- Overload 1: IndustrialJS.oreWasher(outputs, input, waterAmount) -> IndustrialJS
- Overload 2: IndustrialJS.oreWasher(outputs, input) -> IndustrialJS (defaults to 1000 mB water)
// Outputs array: [Primary, Secondary, Tertiary]
IndustrialJS.oreWasher(
['ic2:purified_iron', '2x ic2:small_iron_dust', 'ic2:stone_dust'],
'ic2:crushed_iron',
1000 // 1000 mB water
);
Thermal Centrifuge¶
Spins purified ores under high rotational speed and temperature to isolate refined metals and rare dusts.
- Overload 1: IndustrialJS.thermalCentrifuge(outputs, input, minHeat) -> IndustrialJS
- Overload 2: IndustrialJS.thermalCentrifuge(outputs, input) -> IndustrialJS (defaults to 500 minHeat)
// Requires 1500 degrees minimum temperature:
IndustrialJS.thermalCentrifuge(
['ic2:refined_iron', 'ic2:small_gold_dust'],
'ic2:purified_iron',
1500
);
Blast Furnace¶
Refines iron into refined iron and slag using heat and compressed air.
- Overload 1: IndustrialJS.blastFurnace(outputs, input, duration, minHeat) -> IndustrialJS
- Overload 2: IndustrialJS.blastFurnace(outputs, input) -> IndustrialJS (defaults to 6000 ticks, 1000 minHeat)
IndustrialJS.blastFurnace(
['ic2:refined_iron_ingot', 'ic2:slag'],
'minecraft:iron_ingot',
6000, // Duration in ticks
1000 // Minimum operational heat
);
Block Cutter¶
Slices dense blocks and ingots into precision plates with minimal waste.
- Overload 1: IndustrialJS.blockCutter(output, input, hardness) -> IndustrialJS
- Overload 2: IndustrialJS.blockCutter(output, input) -> IndustrialJS (defaults to hardness 1)
// Standard plate cutting (hardness 1):
IndustrialJS.blockCutter('9x ic2:tin_plate', 'ic2:tin_block');
// Custom required hardness (3 for tough obsidian/steel blocks):
IndustrialJS.blockCutter('9x ic2:steel_plate', 'ic2:steel_block', 3);
Metal Former¶
The Metal Former operates in three distinct modes: Rolling, Cutting, and Extruding.
- Rolling: IndustrialJS.metalFormerRolling(output, input) -> IndustrialJS (Rolls ingots into dense plates)
- Cutting: IndustrialJS.metalFormerCutting(output, input) -> IndustrialJS (Cuts plates into insulated or uninsulated cables)
- Extruding: IndustrialJS.metalFormerExtruding(output, input) -> IndustrialJS (Extrudes ingots/plates into casings, rods, and tubes)
IndustrialJS.metalFormerRolling('ic2:bronze_plate', 'ic2:bronze_ingot');
IndustrialJS.metalFormerCutting('3x ic2:copper_cable', 'ic2:copper_plate');
IndustrialJS.metalFormerExtruding('ic2:casing_bronze', 'ic2:bronze_ingot');
Molecular Transformer¶
Matter transmutation device that consumes immense amounts of EU energy to transform elements.
- Signature: IndustrialJS.molecularTransformer(output, input, euCost) -> IndustrialJS
// Transmute Wither Skeleton Skull into a Nether Star for 250,000,000 EU:
IndustrialJS.molecularTransformer('minecraft:nether_star', 'minecraft:wither_skeleton_skull', 250000000.0);
// Transmute Iron Block into Gold Block for 5,000,000 EU:
IndustrialJS.molecularTransformer('minecraft:gold_block', 'minecraft:iron_block', 5000000.0);
Canning Machine: Fluid Enrichment¶
Enriches or chemically alters a base fluid by mixing it with an item/additive in the Canning Machine.
- Signature: IndustrialJS.cannerEnrich(outputFluid, inputFluid, additive) -> IndustrialJS
// Enrich 1000 mB water with coolant dust into 1000 mB coolant fluid:
IndustrialJS.cannerEnrich('1000mB ic2:coolant', '1000mB minecraft:water', 'ic2:coolant_drop');
Canning Machine: Fluid Bottling / Filling¶
Bottles liquids from the Canning Machine's internal tank into containers (bottles, tin cans, fuel cans).
- Signature: IndustrialJS.cannerBottle(output, container, fillFluid) -> IndustrialJS
// Fill glass bottle with 250 mB biomass to make a potion:
IndustrialJS.cannerBottle('minecraft:potion', 'minecraft:glass_bottle', '250mB ic2:biomass');
Scrapbox Drops¶
Registers new surprise items that can randomly drop when opening an IC2 Scrap Box.
- Signature: IndustrialJS.scrapbox(item, weight) -> IndustrialJS
IndustrialJS.scrapbox('minecraft:diamond', 0.05); // 5% relative weight
IndustrialJS.scrapbox('minecraft:emerald', 0.10); // 10% relative weight
IndustrialJS.scrapbox('ic2:iridium_ore', 0.01); // 1% rare drop
Matter Fabricator Amplifiers¶
Registers custom items or blocks as scrap amplifiers in the Matter Fabricator, accelerating UU-Matter production and drastically reducing EU energy demands.
- Signature: IndustrialJS.amplifier(item, amplification) -> IndustrialJS
IndustrialJS.amplifier('minecraft:cobblestone', 100);
IndustrialJS.amplifier('minecraft:netherrack', 250);
IndustrialJS.amplifier('ic2:scrap', 5000);
IndustrialJS.amplifier('ic2:scrap_box', 45000);
Mining Laser Super-Heat Smelting¶
Registers custom in-world block transformations when struck by the Mining Laser in Super-Heat beam mode.
- Signature: IndustrialJS.laserSmelting(input, output) -> void
- Query: IndustrialJS.getLaserSmelting(inputStack) -> ItemStack
IndustrialJS.laserSmelting('minecraft:sand', 'minecraft:glass');
IndustrialJS.laserSmelting('minecraft:cobblestone', 'minecraft:stone');
IndustrialJS.laserSmelting('minecraft:raw_iron_block', 'minecraft:iron_block');