ServerEvents.recipes(event => {
    // Refined storage is gated behind basic tier
    event.replaceInput(
        {id: 'refinedstorage:raw_advanced_processor'},
        'minecraft:glowstone_dust',
        '#kubejs:grist/intelligent/improved'
    )

    event.replaceInput(
        {mod: 'refinedstorage'},
        'minecraft:diamond',
        '#kubejs:grist/intelligent/basic'
    )

    event.replaceInput(
        {id: 'refinedstorage:cable'},
        'minecraft:redstone',
        '#kubejs:grist/energetic/basic'
    )

    // Everything wireless is behind intelligent procs
    event.replaceInput(
        {mod: 'refinedstorage'},
        '#forge:ender_pearls',
        'kubejs:intelligent_processor'
    )

    event.replaceInput(
        {id: 'refinedstorage:construction_core'},
        'minecraft:glowstone_dust',
        '#kubejs:grist/build/basic'
    )
    event.replaceInput(
        {id: 'refinedstorage:destruction_core'},
        'minecraft:quartz',
        '#kubejs:grist/intelligent/basic'
    )

    event.replaceInput(
        {id: 'refinedstorage:raw_improved_processor'},
        'minecraft:glowstone',
        '#kubejs:grist/intelligent/basic'
    )

    // smelt quartz dust for sillicon
    event.smelting("refinedstorage:silicon", "thermal:quartz_dust");

    // Custom malloc gating of autocrafting
    event.shaped('kubejs:raw_intelligent_processor', [
        'AB',
        'CD'
    ], {
        'A': "refinedstorage:processor_binding",
        'B': '#kubejs:grist/intelligent/radiant',
        'C': "refinedstorage:silicon",
        'D': global.ingotItem('steel')
    });
    event.shaped('kubejs:raw_deep_intelligent_processor', [
        'AB',
        'CD'
    ], {
        'A': "kubejs:raw_intelligent_processor",
        'B': '#kubejs:grist/intelligent/radiant',
        'C': "refinedstorage:silicon",
        'D': '#kubejs:grist/energetic/improved'
    });
    event.smelting('kubejs:intelligent_processor', 'kubejs:raw_intelligent_processor');
    event.smelting('kubejs:deep_intelligent_processor', 'kubejs:raw_deep_intelligent_processor');
    
    event.replaceInput(
        {id: "refinedstorage:crafter"},
        "refinedstorage:construction_core",
        'kubejs:deep_intelligent_processor'
    )

    event.replaceInput(
        {id: "refinedstorage:crafter"},
        "refinedstorage:destruction_core",
        "refinedstorage:basic_processor"
    );

    event.replaceInput(
        {id: 'refinedstorage:disk_drive'},
        '#handcrafted:chests',
        '#kubejs:grist/intelligent/improved'
    );

    event.replaceInput(
        {id: 'refinedstorage:1k_disk_part'},
        'minecraft:redstone',
        '#kubejs:grist/intelligent/improved'
    );

    event.recipes.thermal.smelter('2x refinedstorage:improved_processor', ["minecraft:gold_ingot", 'refinedstorage:silicon', '#kubejs:grist/intelligent/basic']);
    event.recipes.thermal.smelter('2x refinedstorage:basic_processor', ["minecraft:iron_ingot", 'refinedstorage:silicon', '#kubejs:grist/intelligent/basic']);
    event.recipes.thermal.smelter('2x refinedstorage:advanced_processor', ["minecraft:redstone", 'refinedstorage:silicon', '#kubejs:grist/intelligent/basic']);

    event.recipes.thermal.smelter('2x refinedstorage:improved_processor', ["minecraft:gold_ingot", 'thermal:quartz_dust', '#kubejs:grist/intelligent/basic']);
    event.recipes.thermal.smelter('2x refinedstorage:basic_processor', ["minecraft:iron_ingot", 'thermal:quartz_dust', '#kubejs:grist/intelligent/basic']);
    event.recipes.thermal.smelter('2x refinedstorage:advanced_processor', ["minecraft:redstone", 'thermal:quartz_dust', '#kubejs:grist/intelligent/basic']);
});