onEvent('recipes', event => {

    const convertables = [
        { ae: 'appliedenergistics2:biometric_card', rs: 'refinedstorage:security_card' },
        { ae: 'appliedenergistics2:1k_cell_component', rs: 'refinedstorage:1k_storage_part' },
        { ae: 'appliedenergistics2:4k_cell_component', rs: 'refinedstorage:4k_storage_part' },
        { ae: 'appliedenergistics2:16k_cell_component', rs: 'refinedstorage:16k_storage_part' },
        { ae: 'appliedenergistics2:64k_cell_component', rs: 'refinedstorage:64k_storage_part' },
        { ae: 'appliedenergistics2:1k_fluid_cell_component', rs: 'refinedstorage:64k_fluid_storage_part' },
        { ae: 'appliedenergistics2:4k_fluid_cell_component', rs: 'refinedstorage:256k_fluid_storage_part' },
        { ae: 'appliedenergistics2:16k_fluid_cell_component', rs: 'refinedstorage:1024k_fluid_storage_part' },
        { ae: 'appliedenergistics2:64k_fluid_cell_component', rs: 'refinedstorage:4096k_fluid_storage_part' },
        { ae: 'appliedenergistics2:empty_storage_cell', rs: 'refinedstorage:storage_housing' },
        { ae: 'appliedenergistics2:redstone_card', rs: 'refinedstorage:regulator_upgrade' },
        { ae: 'appliedenergistics2:speed_card', rs: 'refinedstorage:speed_upgrade' },
        { ae: 'appliedenergistics2:wireless_booster', rs: 'refinedstorage:range_upgrade' },
        { ae: 'appliedenergistics2:crafting_card', rs: 'refinedstorage:crafting_upgrade' },
        { ae: 'appliedenergistics2:nether_quartz_wrench', rs: 'refinedstorage:wrench' },
        { ae: 'appliedenergistics2:blank_pattern', rs: 'refinedstorage:pattern' },
        { ae: 'appliedenergistics2:view_cell', rs: 'refinedstorage:filter' },
        { ae: 'appliedenergistics2:chest', rs: 'refinedstorage:portable_grid' },
        { ae: 'appliedenergistics2:fluix_glass_cable', rs: 'refinedstorage:cable' },
        { ae: 'appliedenergistics2:drive', rs: 'refinedstorage:disk_drive' },
        { ae: 'appliedenergistics2:storage_bus', rs: 'refinedstorage:external_storage' },
        { ae: 'appliedenergistics2:import_bus', rs: 'refinedstorage:importer' },
        { ae: 'appliedenergistics2:export_bus', rs: 'refinedstorage:exporter' },
        { ae: 'appliedenergistics2:interface', rs: 'refinedstorage:interface' },
        { ae: 'appliedenergistics2:fluid_interface', rs: 'refinedstorage:fluid_interface' },
        { ae: 'appliedenergistics2:storage_monitor', rs: 'refinedstorage:storage_monitor' },
        { ae: 'appliedenergistics2:formation_plane', rs: 'refinedstorage:constructor' },
        { ae: 'appliedenergistics2:annihilation_plane', rs: 'refinedstorage:destructor' },
        { ae: 'appliedenergistics2:terminal', rs: 'refinedstorage:grid' },
        { ae: 'appliedenergistics2:crafting_terminal', rs: 'refinedstorage:crafting_grid' },
        { ae: 'appliedenergistics2:pattern_terminal', rs: 'refinedstorage:pattern_grid' },
        { ae: 'appliedenergistics2:fluid_terminal', rs: 'refinedstorage:fluid_grid' },
        { ae: 'appliedenergistics2:toggle_bus', rs: 'refinedstorage:relay' },
        { ae: 'appliedenergistics2:level_emitter', rs: 'refinedstorage:detector' },
        { ae: 'appliedenergistics2:security_station', rs: 'refinedstorage:security_manager' },
        { ae: 'appliedenergistics2:wireless_access_point', rs: 'refinedstorage:wireless_transmitter' },
        { ae: 'appliedenergistics2:io_port', rs: 'refinedstorage:disk_manipulator' },
        { ae: 'appliedenergistics2:interface_terminal', rs: 'refinedstorage:crafter_manager' },
        { ae: 'appliedenergistics2:crafting_monitor', rs: 'refinedstorage:crafting_monitor' },
    ];

    convertables.forEach(convertable => {

        event.shapeless(
            convertable.ae, 
            [ convertable.rs ]
        ).id(`appliedenergistics2:kubejs/shapeless/${convertable.ae.substring(convertable.ae.indexOf(':')+1)}_from_rs`);

        event.shapeless(
            convertable.rs, 
            [ convertable.ae ]
        ).id(`kubejs:shapeless/${convertable.rs.substring(convertable.rs.indexOf(':')+1)}_from_ae`);

    });

    disks.forEach(disk => {

        event.shapeless(
            `refinedstorage:${disk}_storage_disk`,
            [ 'refinedstorage:storage_housing', `refinedstorage:${disk}_storage_part` ]
        ).id(`kubejs:shapeless/${disk}_storage_disk`);

    });
    

})