/**
 * @typedef {Object} Coin
 * @property {string} id
 * @property {string} displayName
 * @property {string} tooltip
 * @property {string | undefined} tooltip2
 * @property {number} color
 */

/** @type {Coin[]} */
// const coins = [
//   {
//     id: "creatio_two",
//     displayName: "§b2C Coin",
//     tooltip: "§e2 creatios in one",
//     color: 0x81ff57,
//   },
//   {
//     id: "creatio",
//     displayName: "§bCreatio Coin",
//     tooltip: "§bA most befitting currency",
//     color: 0x8af9ff,
//   },
//   {
//     id: "creatio_deci_five",
//     displayName: "0.5C Coin",
//     tooltip: "§eHalf a creatio",
//     color: 0xffdd3b,
//   },
//   {
//     id: "creatio_deci_two",
//     displayName: "§60.2C Coin",
//     tooltip: "§eA fifth of a creatio",
//     color: 0xf2fcff,
//   },
//   {
//     id: "creatio_deci",
//     displayName: "0.1C Coin",
//     tooltip: "§eA tenth of a creatio",
//     color: 0xf5f2c9,
//   },
//   {
//     id: "creatio_centi_five",
//     displayName: "0.05C Coin",
//     tooltip: "§eA twentith of a creatio",
//     color: 0xd6fdff,
//   },
//   {
//     id: "creatio_centi_two",
//     displayName: "0.02C Coin",
//     tooltip: "§eA twentith of a creatio",
//     color: 0xcfcfcf,
//   },
//   {
//     id: "creatio_centi",
//     displayName: "0.01C Coin",
//     tooltip: "§eA one hundreath of a creatio",
//     tooltip2: "§7Alternatively called a cent",
//     color: 0xffa957,
//   },
// ];

// ItemEvents.modelProperties((event) => {
//   coins.forEach((coin) => {
//     event.register(coin.id, "count", (item) => {
//       return item.count / item.maxStackSize;
//     });
//   });
// });

StartupEvents.registry("item", (event) => {
  //   // Coin generator
  //   coins.forEach((coin) => {
  //     const item = event
  //       .create(coin.id)
  //       .displayName(coin.displayName)
  //       .tooltip(coin.tooltip)
  //       .color(0, coin.color)
  //       .modelJson({
  //         parent: "item/generated",
  //         textures: { layer0: "kubejs:item/base_coin_0" },
  //         overrides: [
  //           {
  //             predicate: { count: 0.0 },
  //             model: "kubejs:item/base_coin_0",
  //           },
  //           {
  //             predicate: { count: 0.03125 },
  //             model: "kubejs:item/base_coin_1",
  //           },
  //           {
  //             predicate: { count: 0.25 },
  //             model: "kubejs:item/base_coin_2",
  //           },
  //           {
  //             predicate: { count: 0.5 },
  //             model: "kubejs:item/base_coin_3",
  //           },
  //           {
  //             predicate: { count: 1.0 },
  //             model: "kubejs:item/base_coin_4",
  //           },
  //         ],
  //       });

  //     if (coin.tooltip2 != undefined) {
  //       item.tooltip(coin.tooltip2);
  //     }
  //   });

  // OLD
  // Create Twenticy
  event
    .create("create_twenticy")
    .displayName("§e20C Note")
    .tooltip("§720C in one")
    .tooltip("§cDEPRECATED DO NOT USE")
    .glow(true)
    .texture("kubejs:item/cash/create_twenticy");

  // Create Fivery
  event
    .create("create_fivery")
    .displayName("§d5C Note")
    .tooltip("§e5C in one")
    .tooltip("§cDEPRECATED DO NOT USE")
    .texture("kubejs:item/cash/create_fivery");

  // Create Dollar
  event
    .create("create_dollar")
    .displayName("§b1C Coin")
    .tooltip("§eBase currency")
    .tooltip("§cDEPRECATED DO NOT USE")
    .texture("kubejs:item/cash/create_dollar");

  // Create Cent
  event
    .create("create_cent")
    .displayName("§60.25C Coin")
    .tooltip("§eA quarter of a C")
    .tooltip("§7Alternatively called a cent")
    .tooltip("§cDEPRECATED DO NOT USE")
    .texture("kubejs:item/cash/create_cent");

  // 20C
  event
    .create("creatio_deca_two")
    .displayName("§e20C Note")
    .tooltip("§720 creatios in one")
    .glow(true)
    .texture("kubejs:item/cash/create_twenticy");

  // 10C
  event
    .create("creatio_deca")
    .displayName("§d10C Note")
    .tooltip("§e10 creatios in one")
    .texture("kubejs:item/cash/create_fivery");

  // 5C
  event
    .create("creatio_five")
    .displayName("§d5C Note")
    .tooltip("§e5 creatios in one")
    .texture("kubejs:item/netherite_bill_0");

  // 2C
  event
    .create("creatio_two")
    .displayName("§b2C Coin")
    .tooltip("§e2 creatios in one")
    .texture("kubejs:item/emerald_coin_0");
  // 1C
  event
    .create("creatio")
    .displayName("§bCreatio Coin")
    .tooltip("§bA most befitting currency")
    .texture("kubejs:item/diamond_coin_0");

  // 0.5C
  event
    .create("creatio_deci_five")
    .displayName("0.5C Coin")
    .tooltip("§eHalf a creatio")
    .texture("kubejs:item/gold_coin_0");

  // 0.2C
  event
    .create("creatio_deci_two")
    .displayName("§60.2C Coin")
    .tooltip("§eA fifth of a creatio")
    .texture("kubejs:item/silver_coin_0");

  // 0.1C
  event
    .create("creatio_deci")
    .displayName("0.1C Coin")
    .tooltip("§eA tenth of a creatio")
    .texture("kubejs:item/nickel_coin_0");

  // 0.05C
  event
    .create("creatio_centi_five")
    .displayName("0.05C Coin")
    .tooltip("§eA twentith of a creatio")
    .texture("kubejs:item/tin_coin_0");

  // 0.02C
  event
    .create("creatio_centi_two")
    .displayName("0.02C Coin")
    .tooltip("§eA twentith of a creatio")
    .texture("kubejs:item/iron_coin_0");

  // 0.01C
  event
    .create("creatio_centi")
    .displayName("0.01C Coin")
    .tooltip("§eA one hundreath of a creatio")
    .tooltip("§7Alternatively called a cent")
    .texture("kubejs:item/copper_coin_0");
});
