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

    const id_prefix = 'occultism:kubejs/crushing';

    const recipes = [
        {
            input: { item: 'bloodmagic:blankslate' },
            output: 'kubejs:bloodslate_dust',
            count: 1,
            time: 80,
            ignore_crushing_multiplier: true,
            id: 'bloodslate_dust_1'
        },
        {
            input: { item: 'bloodmagic:reinforcedslate' },
            output: 'kubejs:bloodslate_dust',
            count: 2,
            time: 100,
            ignore_crushing_multiplier: true,
            id: 'bloodslate_dust_2'
        },
        {
            input: { item: 'bloodmagic:infusedslate' },
            output: 'kubejs:bloodslate_dust',
            count: 4,
            time: 120,
            ignore_crushing_multiplier: true,
            id: 'bloodslate_dust_4'
        },
        {
            input: { item: 'bloodmagic:demonslate' },
            output: 'kubejs:bloodslate_dust',
            count: 8,
            time: 140,
            ignore_crushing_multiplier: true,
            id: 'bloodslate_dust_8'
        },
        {
            input: { item: 'bloodmagic:etherealslate' },
            output: 'kubejs:bloodslate_dust',
            count: 16,
            time: 160,
            ignore_crushing_multiplier: true,
            id: 'bloodslate_dust_16'
        },
        {
            input: { item: 'bloodmagic:defaultcrystal' },
            output: 'bloodmagic:corrupted_tinydust',
            count: 2,
            time: 100,
            ignore_crushing_multiplier: false,
            id: 'corrupted_tinydust'
        },
        {
            input: { item: 'buildinggadgets:construction_block_dense' },
            output: 'buildinggadgets:construction_paste',
            count: 1,
            time: 200,
            ignore_crushing_multiplier: false,
            id: 'construction_paste'
        },
        {
            input: { item: 'astralsorcery:starmetal_ore' },
            output: 'astralsorcery:stardust',
            count: 2,
            time: 160,
            ignore_crushing_multiplier: true,
            id: 'stardust'
        },
        {
            input: { item: 'rftoolspower:blazing_rod' },
            output: 'kubejs:blazing_powder',
            count: 4,
            time: 160,
            ignore_crushing_multiplier: true,
            id: 'blazing_powder'
        }
    ];

    recipes.forEach((recipe) => {

        event.custom({
                type: 'occultism:crushing',
                ingredient: recipe.input,
                result: {
                    item: recipe.output,
                    count: recipe.count
                },
                crushing_time: recipe.time,
                ignore_crushing_multiplier: recipe.ignore_crushing_multiplier
        }).id(`${id_prefix}/${recipe.id}`);
        
    });

    bbbb.forEach(type => {
        const rod = itemOf(`#forge:rods/${type}`);
        const dust = itemOf(`#forge:dusts/${type}`);
        event.custom({
            type: 'occultism:crushing',
            ingredient: { item: rod },
            result: {
                item: dust,
                count: 4
            },
            crushing_time: 160,
            ignore_crushing_multiplier: true
        }).id(`${id_prefix}/${type}_powder`);
    });

    ores.forEach(type => {
        const ore = `#forge:ores/${type}`;
        const gem = itemOf(`#forge:gems/${type}`);
        const dust = itemOf(`#forge:dusts/${type}`);
        var output,
            count = 1;
        if(gem!=null){
            output = gem;
            if(cgems.includes(gem)){
                count = 2;
            }
        }else if(dust!=null){
            output = dust;
        }
        event.custom({
            type: 'occultism:crushing',
            ingredient: Ingredient.of(ore).toJson(),
            result: {
                item: output,
                count: count
            },
            crushing_time: 80,
            ignore_crushing_multiplier: false
        }).id(`${id_prefix}/${type}`);
    });
});