// Priority: 1
/**
 * @file        chest_balance.js
 * @description Removes OP items from all chest loot tables to enforce
 *              progression. Players must craft, not loot, for powerful gear.
 * @modpack     Monumental Experience CATW
 * @author      KnightDexx
 * @version     1.0
 * @copyright   KnightDexx's Modded Minecraft World
 * @license     All Rights Reserved
 * @link        https://legacy.curseforge.com/minecraft/modpacks/age-of-fate
 */

// ═══════════════════════════════════════════════════════════
// CHEST LOOT BALANCE - REMOVE OP ITEMS
// ═══════════════════════════════════════════════════════════

LootJS.modifiers((event) => {

  // Check if feature is enabled
  if (!global.AOF_LOOT.FEATURES.CHEST_BALANCE) {
    console.info('[AOF] Chest Balance: DISABLED (skipping)')
    return
  }

  console.info('═══════════════════════════════════════════════════════')
  console.info('[AOF] Chest Loot Balance System v1.0')
  console.info('[AOF] Removing OP items from ALL chest loot...')
  console.info('═══════════════════════════════════════════════════════')

  const config = global.AOF_LOOT

  // ───────────────────────────────────────────────────────────
  // REMOVE BLACKLISTED MODS
  // ───────────────────────────────────────────────────────────

  config.BLACKLIST.MODS.forEach(mod => {
    event.addLootTableModifier(/minecraft:chests\/.*/)
      .removeLoot(new RegExp(`${mod}:.*`))

    event.addLootTableModifier(/.+:chests\/.*/)
      .removeLoot(new RegExp(`${mod}:.*`))

    console.info(`[AOF] ✓ Removed all items from: ${mod}`)
  })

  // ───────────────────────────────────────────────────────────
  // REMOVE SPECIFIC ITEMS
  // ───────────────────────────────────────────────────────────

  config.BLACKLIST.ITEMS.forEach(item => {
    event.addLootTableModifier(/minecraft:chests\/.*/)
      .removeLoot(item)

    event.addLootTableModifier(/.+:chests\/.*/)
      .removeLoot(item)

    console.info(`[AOF] ✓ Removed item: ${item}`)
  })

  // ───────────────────────────────────────────────────────────
  // REMOVE PATTERN-MATCHED ITEMS (Tools/Weapons/Armor)
  // ───────────────────────────────────────────────────────────

  config.BLACKLIST.PATTERNS.forEach(pattern => {
    event.addLootTableModifier(/minecraft:chests\/.*/)
      .removeLoot(pattern)

    event.addLootTableModifier(/.+:chests\/.*/)
      .removeLoot(pattern)
  })

  console.info('[AOF] ✓ Removed all tools/weapons/armor patterns')

  // ───────────────────────────────────────────────────────────
  // SUMMARY
  // ───────────────────────────────────────────────────────────

  console.info('═══════════════════════════════════════════════════════')
  console.info('[AOF] Chest Balance Complete!')
  console.info('[AOF] ✓ OP items removed from ALL chests')
  console.info('[AOF] ✓ Players MUST craft progression items')
  console.info('[AOF] ✓ No more free OP gear from looting!')
  console.info('═══════════════════════════════════════════════════════')

})
