// priority: 0

onEvent('recipes', e => {
  //removals
  removeRecipeByID(e, [
    MU("solar_panel"),
    MU("solar_panel_controller"),
    MU("lunar_panel"),
    MU("ender_tile"),
    MU("chorus_tile"),
    MU("stone_drum"),
    MU("iron_drum"),
    MU("reinforced_large_drum"),
    MU("netherite_reinforced_drum"),
    MU("unstable_drum"),
    MU("quantum_quarry"),
    MU("golden_lasso"),
    MU("speed_upgrade"),
    MU("laser_hub"),
    MU("laser_port"),
    MU("unstable_ingot"),
    MU("experience_opinium_core"),
  ])

  //tools & armors
  const fromNetherite = [
    {
      input: MC("netherite_sword"),
      output: MU("etheric_sword"),
    },
    {
      input: MC("netherite_hoe"),
      output: MU("reversing_hoe"),
    },
    {
      input: MC("netherite_axe"),
      output: MU("healing_axe"),
    },
    {
      input: MC("netherite_shovel"),
      output: MU("erosion_shovel"),
    },
    {
      input: MC("shears"),
      output: MU("precision_shears"),
    },
    {
      input: MC("netherite_pickaxe"),
      output: MU("destruction_pickaxe"),
    },
    {
      input: MC("netherite_helmet"),
      output: MU("unstable_helmet"),
    },
    {
      input: MC("netherite_chestplate"),
      output: MU("unstable_chestplate"),
    },
    {
      input: MC("netherite_leggings"),
      output: MU("unstable_leggings"),
    },
    {
      input: MC("netherite_boots"),
      output: MU("unstable_boots"),
    },
  ]
  fromNetherite.forEach(obj => {
    const { input, output } = obj

    e.remove({ id: output })
    e.smithing(Item.of(output), input, Item.of(MU("unstable_ingot")).ignoreNBT())
  })

  //energy acceptor
  e.replaceInput({ id: MU("iron_opinium_core") }, MC("coal"), F("#gems/coke"))

  //angel ring: dragon ring
  e.replaceInput({ id: MU("ender_dragon_angel_ring") }, MC("black_dye"), F("#scales/dragon_scale"))

  //unstable ingot
  e.shaped(MU("unstable_ingot"), [
		'AAA',
		'BBB',
		'CCC'
	], {
		A: EC("crystaltine_ingot"),
		B: PREXP("basic_collector"),
		C: AV("crystal_matrix_ingot"),
	})

  //experience opinium core
  e.shaped(MU("experience_opinium_core"), [
		'ABA',
		'B B',
		'ABA'
	], {
		A: MU("experience_pearl_3x"),
		B: MU("chorus_opinium_core"),
	})
})
