onEvent('recipes', (event) => {

    const id_prefix = 'industrialforegoing:kubejs/dissolution_chamber';

    const recipes = [
        {
            inputs: [
                'industrialforegoing:plastic',
                'jaept:machine_frame_pity',
                'industrialforegoing:plastic',
                'botania:manasteel_ingot',
                'botania:manasteel_ingot',
                'kubejs:titanium_ingot',
                'immersiveengineering:heavy_engineering',
                'kubejs:titanium_ingot'
            ],
            inputFluid: 'kubejs:asphalt',
            inputFluidAmount: 500,
            processingTime: 300,
            outputItem: { item: 'jaept:machine_frame_simple', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'machine_frame_simple'
        },
        {
            inputs: [
                'appliedenergistics2:purified_nether_quartz_crystal',
                'minecraft:quartz',
                'appliedenergistics2:purified_nether_quartz_crystal',
                'minecraft:quartz',
                'minecraft:quartz',
                'appliedenergistics2:purified_nether_quartz_crystal',
                'minecraft:quartz',
                'appliedenergistics2:purified_nether_quartz_crystal'
            ],
            inputFluid: 'kubejs:asphalt',
            inputFluidAmount: 1000,
            processingTime: 400,
            outputItem: { item: 'botania:quartz_dark', count: 8 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'quartz_dark'
        },
        {
            inputs: [
                'create:shadow_steel_casing',
                'powah:dielectric_rod_horizontal',
                'kubejs:dielectric_frame',
                'powah:dielectric_rod_horizontal',
                'powah:dielectric_rod_horizontal',
                'kubejs:dielectric_frame',
                'powah:dielectric_rod_horizontal',
                'create:shadow_steel_casing'
            ],
            inputFluid: 'kubejs:asphalt',
            inputFluidAmount: 500,
            processingTime: 300,
            outputItem: { item: 'powah:dielectric_casing', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'dielectric_casing'
        },
        {
            inputs: [
                'powah:dielectric_paste',
                'engineersdecor:panzerglass_slab',
                'powah:dielectric_paste',
                'astralsorcery:nocturnal_powder',
                'astralsorcery:nocturnal_powder',
                'powah:dielectric_paste',
                'kubejs:quartz_crystal_pack',
                'powah:dielectric_paste'
            ],
            inputFluid: 'kubejs:asphalt',
            inputFluidAmount: 500,
            processingTime: 200,
            outputItem: { item: 'powah:photoelectric_pane', count: 2 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'photoelectric_pane'
        },
        {
            inputs: [
                'kubejs:stainless_steel_plate',
                'emendatusenigmatica:aluminum_plate',
                'kubejs:stainless_steel_plate',
                'emendatusenigmatica:aluminum_plate',
                'emendatusenigmatica:aluminum_plate',
                'kubejs:stainless_steel_plate',
                'emendatusenigmatica:aluminum_plate',
                'kubejs:stainless_steel_plate'
            ],
            inputFluid: 'industrialforegoing:latex',
            inputFluidAmount: 4000,
            processingTime: 400,
            outputItem: { item: 'kubejs:industrial_casing', count: 4 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'industrial_casing'
        },
        {
            inputs: [
                'industrialforegoing:plastic',
                'industrialforegoing:common_black_hole_unit',
                'industrialforegoing:plastic',
                'create:adjustable_crate',
                'create:adjustable_crate',
                'thermal:diving_fabric',
                'immersiveengineering:reinforced_crate',
                'thermal:diving_fabric'
            ],
            inputFluid: 'industrialforegoing:latex',
            inputFluidAmount: 1000,
            processingTime: 160,
            outputItem: { item: 'industrialforegoing:pity_black_hole_unit', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'pity_black_hole_unit'
        },
        {
            inputs: [
                'industrialforegoing:plastic',
                'industrialforegoing:common_black_hole_tank',
                'industrialforegoing:plastic',
                'mob_grinding_utils:tank',
                'mob_grinding_utils:tank',
                'thermal:diving_fabric',
                'immersiveengineering:metal_barrel',
                'thermal:diving_fabric'
            ],
            inputFluid: 'industrialforegoing:latex',
            inputFluidAmount: 1000,
            processingTime: 160,
            outputItem: { item: 'industrialforegoing:pity_black_hole_tank', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'pity_black_hole_tank'
        },
        {
            inputs: [
                'appliedenergistics2:quartz_glass',
                'emendatusenigmatica:quartz_crystal',
                'appliedenergistics2:quartz_glass',
                'emendatusenigmatica:quartz_crystal',
                'emendatusenigmatica:quartz_crystal',
                'appliedenergistics2:quartz_glass',
                'emendatusenigmatica:quartz_crystal',
                'appliedenergistics2:quartz_glass'
            ],
            inputFluid: 'industrialforegoing:latex',
            inputFluidAmount: 200,
            processingTime: 200,
            outputItem: { item: 'appliedenergistics2:quartz_fiber', count: 8 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'quartz_fiber'
        },
        {
            inputs: [
                'appliedenergistics2:purified_certus_quartz_crystal',
                'rftoolsstorage:storage_module0',
                'appliedenergistics2:purified_certus_quartz_crystal',
                'appliedenergistics2:logic_processor',
                'appliedenergistics2:logic_processor',
                'appliedenergistics2:purified_certus_quartz_crystal',
                'powah:blank_card',
                'appliedenergistics2:purified_certus_quartz_crystal'
            ],
            inputFluid: 'industrialforegoing:latex',
            inputFluidAmount: 400,
            processingTime: 200,
            outputItem: { item: 'appliedenergistics2:1k_cell_component', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: '1k_cell_component'
        },
        {
            inputs: [
                'appliedenergistics2:purified_certus_quartz_crystal',
                'pedestals:coin/fluidtank',
                'appliedenergistics2:purified_certus_quartz_crystal',
                'appliedenergistics2:logic_processor',
                'appliedenergistics2:logic_processor',
                'appliedenergistics2:purified_certus_quartz_crystal',
                'powah:blank_card',
                'appliedenergistics2:purified_certus_quartz_crystal'
            ],
            inputFluid: 'industrialforegoing:latex',
            inputFluidAmount: 400,
            processingTime: 200,
            outputItem: { item: 'appliedenergistics2:1k_fluid_cell_component', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: '1k_fluid_cell_component'
        },
        {
            inputs: [
                'buildinggadgets:construction_paste',
                'immersivepetroleum:petcoke_dust',
                'buildinggadgets:construction_paste',
                'thermal:cured_rubber',
                'thermal:cured_rubber',
                'buildinggadgets:construction_paste',
                'immersivepetroleum:petcoke_dust',
                'buildinggadgets:construction_paste'
            ],
            inputFluid: 'industrialforegoing:sludge',
            inputFluidAmount: 400,
            processingTime: 400,
            outputItem: { item: 'powah:dielectric_paste', count: 16 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'dielectric_paste'
        },
        {
            inputs: [
                'botania:black_lotus',
                'botania:grass_seeds',
                'botania:black_lotus',
                'bloodmagic:reagentgrowth',
                'bloodmagic:reagentgrowth',
                'botania:black_lotus',
                'botania:grass_seeds',
                'botania:black_lotus'
            ],
            inputFluid: 'industrialforegoing:sludge',
            inputFluidAmount: 2000,
            processingTime: 400,
            outputItem: { item: 'botania:overgrowth_seed', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'overgrowth_seed'
        },
        {
            inputs: [
                'twilightforest:liveroot',
                '#mekanism:crystals/gold',
                'twilightforest:liveroot',
                '#forge:ingots/iron',
                '#forge:ingots/iron',
                'twilightforest:liveroot',
                '#mekanism:crystals/gold',
                'twilightforest:liveroot'
            ],
            inputFluid: 'industrialforegoing:sludge',
            inputFluidAmount: 200,
            processingTime: 300,
            outputItem: { item: 'twilightforest:ironwood_raw', count: 2 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'ironwood_raw'
        },
        {
            inputs: [
                'botania:livingrock_bricks',
                'appliedenergistics2:sky_dust',
                'botania:livingrock_bricks',
                'kubejs:empty_quartz_lavender',
                'kubejs:empty_quartz_lavender',
                'botania:livingrock_bricks',
                'appliedenergistics2:sky_dust',
                'botania:livingrock_bricks'
            ],
            inputFluid: 'industrialforegoing:sludge',
            inputFluidAmount: 1000,
            processingTime: 400,
            outputItem: { item: 'botania:white_pavement', count: 4 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'white_pavement'
        },
        {
            inputs: [
                '#forge:plates/netherite',
                'botania:mana_quartz',
                '#forge:plates/netherite',
                'powah:capacitor_basic_large',
                'powah:capacitor_basic_large',
                'kubejs:dielectric_block',
                'powah:energizing_rod_starter',
                'kubejs:dielectric_block'
            ],
            inputFluid: 'industrialforegoing:pink_slime',
            inputFluidAmount: 1000,
            processingTime: 400,
            outputItem: { item: 'powah:energizing_rod_basic', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'energizing_rod_basic'
        },
        {
            inputs: [
                '#forge:plates/netherite',
                'botania:mana_quartz',
                '#forge:plates/netherite',
                'powah:capacitor_basic_large',
                'powah:capacitor_basic_large',
                'kubejs:dielectric_block',
                'powah:energy_cell_starter',
                'kubejs:dielectric_block'
            ],
            inputFluid: 'industrialforegoing:pink_slime',
            inputFluidAmount: 1000,
            processingTime: 400,
            outputItem: { item: 'powah:energy_cell_basic', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'energy_cell_basic'
        },
        {
            inputs: [
                '#forge:plates/netherite',
                'botania:mana_glass',
                '#forge:plates/netherite',
                'powah:capacitor_basic_large',
                'powah:capacitor_basic_large',
                'kubejs:dielectric_block',
                'powah:solar_panel_starter',
                'kubejs:dielectric_block'
            ],
            inputFluid: 'industrialforegoing:pink_slime',
            inputFluidAmount: 1000,
            processingTime: 400,
            outputItem: { item: 'powah:solar_panel_basic', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'solar_panel_basic'
        },
        {
            inputs: [
                'powah:dielectric_paste',
                'kubejs:stainless_steel_sheetmetal',
                'powah:dielectric_paste',
                'powah:capacitor_basic_large',
                'powah:capacitor_basic_large',
                'powah:dielectric_paste',
                'immersiveengineering:capacitor_mv',
                'powah:dielectric_paste'
            ],
            inputFluid: 'industrialforegoing:pink_slime',
            inputFluidAmount: 500,
            processingTime: 300,
            outputItem: { item: 'powah:battery_basic', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'battery_basic'
        },
        {
            inputs: [
                'thermal:cured_rubber',
                'powah:dielectric_rod',
                'thermal:cured_rubber',
                'kubejs:stainless_steel_plate',
                'kubejs:stainless_steel_plate',
                'create:shadow_steel',
                'bloodmagic:slate_vial',
                'create:shadow_steel'
            ],
            inputFluid: 'industrialforegoing:pink_slime',
            inputFluidAmount: 1000,
            processingTime: 200,
            outputItem: { item: 'rftoolsutility:syringe', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'syringe'
        },
        {
            inputs: [
                'appliedenergistics2:purified_fluix_crystal',
                'appliedenergistics2:energy_cell',
                'appliedenergistics2:purified_fluix_crystal',
                'appliedenergistics2:energy_cell',
                'appliedenergistics2:energy_cell',
                'appliedenergistics2:purified_fluix_crystal',
                'appliedenergistics2:energy_cell',
                'appliedenergistics2:purified_fluix_crystal'
            ],
            inputFluid: 'industrialforegoing:pink_slime',
            inputFluidAmount: 2000,
            processingTime: 400,
            outputItem: { item: 'appliedenergistics2:dense_energy_cell', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'dense_energy_cell'
        },
        {
            inputs: [
                'supplementaries:fodder',
                'occultism:tallow',
                'supplementaries:fodder',
                'farmersdelight:fried_egg',
                'farmersdelight:fried_egg',
                'supplementaries:fodder',
                'occultism:tallow',
                'supplementaries:fodder'
            ],
            inputFluid: 'industrialforegoing:meat',
            inputFluidAmount: 4000,
            processingTime: 240,
            outputItem: { item: 'kubejs:high_protein_fodder', count: 4 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'high_protein_fodder'
        },
        {
            inputs: [
                'minecraft:cactus',
                'eidolon:warped_sprouts',
                'minecraft:cactus',
                'occultism:datura',
                'occultism:datura',
                'minecraft:cactus',
                'bloodmagic:corrosivecatalyst',
                'minecraft:cactus'
            ],
            inputFluid: 'industrialforegoing:meat',
            inputFluidAmount: 1000,
            processingTime: 320,
            outputItem: { item: 'botania:cell_block', count: 4 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'cell_block'
        },
        {
            inputs: [
                'industrialforegoing:plastic',
                'jaept:machine_frame_simple',
                'industrialforegoing:plastic',
                'industrialforegoing:pink_slime_ingot',
                'industrialforegoing:pink_slime_ingot',
                'createaddition:overcharged_casing',
                Item.of('powah:battery_basic').ignoreNBT(),
                'createaddition:overcharged_casing'
            ],
            inputFluid: 'materialis:molten_fairy',
            inputFluidAmount: 576,
            processingTime: 300,
            outputItem: { item: 'jaept:machine_frame_advanced', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'machine_frame_advanced'
        },
        {
            inputs: [
                '#forge:ingots/steel',
                '#twilightforest:fiery_vial',
                '#forge:ingots/steel',
                '#twilightforest:fiery_vial',
                '#twilightforest:fiery_vial',
                '#forge:ingots/steel',
                '#twilightforest:fiery_vial',
                '#forge:ingots/steel'
            ],
            inputFluid: 'materialis:molten_fairy',
            inputFluidAmount: 288,
            processingTime: 400,
            outputItem: { item: 'twilightforest:fiery_ingot', count: 4 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'fiery_ingot'
        },
        {
            inputs: [
                'industrialforegoing:plastic',
                'appliedenergistics2:calculation_processor',
                'industrialforegoing:plastic',
                'botania:quartz_blaze',
                'botania:quartz_blaze',
                'industrialforegoing:plastic',
                'appliedenergistics2:calculation_processor',
                'industrialforegoing:plastic'
            ],
            inputFluid: 'materialis:molten_fairy',
            inputFluidAmount: 144,
            processingTime: 400,
            outputItem: { item: 'appliedenergistics2:basic_card', count: 2 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'basic_card'
        },
        {
            inputs: [
                '#forge:gems/dimensional',
                'minecraft:ender_pearl',
                '#forge:gems/dimensional',
                'botania:mana_string',
                'botania:mana_string',
                '#forge:gems/dimensional',
                'minecraft:ender_pearl',
                '#forge:gems/dimensional'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 100,
            processingTime: 400,
            outputItem: { item: 'rftoolsbase:infused_enderpearl', count: 2 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'infused_enderpearl'
        },
        {
            inputs: [
                'kubejs:temporal_shard',
                'botania:mana_diamond',
                'kubejs:temporal_shard',
                'kubejs:dimension_ingot',
                'kubejs:dimension_ingot',
                'kubejs:temporal_shard',
                'botania:mana_diamond',
                'kubejs:temporal_shard'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 1000,
            processingTime: 400,
            outputItem: { item: 'rftoolsbase:infused_diamond', count: 2 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'infused_diamond'
        },
        {
            inputs: [
                'emendatusenigmatica:dimensional_dust',
                'create:cinder_flour',
                'emendatusenigmatica:dimensional_dust',
                'atum:fertile_soil_pile',
                'occultism:crushed_end_stone',
                'emendatusenigmatica:dimensional_dust',
                'twilightforest:transformation_powder',
                'emendatusenigmatica:dimensional_dust'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 250,
            processingTime: 400,
            outputItem: { item: 'rftoolsdim:dimensional_blank_block', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'dimensional_blank_block'
        },
        {
            inputs: [
                'powah:dry_ice',
                'botania:manaweave_cloth',
                'powah:dry_ice',
                'twilightforest:arctic_fur',
                'twilightforest:arctic_fur',
                'powah:dry_ice',
                'botania:manaweave_cloth',
                'powah:dry_ice'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 500,
            processingTime: 300,
            outputItem: { item: 'twilightforest:alpha_fur', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'alpha_fur'
        },
        {
            inputs: [
                'compactmachines:wall',
                'rftoolsbase:machine_base',
                'compactmachines:wall',
                'kubejs:dimension_plate',
                'kubejs:dimension_plate',
                'immersiveengineering:radiator',
                'rftoolsbase:machine_base',
                'immersiveengineering:radiator'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 500,
            processingTime: 400,
            outputItem: { item: 'rftoolsbase:machine_frame', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'machine_frame'
        },
        {
            inputs: [
                'kubejs:industrial_casing',
                'mininggadgets:mininggadget',
                'kubejs:industrial_casing',
                'twilightforest:carminite',
                'twilightforest:carminite',
                'immersiveengineering:sheetmetal_steel',
                'jaept:machine_frame_simple',
                'immersiveengineering:sheetmetal_steel'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 200,
            processingTime: 250,
            outputItem: { item: 'industrialforegoing:laser_drill', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'laser_drill'
        },
        {
            inputs: [
                'kubejs:industrial_casing',
                'jaept:machine_frame_advanced',
                'kubejs:industrial_casing',
                'rftoolsutility:slowness_module',
                'rftoolsutility:noteleport_module',
                'immersiveengineering:sheetmetal_steel',
                'rftoolsutility:regeneration_module',
                'immersiveengineering:sheetmetal_steel'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 400,
            processingTime: 400,
            outputItem: { item: 'industrialforegoing:stasis_chamber', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'stasis_chamber'
        },
        {
            inputs: [
                'kubejs:stainless_steel_rod',
                'emendatusenigmatica:charged_certus_quartz_gem',
                'kubejs:stainless_steel_rod',
                'appliedenergistics2:import_bus',
                'appliedenergistics2:export_bus',
                'kubejs:stainless_steel_rod',
                'emendatusenigmatica:charged_certus_quartz_gem',
                'kubejs:stainless_steel_rod'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 250,
            processingTime: 300,
            outputItem: { item: 'appliedenergistics2:interface', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'interface'
        },
        {
            inputs: [
                'kubejs:stainless_steel_rod',
                'emendatusenigmatica:charged_certus_quartz_gem',
                'kubejs:stainless_steel_rod',
                'appliedenergistics2:fluid_import_bus',
                'appliedenergistics2:fluid_export_bus',
                'kubejs:stainless_steel_rod',
                'emendatusenigmatica:charged_certus_quartz_gem',
                'kubejs:stainless_steel_rod'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 250,
            processingTime: 300,
            outputItem: { item: 'appliedenergistics2:fluid_interface', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'fluid_interface'
        },
        {
            inputs: [
                'kubejs:stainless_steel_plate',
                'rftoolsstorage:dump_module',
                'kubejs:stainless_steel_plate',
                'appliedenergistics2:fluix_glass_cable',
                'appliedenergistics2:fluix_glass_cable',
                'appliedenergistics2:logic_processor',
                'appliedenergistics2:drive',
                'appliedenergistics2:logic_processor'
            ],
            inputFluid: 'industrialforegoing:ether_gas',
            inputFluidAmount: 500,
            processingTime: 400,
            outputItem: { item: 'appliedenergistics2:io_port', count: 1 },
            outputFluid: '',
            outputFluidAmount: 0,
            id: 'io_port'
        }
        /*
        {
            inputs: [
                '', // top left
                '', // top 
                '', // top right
                '', // left
                '', // right
                '', // bottom left
                '', // bottom
                ''  // bottom right
            ],
            inputFluid: '', // optional
            inputFluidAmount: 0, // leave at 0 for no fluid
            processingTime: 50,
            outputItem: { item: '', count: 1 },
            outputFluid: '', // optional
            outputFluidAmount: 0, // leave at 0 for no fluid
            id: ''
        }
        */
    ];

    for(var i=0;i<16;i++) {
        let color = colors[i];
        recipes.push(
            {
                inputs: [
                    'botania:mana_glass_pane',
                    'astralsorcery:glass_lens',
                    'botania:mana_glass_pane',
                    'kubejs:titanium_dust',
                    `#forge:dyes/${color}`,
                    'botania:mana_glass_pane',
                    'astralsorcery:glass_lens',
                    'botania:mana_glass_pane'
                ],
                inputFluid: 'industrialforegoing:latex',
                inputFluidAmount: 500,
                processingTime: 400,
                outputItem: { item: 'industrialforegoing:laser_lens'+i, count: 1 },
                outputFluid: '',
                outputFluidAmount: 0,
                id: `laser_lens_${color}`
            }
        );
    };

    recipes.forEach((recipe) => {
        let ingredients = [];

        recipe.inputs.forEach((input) => {
            ingredients.push(Ingredient.of(input));
        });

        event
            .custom({
                type: 'industrialforegoing:dissolution_chamber',
                input: ingredients,
                inputFluid: `{FluidName:"${recipe.inputFluid}",Amount:${recipe.inputFluidAmount}}`,
                processingTime: recipe.processingTime,
                output: recipe.outputItem,
                outputFluid: `{FluidName:"${recipe.outputFluid}",Amount:${recipe.outputFluidAmount}}`
            })
            .id(`${id_prefix}/${recipe.id}`);
    });
});
