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

    event.remove({id: 'envirocore:litherite_crystal'});
    event.remove({id: 'envirocore:items/ct_litherite2'});
    event.remove({id: 'envirocore:items/ct_litherite4'});
    event.remove({id: 'envirocore:items/ct_litherite6'});
    event.remove({id: 'envirocore:items/ct_litherite8'});

    const to_remove = [
        'overloaded:nether_star_block',
        'draconicevolution:draconium_core',
        'mahoutsukai:mortar_and_pestle',
        'mahoutsukai:hammer',
        'pneumaticcraft:spawner_agitator',
    ]

    onEvent('recipes', event => {
        for (let item of to_remove) event.remove({output: item})
    })

    const newRecipes = [
        {
            output: 'overloaded:nether_star_block',
            pattern: ['AAA', 'ABA', 'AAA'],
            key: {
                A: 'compressedblocks:giga_crated_nether_star',
                B: 'draconicevolution:chaotic_core'
            },
            id: 'overloaded:nether_star_block'
        },
        {
            output: 'draconicevolution:draconium_core',
            pattern: ['ABA', 'BCB', 'ABA'],
            key: {
                A: 'draconicevolution:draconium_ingot',
                B: 'compressedblocks:c3_gold_block',
                C: 'compressedblocks:c3_obsidian'
            },
            id: 'draconicevolution:draconium_core'
        },
        {
            output: 'appliedenergistics2:silicon',
            pattern: ['   ', ' X ', '   '],
            key: {
                X: 'emendatusenigmatica:silicon_gem',
            },
            id: 'appliedenergistics2:silicon'
        },
        {
            output: 'appliedenergistics2:wooden_gear',
            pattern: [' X ', 'X X', ' X '],
            key: {
                X: 'minecraft:stick',
            },
            id: 'appliedenergistics2:wooden_gear'
        },
        {
            output: 'appliedenergistics2:fluix_dust',
            pattern: ['   ', ' XY', '   '],
            key: {
                X: 'appliedenergistics2:fluix_crystal',
                Y: 'emendatusenigmatica:enigmatic_hammer',
            },
            id: 'appliedenergistics2:fluix_dust'
        },
        {
            output: 'mahoutsukai:mortar_and_pestle',
            pattern: ['   ', 'XYZ', '   '],
            key: {
                X: 'mahoutsukai:mortar',
                Y: 'mahoutsukai:pestle',
                Z: 'compressedblocks:c6_lapis_block',
            },
            id: 'mahoutsukai:mortar_and_pestle'
        },
        {
            output: '9x envirocore:litherite_crystal',
            pattern: [' X ', ' YA', ' Z '],
            key: {
                X: 'minecraft:ender_pearl',
                Y: 'minecraft:emerald',
                Z: 'minecraft:quartz',
                A: 'compressedblocks:c2_redstone_block',
            },
            id: 'envirocore:litherite_crystal'
        },
        {
            output: 'appliedenergistics2:fluix_dust',
            pattern: ['XY ', '   ', '   '],
            key: {
                X: 'emendatusenigmatica:enigmatic_hammer',
                Y: 'appliedenergistics2:fluix_crystal',
            },
            id: 'appliedenergistics2:fluix_dust'
        },
        {
            output: 'envirocore:obsidian_plate',
            pattern: [' X ', 'XYX', ' X '],
            key: {
                X: 'minecraft:obsidian',
                Y: 'minecraft:iron_ingot',
            },
            id: 'envirocore:obsidian_plate'
        }

    ];

    newRecipes.forEach((recipe) => {
        if (recipe.id) {
            event.shaped(recipe.output, recipe.pattern, recipe.key).id(recipe.id);
        } else {
            event.shaped(recipe.output, recipe.pattern, recipe.key);
        }
    });

});