// priority: 900
// Visit the wiki for more info - https://kubejs.com/
console.info('Hello, World! (Loaded CRAFTING TABLE/GTCEU.js)')


ServerEvents.recipes(event => {

    // ********************************** //
    // ***** MULTIBLOCK CONTROLLERS ***** //
    // ********************************** //

    // certus_quartz_charger
    event.shaped('gtceu:certus_quartz_charger', [
        'ABA',
        'CDC',
        'AEA',
    ], {
        A: 'gtceu:mv_electric_motor',
        B: 'ae2:energy_level_emitter',
        C: '#gtceu:circuits/mv',
        D: 'gtceu:mv_machine_hull',
        E: 'gtceu:mv_emitter',
    })
        .id('kubejs:crafting/gtceu/certus_quartz_charger')

    // large_inscriber
    event.shaped('gtceu:large_inscriber', [
        'ACA',
        'CDC',
        'AEA',
    ], {
        A: 'gtceu:mv_electric_piston',
        C: '#gtceu:circuits/mv',
        D: 'gtceu:mv_machine_hull',
        E: 'gtceu:mv_robot_arm',
    })
        .id('kubejs:crafting/gtceu/large_inscriber')

    // large_resource_generator
    event.shaped('gtceu:large_resource_generator', [
        'ACA',
        'CDC',
        'AEA',
    ], {
        A: 'gtceu:ev_electric_motor',
        C: '#gtceu:circuits/iv',
        D: 'gtceu:ev_machine_hull',
        E: 'gtceu:ev_electric_piston',
    })
        .id('kubejs:crafting/gtceu/large_resource_generator')

    // natural_fluid_generator
    event.shaped('gtceu:natural_fluid_generator', [
        'ACA',
        'CDC',
        'AEA',
    ], {
        E: 'gtceu:mv_electric_motor',
        C: '#gtceu:circuits/mv',
        D: 'gtceu:mv_machine_hull',
        A: 'gtceu:mv_electric_pump',
    })
        .id('kubejs:crafting/gtceu/natural_fluid_generator')

    // desulfurizer
    event.shaped('gtceu:desulfurizer', [
        'AEA',
        'CDC',
        'AEA',
    ], {
        E: 'gtceu:ev_electric_motor',
        C: '#gtceu:circuits/ev',
        D: 'gtceu:ev_machine_hull',
        A: 'gtceu:ev_electric_pump',
    })
        .id('kubejs:crafting/gtceu/desulfurizer')

    // glass_box
    event.shaped('gtceu:glass_box', [
        'AEA',
        'CDC',
        'AEA',
    ], {
        E: 'gtceu:laminated_glass',
        C: '#gtceu:circuits/hv',
        D: 'gtceu:hv_machine_hull',
        A: 'gtceu:hv_electric_motor',
    })
        .id('kubejs:crafting/gtceu/glass_box')

    // large_gas_collector
    event.shaped('gtceu:large_gas_collector', [
        'AEA',
        'CDC',
        'ACA',
    ], {
        A: 'gtceu:iv_electric_pump',
        C: '#gtceu:circuits/iv',
        D: 'gtceu:iv_gas_collector',
        E: 'gtceu:iv_electric_motor',
    })
        .id('kubejs:crafting/gtceu/large_gas_collector')

    // auto_cutting_board
    event.shaped('gtceu:auto_cutting_board', [
        'FAF',
        'CBD',
        'EGE',
    ], {
        A: 'easypaxellite:iron_paxel',
        B: 'gtceu:lv_machine_hull',
        C: 'minecraft:shears',
        D: 'farmersdelight:iron_knife',
        E: '#gtceu:circuits/lv',
        F: 'gtceu:lv_electric_motor',
        G: 'gtceu:lv_robot_arm',
    })
        .id('kubejs:crafting/gtceu/auto_cutting_board')

    // auto_cooking_pot
    event.shaped('gtceu:auto_cooking_pot', [
        'AEA',
        'BCB',
        'DBD',
    ], {
        A: 'minecraft:smoker',
        B: '#gtceu:circuits/lv',
        C: 'gtceu:heatproof_machine_casing',
        D: 'gtceu:tin_single_cable',
        E: 'minecraft:cauldron',
    })
        .id('kubejs:crafting/gtceu/auto_cooking_pot')

    // apothic_condenser
    event.shaped('gtceu:apothic_condenser', [
        'RGB',
        'DCD',
        'FEF',
    ], {
        R: '#forge:lenses/red',
        G: '#forge:lenses/green',
        B: '#forge:lenses/blue',
        C: 'gtceu:steel_turbine_casing',
        D: '#gtceu:circuits/mv',
        E: 'gtceu:computer_monitor_cover',
        F: 'apotheosis:gem_dust',
    })
        .id('kubejs:crafting/gtceu/apothic_condenser')

    // simulation_arena
    event.shaped('gtceu:simulation_arena', [
        'AAA',
        'DCD',
        'FEF',
    ], {
        A: 'gtceu:platinum_quadruple_cable',
        C: 'gtceu:iv_machine_hull',
        D: '#gtceu:circuits/iv',
        E: 'gtceu:iv_field_generator',
        F: '#forge:plates/tungsten_steel',
    })
        .id('kubejs:crafting/gtceu/simulation_arena')

    // meat_box
    event.shaped('gtceu:meat_box', [
        'FAF',
        'DCD',
        'FAF',
    ], {
        A: 'gtceu:copper_quadruple_cable',
        C: 'gtceu:mv_machine_hull',
        D: '#gtceu:circuits/mv',
        F: '#forge:plates/steel',
    })
        .id('kubejs:crafting/gtceu/meat_box')

    // steam_alloy_smelter
    event.shaped('gtceu:steam_alloy_smelter', [
        'CDC',
        'BAB',
        'CDC',
    ], {
        A: 'gtceu:lp_steam_alloy_smelter',
        B: 'gtceu:bronze_gearbox',
        C: 'gtceu:steam_machine_casing',
        D: '#forge:gears/quartz_alloy',
    })
        .id('kubejs:crafting/gtceu/steam_alloy_smelter/from/lp')

    event.shaped('gtceu:steam_alloy_smelter', [
        'CDC',
        'BAB',
        'CDC',
    ], {
        A: 'gtceu:hp_steam_alloy_smelter',
        B: 'gtceu:bronze_gearbox',
        C: 'gtceu:steam_machine_casing',
        D: '#forge:gears/quartz_alloy',
    })
        .id('kubejs:crafting/gtceu/steam_alloy_smelter/from/hp')

    // bronze_bulk_smelter
    event.shaped('gtceu:bronze_bulk_smelter', [
        'EFE',
        'ABA',
        'CDC',
    ], {
        A: '#forge:rods/copper',
        B: 'minecraft:terracotta',
        C: '#forge:plates/copper',
        D: '#forge:tools/hammers',
        E: '#forge:screws/copper',
        F: '#forge:tools/screwdrivers',
    })
        .id('kubejs:crafting/gtceu/bronze_bulk_smelter')

    // steam_wiremill
    event.shaped('gtceu:steam_wiremill', [
        'CDC',
        'BAB',
        'CDC',
    ], {
        A: 'gtceu:lv_wiremill',
        B: 'gtceu:lv_robot_arm',
        C: 'gtceu:solid_machine_casing',
        D: '#gtceu:circuits/lv',
    })
        .id('kubejs:crafting/gtceu/steam_wiremill')

    // ev_perfect_arc_furnace
    event.shaped('gtceu:ev_perfect_arc_furnace', [
        'DED',
        'CAC',
        'BBB',
    ], {
        A: 'gtceu:ev_arc_furnace',
        B: '#forge:plates/red_titanium',
        C: '#gtceu:circuits/ev',
        D: 'gtceu:aluminium_single_cable',
        E: '#forge:dusts/graphite',
    })
        .id('kubejs:crafting/gtceu/ev_perfect_arc_furnace')

    // ev_perfect_electrolyzer
    event.shaped('gtceu:ev_perfect_electrolyzer', [
        'BCB',
        'DAD',
        'BDB',
    ], {
        A: 'gtceu:ev_electrolyzer',
        B: '#forge:plates/titanobarium_electrotine',
        C: '#gtceu:circuits/ev',
        D: 'gtceu:aluminium_single_cable',
    })
        .id('kubejs:crafting/gtceu/ev_perfect_electrolyzer')


    // ******************** //
    // ***** MACHINES ***** //
    // ******************** //

    // firebrick_mixer
    event.shaped('gtceu:lp_firebrick_mixer', [
        'CBC',
        'DAD',
        'BBB',
    ], {
        A: 'gtceu:bronze_machine_casing',
        B: 'gtceu:bronze_small_fluid_pipe',
        C: '#forge:small_gears/iron',
        D: 'minecraft:water_bucket',
    })
        .id('kubejs:crafting/gtceu/lp_firebrick_mixer')

    // hp_steam_solid_boiler
    event.shaped('gtceu:hp_steam_solid_boiler', [
        'AAA',
        'ABA',
        'CDC',
    ], {
        A: '#forge:plates/steel',
        B: '#gtceu:tools/crafting_wrenches',
        C: 'gtceu:sticky_resin',
        D: 'gtceu:lp_steam_solid_boiler',
    })
        .id('kubejs:crafting/gtceu/hp_steam_solid_boiler')

    // lv_card_assembler
    event.shaped('gtceu:lv_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:lv_electric_motor',
        B: '#gtceu:circuits/lv',
        C: 'gtceu:lv_conveyor_module',
        D: 'gtceu:lv_machine_hull',
        E: 'gtceu:tin_single_cable',
    })
        .id('kubejs:crafting/gtceu/lv_card_assembler')

    // mv_card_assembler
    event.shaped('gtceu:mv_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:mv_electric_motor',
        B: '#gtceu:circuits/mv',
        C: 'gtceu:mv_conveyor_module',
        D: 'gtceu:mv_machine_hull',
        E: 'gtceu:copper_single_cable',
    })
        .id('kubejs:crafting/gtceu/mv_card_assembler')

    // hv_card_assembler
    event.shaped('gtceu:hv_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:hv_electric_motor',
        B: '#gtceu:circuits/hv',
        C: 'gtceu:hv_conveyor_module',
        D: 'gtceu:hv_machine_hull',
        E: 'gtceu:gold_single_cable',
    })
        .id('kubejs:crafting/gtceu/hv_card_assembler')

    // ev_card_assembler
    event.shaped('gtceu:ev_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:ev_electric_motor',
        B: '#gtceu:circuits/ev',
        C: 'gtceu:ev_conveyor_module',
        D: 'gtceu:ev_machine_hull',
        E: 'gtceu:aluminium_single_cable',
    })
        .id('kubejs:crafting/gtceu/ev_card_assembler')

    // iv_card_assembler
    event.shaped('gtceu:iv_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:iv_electric_motor',
        B: '#gtceu:circuits/iv',
        C: 'gtceu:iv_conveyor_module',
        D: 'gtceu:iv_machine_hull',
        E: 'gtceu:platinum_single_cable',
    })
        .id('kubejs:crafting/gtceu/iv_card_assembler')

    // luv_card_assembler
    event.shaped('gtceu:luv_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:luv_electric_motor',
        B: '#gtceu:circuits/luv',
        C: 'gtceu:luv_conveyor_module',
        D: 'gtceu:luv_machine_hull',
        E: 'gtceu:niobium_titanium_single_cable',
    })
        .id('kubejs:crafting/gtceu/luv_card_assembler')

    // zpm_card_assembler
    event.shaped('gtceu:zpm_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:zpm_electric_motor',
        B: '#gtceu:circuits/zpm',
        C: 'gtceu:zpm_conveyor_module',
        D: 'gtceu:zpm_machine_hull',
        E: 'gtceu:vanadium_gallium_single_cable',
    })
        .id('kubejs:crafting/gtceu/zpm_card_assembler')

    // uv_card_assembler
    event.shaped('gtceu:uv_card_assembler', [
        'ABA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:uv_electric_motor',
        B: '#gtceu:circuits/uv',
        C: 'gtceu:uv_conveyor_module',
        D: 'gtceu:uv_machine_hull',
        E: 'gtceu:yttrium_barium_cuprate_single_cable',
    })
        .id('kubejs:crafting/gtceu/uv_card_assembler')


    // ***** ***** ***** //
    // ***** DUSTS ***** //
    // ***** ***** ***** //

    // ender_pearl_dust
    event.shapeless('4x gtceu:ender_pearl_dust',
        [
            '1x #forge:dusts/beryllium',
            '2x #forge:dusts/potassium',
            '4x #forge:dusts/saltpeter'
        ])
        .id('kubejs:crafting/gtceu/ender_pearl_dust')

    // rough_concrete_dust
    event.shapeless('1x gtceu:rough_concrete_dust',
        [
            '#forge:dusts/calcite',
            '#forge:dusts/calcite',
            '#forge:dusts/clay',
            '#forge:dusts/quartz_sand',
            '#forge:dusts/stone',
        ])
        .id('kubejs:crafting/gtceu/rough_concrete_dust')


    // **************** //
    // ***** MISC ***** //
    // **************** //

    // ulv_machine_hull
    event.remove ({ id: 'gtceu:shaped/ulv_machine_hull' })
    event.shaped('gtceu:ulv_machine_hull', [
        'AAA',
        'EDE',
        'ECE',
    ], {
        A: 'gtceu:sticky_resin',
        C: 'gtceu:copper_double_wire',
        D: 'gtceu:ulv_machine_casing',
        E: 'minecraft:redstone',
    })
        .id('kubejs:crafting/gtceu/ulv_machine_hull')

    // ulv_input_bus
    event.shaped('gtceu:ulv_input_bus', [
        'DBD',
        'DAD',
        'DCD',
    ], {
        A: 'gtceu:ulv_machine_hull',
        B: '#forge:chests/wooden',
        C: '#forge:tools/hammers',
        D: 'gtceu:sticky_resin',
    })
        .id('kubejs:crafting/gtceu/ulv_input_bus')

    // ulv_output_bus
    event.shaped('gtceu:ulv_output_bus', [
        'DCD',
        'DAD',
        'DBD',
    ], {
        A: 'gtceu:ulv_machine_hull',
        B: '#forge:chests/wooden',
        C: '#forge:tools/hammers',
        D: 'gtceu:sticky_resin',
    })
        .id('kubejs:crafting/gtceu/ulv_output_bus')

    // ulv_input_hatch
    event.shaped('gtceu:ulv_input_hatch', [
        'DBD',
        'DAD',
        'DCD',
    ], {
        A: 'gtceu:ulv_machine_hull',
        B: 'gtceu:wood_drum',
        C: '#forge:tools/hammers',
        D: 'gtceu:sticky_resin',
    })
        .id('kubejs:crafting/gtceu/ulv_input_hatch')

    // ulv_output_hatch
    event.shaped('gtceu:ulv_output_hatch', [
        'DCD',
        'DAD',
        'DBD',
    ], {
        A: 'gtceu:ulv_machine_hull',
        B: 'gtceu:wood_drum',
        C: '#forge:tools/hammers',
        D: 'gtceu:sticky_resin',
    })
        .id('kubejs:crafting/gtceu/ulv_output_hatch')


    // fin //

})