
ServerEvents.recipes((event) => {

//remove furnace upgrades
event.remove({ output: 'betterfurnacesreforged:copper_upgrade' })
event.remove({ output: 'betterfurnacesreforged:iron_upgrade' })
event.remove({ output: 'betterfurnacesreforged:gold_upgrade' })
event.remove({ output: 'betterfurnacesreforged:diamond_upgrade' })
event.remove({ output: 'betterfurnacesreforged:netherhot_upgrade' })
event.remove({ output: 'betterfurnacesreforged:extreme_upgrade' })
event.remove({ output: 'betterfurnacesreforged:copper_upgrade' })
event.remove({ output: 'betterfurnacesreforged:copper_iron_upgrade' })
event.remove({ output: 'betterfurnacesreforged:steel_upgrade' })
event.remove({ output: 'betterfurnacesreforged:steel_gold_upgrade' })
event.remove({ output: 'betterfurnacesreforged:amethyst_upgrade' })
event.remove({ output: 'betterfurnacesreforged:amethyst_diamond_upgrade' })
event.remove({ output: 'betterfurnacesreforged:platinum_upgrade' })
event.remove({ output: 'betterfurnacesreforged:platinum_netherhot_upgrade' })
event.remove({ output: 'betterfurnacesreforged:ultimate_upgrade' })

//JAMD
event.remove({ output: 'jamd:portal_block' })
event.remove({ output: 'jamd:nether_portal' })
event.remove({ output: 'jamd:end_portal' })
//old steel
event.remove({ output: 'moremetals:steel_nugget' })
event.smelting('moremetals:steel_dust', 'moremetals:steel_ingot')

//end cake
event.remove({ output: 'exdeorum:end_cake' })

//end cake
event.remove({ output: 'progressionutils:core_brokonium' })

//botany pots
event.remove({ output: 'botanypots:terracotta_botany_pot' })
event.remove({ output: 'botanypots:terracotta_hopper_botany_pot' })

//projecte
event.remove({ output: 'projecte:philosophers_stone' })
event.remove({ output: 'projecte:low_covalence_dust' })
event.remove({ output: 'projecte:medium_covalence_dust' })
event.remove({ output: 'projecte:high_covalence_dust' })

//chargers
event.remove({ output: 'chargers:charger_t1' })
event.remove({ output: 'chargers:charger_t2' })
event.remove({ output: 'chargers:charger_t3' })
event.remove({ output: 'chargers:charger_t4' })
event.remove({ output: 'chargers:wireless_charger' })

//extended crafting
event.remove({ output: 'extendedcrafting:black_iron_ingot' })
event.remove({ output: 'extendedcrafting:ender_ingot' })
event.remove({ output: 'extendedcrafting:redstone_ingot' })
event.remove({ output: 'extendedcrafting:luminessence' })
event.remove({ output: 'extendedcrafting:ultimate_singularity' })

//dank storage
event.remove({ output: 'dankstorage:dank_1' })
event.remove({ output: 'dankstorage:dank_2' })
event.remove({ output: 'dankstorage:dank_3' })
event.remove({ output: 'dankstorage:dank_4' })
event.remove({ output: 'dankstorage:dank_5' })
event.remove({ output: 'dankstorage:dank_6' })
event.remove({ output: 'dankstorage:dank_7' })
event.remove({ output: 'dankstorage:1_to_2' })
event.remove({ output: 'dankstorage:2_to_3' })
event.remove({ output: 'dankstorage:3_to_4' })
event.remove({ output: 'dankstorage:4_to_5' })
event.remove({ output: 'dankstorage:5_to_6' })
event.remove({ output: 'dankstorage:6_to_7' })

//remove charcoal blocks
event.remove({ output: 'mekanism:block_charcoal' })
event.remove({ output: 'thermal:charcoal_block' })
//remove mesh recipes
event.remove({ output: 'exdeorum:flint_mesh' })
event.remove({ output: 'exdeorum:iron_mesh' })
event.remove({ output: 'exdeorum:golden_mesh' })
event.remove({ output: 'exdeorum:diamond_mesh' })

//crafting recipes
//gravel from flint
event.shaped(
  Item.of('minecraft:gravel', 1), // arg 1: output
  [
    'AA ',
    'A  '
  ],
  {
    A: 'minecraft:flint'
  }
)
//add mesh recipes back
event.shaped(
  Item.of('exdeorum:flint_mesh', 1), // arg 1: output
  [
    ' A ',
    'ABA', // arg 2: the shape (array of strings)
    ' A '
  ],
  {
    A: 'skyblockutilities:flint_block',
    B: 'exdeorum:string_mesh'
  }
)

event.shaped(
  Item.of('exdeorum:iron_mesh', 1), // arg 1: output
  [
    ' A ',
    'ABA', // arg 2: the shape (array of strings)
    ' A '
  ],
  {
    A: 'minecraft:iron_block',
    B: 'exdeorum:flint_mesh'
  }
)

event.shaped(
  Item.of('exdeorum:golden_mesh', 1), // arg 1: output
  [
    ' A ',
    'ABA', // arg 2: the shape (array of strings)
    ' A '
  ],
  {
    A: 'minecraft:gold_block',
    B: 'exdeorum:iron_mesh'
  }
)

event.shaped(
  Item.of('exdeorum:diamond_mesh', 1), // arg 1: output
  [
    ' A ',
    'ABA', // arg 2: the shape (array of strings)
    ' A '
  ],
  {
    A: 'minecraft:diamond_block',
    B: 'exdeorum:golden_mesh'
  }
)

event.shaped(
  Item.of('royalcrowns:ruby', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:ruby_ore_piece'
  }
)

event.shaped(
  Item.of('royalcrowns:sapphire', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:sapphire_ore_piece'
  }
)

event.shaped(
  Item.of('royalcrowns:jadestone', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:jadestone_ore_piece'
  }
)

event.shaped(
  Item.of('royalcrowns:royal_diamond', 1), // arg 1: output
  [
    'AAA'
  ],
  {
    A: 'skyblockutilities:royaldiamond_ore_piece'
  }
)

event.shaped(
  Item.of('royalcrowns:rose_gold_ore', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:rosegold_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:maralite_gem', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:maralite_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:argoliem_gem', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:argoliem_ore_piece'
  }
)

event.shaped(
  Item.of('skyblockutilities:clonium_gem', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:clonium_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:strossnium_gem', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:strossnium_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:taninite_gem', 1), // arg 1: output
  [
    'AA ',
    'AA '
  ],
  {
    A: 'skyblockutilities:taninite_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:rubium_crystal', 1), // arg 1: output
  [
    'AAA'
  ],
  {
    A: 'skyblockutilities:rubium_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:betium_crystal', 1), // arg 1: output
  [
    'AAA'
  ],
  {
    A: 'skyblockutilities:betium_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:sampsonite_crystal', 1), // arg 1: output
  [
    'AAA'
  ],
  {
    A: 'skyblockutilities:sampsonite_ore_piece'
  }
)

event.shaped(
  Item.of('progressionutils:brokonium', 1), // arg 1: output
  [
    'AAA',
	'ABA',
	'AAA'
  ],
  {
    A: 'skyblockutilities:brokonium_ore_piece',
	B: 'minecraft:coal'
  }
)

event.shaped(
  Item.of('progressionutils:scrap_golden', 1), // arg 1: output
  [
    'AAA'
  ],
  {
    A: 'exdeorum:gold_ore_chunk'
  }
)

event.shaped(
  Item.of('progressionutils:scrap_metal', 1), // arg 1: output
  [
    'AAA'
  ],
  {
    A: 'exdeorum:iron_ore_chunk'
  }
)

event.shaped(
  Item.of('exdeorum:compressed_cobblestone', 1), // arg 1: output
  [
    'AAA',
	'AAA',
	'AAA'
  ],
  {
    A: 'minecraft:cobblestone'
  }
)
event.shaped(
  Item.of('exdeorum:compressed_dirt', 1), // arg 1: output
  [
    'AAA',
	'AAA',
	'AAA'
  ],
  {
    A: 'minecraft:dirt'
  }
)
event.shaped(
  Item.of('exdeorum:compressed_sand', 1), // arg 1: output
  [
    'AAA',
	'AAA',
	'AAA'
  ],
  {
    A: 'minecraft:sand'
  }
)
event.shaped(
  Item.of('exdeorum:compressed_gravel', 1), // arg 1: output
  [
    'AAA',
	'AAA',
	'AAA'
  ],
  {
    A: 'minecraft:gravel'
  }
)
event.shaped(
  Item.of('exdeorum:compressed_soul_sand', 1), // arg 1: output
  [
    'AAA',
	'AAA',
	'AAA'
  ],
  {
    A: 'minecraft:soul_sand'
  }
)

//JAMD
event.shaped(
  Item.of('jamd:portal_block', 1), // arg 1: output
  [
    'AAA',
	'ABA',
	'AAA'
  ],
  {
    A: 'compressium:obsidian_1',
	B: 'minecraft:netherite_pickaxe'
  }
)

event.shaped(
  Item.of('jamd:nether_portal', 1), // arg 1: output
  [
    'AAA',
	'ABA',
	'AAA'
  ],
  {
    A: 'compressium:obsidian_2',
	B: 'jamd:portal_block'
  }
)

event.shaped(
  Item.of('jamd:end_portal', 1), // arg 1: output
  [
    'AAA',
	'ABA',
	'AAA'
  ],
  {
    A: 'compressium:endstone_2',
	B: 'jamd:nether_portal'
  }
)

//blue skies
event.shaped(
  Item.of('blue_skies:blue_journal', 1), // arg 1: output
  [
    'ABC'
  ],
  {
    A: 'blue_skies:lunar_cobblestone',
	B: 'minecraft:book',
	C: 'blue_skies:turquoise_cobblestone'
  }
)

//projecte
event.shaped(
  Item.of('projecte:low_covalence_dust', 40), // arg 1: output
  [
    'AAA',
	'BCB',
	'AAA'
  ],
  {
    A: 'minecraft:cobblestone',
	B: 'minecraft:charcoal',
	C: 'projecte:philosophers_stone'
  }
)
event.shaped(
  Item.of('projecte:medium_covalence_dust', 40), // arg 1: output
  [
    'AAA',
	' C ',
	'BBB'
  ],
  {
    A: 'minecraft:iron_ingot',
	B: 'minecraft:redstone',
	C: 'projecte:philosophers_stone'
  }
)
event.shaped(
  Item.of('projecte:high_covalence_dust', 40), // arg 1: output
  [
    'AAA',
	' C ',
	'BBB'
  ],
  {
    A: 'minecraft:diamond',
	B: 'minecraft:emerald',
	C: 'projecte:philosophers_stone'
  }
)
//extended crafting

event.shaped(
  Item.of('extendedcrafting:luminessence', 9), // arg 1: output
  [
    'A'
  ],
  {
    A: 'extendedcrafting:luminessence_block'
  }
)

event.shaped(
  Item.of('extendedcrafting:luminessence', 4), // arg 1: output
  [
    'AAA',
	'BBB',
	'CCC'
  ],
  {
    A: 'minecraft:glowstone',
	B: 'minecraft:redstone_block',
	C: 'minecraft:gunpowder'
  }
)

event.shaped(
  Item.of('extendedcrafting:redstone_ingot', 1), // arg 1: output
  [
    'ABA',
	'BBB',
	'ABA'
  ],
  {
    A: 'compressium:redstone_1',
	B: 'extendedcrafting:black_iron_ingot'
  }
)

event.shaped(
  Item.of('extendedcrafting:black_iron_ingot', 1), // arg 1: output
  [
    'ABA',
	'BBB',
	'ABA'
  ],
  {
    A: 'compressium:coal_1',
	B: 'mekanism:ingot_steel'
  }
)

event.shaped(
  Item.of('extendedcrafting:ender_ingot', 1), // arg 1: output
  [
    'AB'
  ],
  {
    A: 'extendedcrafting:black_iron_ingot',
	B: 'minecraft:ender_pearl'
  }
)

//dank storage
event.shaped(
  Item.of('dankstorage:dank_1', 1), // arg 1: output
  [
    'BBB',
    'BAB',
	'BBB'
  ],
  {
    A: 'minecraft:barrel',
	B: 'skyblockutilities:charcoal_block'
  }
)

event.shaped(
  Item.of('dankstorage:dank_2', 1), // arg 1: output
  [
    'BCB',
    'CAC',
	'BCB'
  ],
  {
    A: 'dankstorage:dank_1',
	B: 'minecraft:redstone_block',
	C: 'compressium:redstone_1'
  }
)

event.shaped(
  Item.of('dankstorage:dank_3', 1), // arg 1: output
  [
    'BCB',
    'CAC',
	'BCB'
  ],
  {
    A: 'dankstorage:dank_2',
	B: 'minecraft:gold_block',
	C: 'compressium:gold_1'
  }
)

event.shaped(
  Item.of('dankstorage:dank_4', 1), // arg 1: output
  [
    'BCB',
    'CAC',
	'BCB'
  ],
  {
    A: 'dankstorage:dank_3',
	B: 'minecraft:emerald_block',
	C: 'compressium:emerald_1'
  }
)

event.shaped(
  Item.of('dankstorage:dank_5', 1), // arg 1: output
  [
    'BCB',
    'CAC',
	'BCB'
  ],
  {
    A: 'dankstorage:dank_4',
	B: 'minecraft:diamond_block',
	C: 'compressium:diamond_1'
  }
)

event.shaped(
  Item.of('dankstorage:dank_6', 1), // arg 1: output
  [
    'BCB',
    'CAC',
	'BCB'
  ],
  {
    A: 'dankstorage:dank_5',
	B: 'minecraft:crying_obsidian',
	C: 'compressium:obsidian_1'
  }
)

event.shaped(
  Item.of('dankstorage:dank_7', 1), // arg 1: output
  [
    'BCB',
    'CAC',
	'BCB'
  ],
  {
    A: 'dankstorage:dank_6',
	B: 'compressium:netherite_1',
	C: 'minecraft:nether_star'
  }
)

//botany pots
event.shaped(
  Item.of('botanypots:terracotta_botany_pot', 1), // arg 1: output
  [
    'B B',
    'BAB',
	' B '
  ],
  {
    A: 'progressionutils:core_brokonium',
	B: 'mekanism:ingot_steel'
  }
)

event.shaped(
  Item.of('botanypots:terracotta_hopper_botany_pot', 1), // arg 1: output
  [
    'BAB',
    'BDB',
	'BCB'
  ],
  {
    A: 'progressionutils:core_brokonium',
	B: 'mekanism:ingot_steel',
	C: 'minecraft:hopper',
	D: 'botanypots:terracotta_botany_pot'
  }
)

//chargers
event.shaped(
  Item.of('chargers:charger_t1', 1), // arg 1: output
  [
    'GAG',
    'ARA',
	'GAG'
  ],
  {
    A: 'progressionutils:argoliem_gem',
	G: 'thermal:copper_gear',
	R: 'minecraft:redstone_block'
  }
)

event.shaped(
  Item.of('chargers:charger_t2', 1), // arg 1: output
  [
    'GAG',
    'RCR',
	'GAG'
  ],
  {
    A: 'progressionutils:core_argoliem',
	G: 'thermal:iron_gear',
	R: 'minecraft:redstone_block',
	C: 'chargers:charger_t1'
  }
)

event.shaped(
  Item.of('chargers:charger_t3', 1), // arg 1: output
  [
    'GAG',
    'RCR',
	'GAG'
  ],
  {
    A: 'progressionutils:core_argoliem',
	G: 'thermal:invar_gear',
	R: 'minecraft:redstone_block',
	C: 'chargers:charger_t2'
  }
)

event.shaped(
  Item.of('chargers:charger_t4', 1), // arg 1: output
  [
    'GAG',
    'RCR',
	'GAG'
  ],
  {
    A: 'progressionutils:core_argoliem',
	G: 'thermal:enderium_gear',
	R: 'minecraft:redstone_block',
	C: 'chargers:charger_t3'
  }
)

event.shaped(
  Item.of('chargers:wireless_charger', 1), // arg 1: output
  [
    'GAG',
    'RCR',
	'GAG'
  ],
  {
    A: 'progressionutils:core_argoliem',
	G: 'thermal:netherite_gear',
	R: 'minecraft:nether_star',
	C: 'chargers:charger_t4'
  }
)

//charcoal from wood chip
event.smelting('minecraft:charcoal', 'skyblockutilities:wood_chip')

})