events.listen("recipes", function (e) {
  function stoneCutter(output, input) {
    e.custom({
      type: "minecraft:stonecutting",
      ingredient: input,
      result: output,
      count: 1,
    });
  }
  //Copper
  stoneCutter("create:copper_block", [
    { item: "thermal:copper_block" },
    { item: "immersiveengineering:storage_copper" },
    { item: "mekanism:block_copper" },
    { item: "tconstruct:copper_block" },
    { item: "alltheores:copper_block" },
  ]),
    stoneCutter("tconstruct:copper_block", [
      { item: "thermal:copper_block" },
      { item: "immersiveengineering:storage_copper" },
      { item: "mekanism:block_copper" },
      { item: "alltheores:copper_block" },
      { item: "create:copper_block" },
    ]),
    stoneCutter("thermal:copper_block", [
      { item: "immersiveengineering:storage_copper" },
      { item: "mekanism:block_copper" },
      { item: "tconstruct:copper_block" },
      { item: "alltheores:copper_block" },
      { item: "create:copper_block" },
    ]),
    stoneCutter("mekanism:block_copper", [
      { item: "thermal:copper_block" },
      { item: "immersiveengineering:storage_copper" },
      { item: "tconstruct:copper_block" },
      { item: "alltheores:copper_block" },
      { item: "create:copper_block" },
    ]),
    stoneCutter("immersiveengineering:storage_copper", [
      { item: "thermal:copper_block" },
      { item: "mekanism:block_copper" },
      { item: "tconstruct:copper_block" },
      { item: "alltheores:copper_block" },
      { item: "create:copper_block" },
    ]),
    stoneCutter("alltheores:copper_block", [
      { item: "thermal:copper_block" },
      { item: "immersiveengineering:storage_copper" },
      { item: "mekanism:block_copper" },
      { item: "tconstruct:copper_block" },
      { item: "create:copper_block" },
    ]);

  //tin
  stoneCutter("mekanism:block_tin", [
    { item: "thermal:tin_block" },
    { item: "alltheores:tin_block" },
  ]);
  stoneCutter("thermal:tin_block", [
    { item: "alltheores:tin_block" },
    { item: "mekanism:block_tin" },
  ]);
  stoneCutter("alltheores:tin_block", [
    { item: "thermal:tin_block" },
    { item: "mekanism:block_tin" },
  ]);

  //steel
  stoneCutter("mekanism:block_steel", ["immersiveengineering:storage_steel"]);
  stoneCutter("immersiveengineering:storage_steel", ["mekanism:block_steel"]);

  //lead
  stoneCutter("alltheores:lead_block", [
    "mekanism:block_lead",
    "immersiveengineering:storage_lead",
    "thermal:lead_block",
  ]);
  stoneCutter("mekanism:block_lead", [
    "alltheores:lead_block",
    "immersiveengineering:storage_lead",
    "thermal:lead_block",
  ]);
  stoneCutter("immersiveengineering:storage_lead", [
    "alltheores:lead_block",
    "mekanism:block_lead",
    "thermal:lead_block",
  ]);
  stoneCutter("thermal:lead_block", [
    "alltheores:lead_block",
    "mekanism:block_lead",
    "immersiveengineering:storage_lead",
  ]);
  //bronze
  stoneCutter("thermal:bronze_block", ["mekanism:block_bronze"]);

  stoneCutter("mekanism:block_bronze", ["thermal:bronze_block"]);

  //osmium
  stoneCutter("mekanism:block_osmium", ["alltheores:osmium_block"]);
  stoneCutter("alltheores:osmium_block", ["mekanism:block_osmium"]);
  //aluminium
  stoneCutter("immersiveengineering:storage_aluminum", [
    "alltheores:aluminum_block",
  ]);
  stoneCutter("alltheores:aluminum_block", [
    "immersiveengineering:storage_aluminum",
  ]);
  //constantan
  stoneCutter("immersiveengineering:storage_constantan", [
    "thermal:constantan_block",
  ]);

  stoneCutter("thermal:constantan_block", [
    "immersiveengineering:storage_constantan",
  ]);

  //zinc
  stoneCutter("alltheores:zinc_block", ["create:zinc_block"]);
  stoneCutter("create:zinc_block", ["alltheores:zinc_block"]);

  //uranium
  stoneCutter("mekanism:block_uranium", ["alltheores:uranium_block"]);
  stoneCutter("alltheores:uranium_block", ["mekanism:block_uranium"]);

  //nickel

  stoneCutter("alltheores:nickel_block", [
    "immersiveengineering:storage_nickel",
    "thermal:nickel_block",
  ]);

  stoneCutter("immersiveengineering:storage_nickel", [
    "alltheores:nickel_block",
    "thermal:nickel_block",
  ]);

  stoneCutter("thermal:nickel_block", [
    "alltheores:nickel_block",
    "immersiveengineering:storage_nickel",
  ]);
  //silver

  stoneCutter("immersiveengineering:storage_silver", [
    "thermal:silver_block",
    "alltheores:silver_block",
  ]);
  stoneCutter("thermal:silver_block", [
    "immersiveengineering:storage_silver",
    "alltheores:silver_block",
  ]);
  stoneCutter("alltheores:silver_block", [
    "immersiveengineering:storage_silver",
    "thermal:silver_block",
  ]);
  stoneCutter("bigreactors:yellorium_block", ["alltheores:uranium_block"]);
  stoneCutter("alltheores:uranium_block", ["bigreactors:yellorium_block"]);
});
