ServerEvents.recipes(event => {
    event.smithing('create_nj:netherite_flywheel', 'minecraft:netherite_upgrade_smithing_template', 'create:flywheel', 'minecraft:netherite_ingot');
    event.smithing('botanicpledge:yggdrasilsteel_band_of_mana', 'botanicpledge:yggdrasilsteel_template', 'mythicbotany:mana_ring_greatest', 'botanicpledge:yggdrasilsteel_ingot');
    event.smithing('botanicpledge:yggdrasilsteel_band_of_aura', 'botanicpledge:yggdrasilsteel_template', 'mythicbotany:aura_ring_greatest', 'botanicpledge:yggdrasilsteel_ingot');
    event.smithing('celestial_artifacts:earth_shovel', 'celestial_artifacts:nebula_cube', 'cataclysm_tools:ignitium_shovel', 'celestial_core:earth_core');
    event.smithing('celestial_artifacts:earth_hoe', 'celestial_artifacts:nebula_cube', 'cataclysm_tools:ignitium_hoe', 'celestial_core:earth_core');
    event.smithing('celestial_artifacts:earth_axe', 'celestial_artifacts:nebula_cube', 'cataclysm_tools:ignitium_axe', 'celestial_core:earth_core');
    event.smithing('celestial_artifacts:earth_pickaxe', 'celestial_artifacts:nebula_cube', 'cataclysm_tools:ignitium_pickaxe', 'celestial_core:earth_core');
    event.smithing('cataclysm:cursium_helmet', 'cataclysm:cursium_upgrade_smithing_template', 'epicpaladins:jade_helmet', 'cataclysm:cursium_ingot');
    event.smithing('cataclysm:cursium_chestplate', 'cataclysm:cursium_upgrade_smithing_template', 'epicpaladins:jade_chestplate', 'cataclysm:cursium_ingot');
    event.smithing('cataclysm:cursium_leggings', 'cataclysm:cursium_upgrade_smithing_template', 'epicpaladins:jade_leggings', 'cataclysm:cursium_ingot');
    event.smithing('cataclysm:cursium_boots', 'cataclysm:cursium_upgrade_smithing_template', 'epicpaladins:jade_boots', 'cataclysm:cursium_ingot');
    event.smithing('cataclysm:ignitium_helmet', 'cataclysm:ignitium_upgrade_smithing_template', 'epicpaladins:bloodstone_helmet', 'cataclysm:ignitium_ingot');
    event.smithing('cataclysm:ignitium_chestplate', 'cataclysm:ignitium_upgrade_smithing_template', 'epicpaladins:bloodstone_chestplate', 'cataclysm:ignitium_ingot');
    event.smithing('cataclysm:ignitium_leggings', 'cataclysm:ignitium_upgrade_smithing_template', 'epicpaladins:bloodstone_leggings', 'cataclysm:ignitium_ingot');
    event.smithing('cataclysm:ignitium_boots', 'cataclysm:ignitium_upgrade_smithing_template', 'epicpaladins:bloodstone_boots', 'cataclysm:ignitium_ingot');
    const epicPaladinMaterials = [
        { name: 'arclight', template: 'epicpaladins:arclight_template', gem: 'epicpaladins:arclight_block' },
        { name: 'cryorium', template: 'epicpaladins:cryorium_template', gem: 'epicpaladins:cryorium_block' },
        { name: 'bloodstone', template: 'epicpaladins:bloodstone_template', gem: 'epicpaladins:bloodstone_block' },
        { name: 'jade', template: 'epicpaladins:jade_template', gem: 'epicpaladins:jade_block' },
        { name: 'moonlight', template: 'epicpaladins:moonlight_template', gem: 'epicpaladins:moonlight_block' }
    ];

    const tools = ['sword', 'pickaxe', 'axe', 'hoe', 'shovel'];

    epicPaladinMaterials.forEach(material => {
        tools.forEach(tool => {
            event.smithing(`epicpaladins:${material.name}_${tool}`, material.template, `minecraft:netherite_${tool}`, material.gem);
        });
    });
    event.smithing('epicpaladins:sculk_sword', 'epicpaladins:sculk_template', 'minecraft:netherite_sword', 'minecraft:echo_shard');
    event.smithing('epicpaladins:sculk_pickaxe', 'epicpaladins:sculk_template', 'minecraft:netherite_pickaxe', 'minecraft:echo_shard');
    event.smithing('epicpaladins:sculk_axe', 'epicpaladins:sculk_template', 'minecraft:netherite_axe', 'minecraft:echo_shard');
    event.smithing('epicpaladins:sculk_hoe', 'epicpaladins:sculk_template', 'minecraft:netherite_hoe', 'minecraft:echo_shard');
    event.smithing('epicpaladins:sculk_shovel', 'epicpaladins:sculk_template', 'minecraft:netherite_shovel', 'minecraft:echo_shard');
    event.smithing('aquamirae:coral_lance', 'aquamirae:ship_graveyard_echo', 'aquamirae:sweet_lance', 'cataclysm:coral_chunk');
    event.smithing('moreburners:nickel_coil', 'moreburners:copper_coil', 'create:brass_sheet');
    event.smithing('epicpaladins:angel_sword', 'epicpaladins:arclight_template', 'epicpaladins:arclight_sword', 'celestial_core:pure_nether_star');
    event.smithing('epicpaladins:moonlight_glaive', 'epicpaladins:moonlight_template', 'epicpaladins:moonlight_sword', 'celestisynth:starstruck_scrap');
    event.smithing('epicpaladins:cryorium_battle_axe', 'epicpaladins:cryorium_template', 'epicpaladins:cryorium_axe', 'minecraft:nether_star');
    const woodTypes = [
        { planks: 'minecraft:oak_planks', chest: 'quark:oak_chest' },
        { planks: 'minecraft:spruce_planks', chest: 'quark:spruce_chest' },
        { planks: 'minecraft:birch_planks', chest: 'quark:birch_chest' },
        { planks: 'minecraft:jungle_planks', chest: 'quark:jungle_chest' },
        { planks: 'minecraft:acacia_planks', chest: 'quark:acacia_chest' },
        { planks: 'minecraft:dark_oak_planks', chest: 'quark:dark_oak_chest' },
        { planks: 'minecraft:mangrove_planks', chest: 'quark:mangrove_chest' },
        { planks: 'minecraft:cherry_planks', chest: 'quark:cherry_chest' },
        { planks: 'minecraft:bamboo_planks', chest: 'quark:bamboo_chest' },
        { planks: 'quark:azalea_planks', chest: 'quark:azalea_chest' },
        { planks: 'quark:ancient_planks', chest: 'quark:ancient_chest' },
        { planks: 'minecraft:crimson_planks', chest: 'quark:crimson_chest' },
        { planks: 'minecraft:warped_planks', chest: 'quark:warped_chest' },
        { planks: 'quark:blossom_planks', chest: 'quark:blossom_chest' }
    ];
    
    woodTypes.forEach(wood => {
        event.smithing(wood.chest, wood.planks, 'minecraft:chest', wood.planks);
    });    
});
