onEvent('recipes', (event) => {
    
    const id_prefix = 'immersiveengineering:kubejs/alloy';

    const recipes = [
        {
            inputs: ['atum:golden_date', '4x atum:nebu_block'],
            output: 'atum:golden_date_enchanted',
            id: 'golden_date_enchanted'
        },
        {
            inputs: ['4x darkutils:dark_glass', '4x engineersdecor:panzerglass_block'],
            output: '8x mob_grinding_utils:tinted_glass',
            id: 'tinted_glass'
        },
        {
            inputs: ['minecraft:netherite_scrap', '2x atum:nebu_drop'],
            output: '2x tconstruct:netherite_nugget',
            id: 'netherite_nugget'
        },
        {
            inputs: ['4x emendatusenigmatica:steel_ingot', 'alexsmobs:soul_heart'],
            output: '4x tconstruct:soulsteel_ingot',
            id: 'soulsteel_ingot'
        },
        {
            inputs: ['immersiveengineering:dust_hop_graphite', 'occultism:iesnium_ingot'],
            output: 'immersiveengineering:ingot_hop_graphite',
            id: 'ingot_hop_graphite'
        },
        {
            inputs: ['astralsorcery:stardust', 'kubejs:titanium_ingot'],
            output: 'astralsorcery:starmetal_ingot',
            id: 'starmetal_ingot'
        }
    ];

    recipes.forEach((recipe) => {
        event.recipes.immersiveengineering.alloy(recipe.output, recipe.inputs[0], recipe.inputs[1]).id(`${id_prefix}/${recipe.id}`);
    });

    ores.forEach((ore) => {
        let crystal = itemOf(`#mekanism:crystals/${ore}`);
        let gear = itemOf(`#forge:gears/${ore}`);
        if(crystal!=null && gear!=null){
            event.recipes.immersiveengineering.alloy(
                gear, Item.of(crystal,8), 'immersiveengineering:component_iron'
            ).id(`${id_prefix}/${ore}_gear`);
        }
    });

    colors.forEach((color) => {
        event.recipes.immersiveengineering.alloy(
            `2x atum:ceramic_${color}`,
            '2x atum:marl',
            `#forge:dyes/${color}`
        ).id(`${id_prefix}/ceramic_${color}`);
    });
});