// pack_tests.js — Automated pack validation
// Runs during recipe loading to validate items, recipes, mods, and tags.
// Results are logged with [PACKTEST] prefix for grep-based test runner.

// ============================================================
// Test toggles
// ============================================================
// KubeJS 2101.7.x eagerly parses matching JSON recipes when event.containsRecipe()
// and event.countRecipes() are called. Several valid Create-family recipes still use
// serializers/shapes that KubeJS cannot decode cleanly on NeoForge 1.21.1, producing
// hundreds of noisy `Failed to parse recipe ... Falling back to vanilla` warnings
// during every server boot. Vanilla/NeoForge loads those recipes; the noise comes
// from the validation scan, not from the recipes being unusable.
//
// Keep the recipe-scan tests available for manual QA, but disable them for normal
// boot/release packages so server logs are not buried in false-positive warnings.
const ENABLE_RECIPE_SCAN_TESTS = false

// ============================================================
// REQUIRED_MODS — All significant server-side mods (~175)
// Client-only mods excluded (sodium, emi, fancymenu, etc.)
// ============================================================
const REQUIRED_MODS = [
  // Tech core
  'ae2',
  'create',
  'mekanism',
  'mekanismgenerators',
  'mekanismadditions',
  'mekanismtools',
  'modern_industrialization',
  'powah',
  // Food & farming
  'farmersdelight',
  'croptopia',
  'ends_delight',
  'oceansdelight',
  'meadow',
  'vinery',
  'beachparty',
  'cookingforblockheads',
  'farmingforblockheads',
  'chefsdelight',
  // Storage
  'toms_storage',
  'dankstorage',
  'sophisticatedbackpacks',
  'sophisticatedstorage',
  'sophisticatedcore',
  'sophisticatedstoragecreateintegration',
  'sophisticatedbackpackscreateintegration',
  // AE2 addons
  'megacells',
  'appmek',
  'ae2wtlib',
  'appflux',
  'extendedae',
  'merequester',
  'advanced_ae',
  'ae2_mega_things',
  'ae2things',
  // Create addons
  'createaddition',
  'sliceanddice',
  'create_central_kitchen',
  'create_enchantment_industry',
  'createdeco',
  'copycats',
  'garnished',
  'railways',
  'trading_floor',
  'kubejs_create',
  'createcontraptionterminals',
  'bellsandwhistles',
  'create_confectionery',
  'createcafe',
  // MI addons
  'moderndynamics',
  // Utility & QoL
  'jade',
  'almostunified',
  'polymorph',
  'kibe',
  'lootr',
  'lootjs',
  'artifacts',
  'waystones',
  'journeymap',
  'trashcans',
  'travelersbackpack',
  'comforts',
  'tempad',
  'entangled',
  'tradingpost',
  'darkutils',
  'chunkloaders',
  'wormhole',
  // carryon removed: NBT race condition causing mass disconnects
  'pehkui',
  'enchantinginfuser',
  'starterkit',
  'dummmmmmy',
  // FTB suite
  'ftbquests',
  'ftbchunks',
  'ftbteams',
  'ftbessentials',
  'ftbultimine',
  'ftblibrary',
  'ftbranks',
  // Scripting & data
  'kubejs',
  // Building & decoration
  'buildinggadgets2',
  'chipped',
  'rechiseled',
  'prefab',
  'connectedglass',
  'cluttered',
  'mo_glass',
  'nightlights',
  'advancednetherite',
  'amendments',
  // Combat & exploration
  'deeperdarker',
  'xtraarrows',
  'icarus',
  // Nature & mobs
  'friendsandfoes',
  'endermanoverhaul',
  'creeperoverhaul',
  // APIs (server-side)
  'curios',
  'elytraslot',
  'patchouli',
  'repurposed_structures',
  'cristellib', // required by wwoo, not just Structures Arise
  // Other
  'computercraft',
  // New mods (v2.6.0)
  'advancedperipherals',
  'toms_peripherals',
  'jadeaddons',
  'tankstorage',
  'everycomp',
  'stonezone',
  // New mods (v2.10.0)
  'justdirethings',
  // New mods (v2.11.0)
  'relics',
  'morerelics',
  'easy_villagers',
  // New mods (v2.12.0)
  'inventorysorter',
  'brewery',
  'farm_and_charm',
  // New mods (v2.15.0)
  'sparsestructures',
  'nostructureoverlap',
  // New mods (v2.19.0)
  'spectrum',
  'pipeorgans',
  'create_pattern_schematics',
  'sands_of_time',
  'relicsofrain',
  'apothic_spawners',
  'rarcompat',
  // New mods (v2.23.0)
  'create_connected',
  'create_mechanical_extruder',
  'pipez',
  'waterframes',
  // New mods (v2.25.3)
  'wwoo',
  // New mods (v2.27.0)
  'gateways',
  // New mods (v2.29.1)
  'fluxnetworks',
  'rftoolsbase',
  'rftoolspower',
  'rftoolsbuilder',
  'rftoolsstorage',
  'rftoolsutility',
  'mcjtylib',
  'findme',
  // New mods (v2.43.0) — Create Aeronautics core.
  // create-aeronautics is a bundle jar: it ships aeronautics + offroad + simulated.
  // The bundled `simulated` satisfies the "Simulated *" addons without the standalone
  // Create Propulsion mod (which declares modId `createpropulsion`, NOT a duplicate).
  'aeronautics_bundled',
  'aeronautics',
  'simulated',
  'offroad',
  'sable',
  'sablecompanion',
  // Aeronautics content addons (v2.43.0)
  'aeronautics_dyeable_components', 'kineticgrip', 'createburnerfuel', 'cavwb',
  'create_aeronautics_placeable_wheels', 'compactflap',
  'sablemassview', 'sablephysicscompat', 'aeronauticscompat', 'ballastmod',
  'aeronautics_joystick', 'aeroconnectedfluidvessel',
  'create_aeronautics_throwable_rope_connector', 'aeroworks', 'climbable_ropes',
  'create_aeronautics_automated_logistics', 'portable_engine_liquid_fuel',
  'aeronautics_utility_objects', 'createthrusters', 'aeronauticscovers',
  'sable_schematic_api', 'aero_cam_sync', 'aeroportals', 'create_aero_radar',
  'create_radar', 'create_aeronautics_toolgun',
  // Aeronautics cross-mod bridges (v2.43.0)
  'create_mekanism_compat', 'aeronautics_curios_compat', 'sablejade',
  'copycat_wing', 'sable_sa_compat', 'create_aeronautics_ftb_chunks',
  'waystonessable', 'cc_sable', 'cbc_fuze_sable_fix', 'aerocopycats',
  'aeroadditionbridge', 'dndecorsable', 'shield_generators',
  // Create Cosmonautics (v2.43.0) — one jar, two mods; alcubierre needs dimensional_sable.
  // Adds the rocketnautics:moon and rocketnautics:deep_space dimensions.
  'rocketnautics', 'dimensional_sable', 'alcubierre',
  // New mods — Joy of Painting
  'xercapaint',
  // New mods — Twilight Forest suite
  'twilightforest',
  'create_shimmer',
  'twilightdelight',
  'tf_dnv',
  'tfbr',
  'berry_overgrown',
  'doiamornament',
  'cp_lib',
  'cp_tf',
  // New mods — MineColonies style packs + misc
  'concreteconversion',
  'ironfurnaces',
  // Additional coverage (~20% expansion)
  'tesseract',
  'morerelics',
  'brewery',
  'farm_and_charm',
  'inventorysorter',
  'prefab',
  'cluttered',
  'amendments',
  'advancednetherite',
  'pehkui',
  'starterkit',
  'dummmmmmy',
  'buildinggadgets2',
  'chipped',
  'connectedglass',
  'mo_glass',
  'nightlights',
  'rechiseled',
  'elytraslot',
  'apothic_spawners',
  'sparsestructures',
  'nostructureoverlap',
  'sands_of_time',
  'relicsofrain',
  'create_pattern_schematics',
  'pipeorgans',
  // New mods (v2.35.0) — verification of major updates
  'minecolonies',
  'structurize',
  'domum_ornamentum',
  'integrateddynamics',
  'justdirethings',
  'ornamental',
  // Integrated Dynamics suite completed (v2.45.0). ID alone can sense and compute
  // but cannot move anything — Tunnels is what makes the network actually act.
  // Tunnels and Terminals each ship a *compat submodule in the same jar.
  'integratedtunnels', 'integratedtunnelscompat',
  'integratedterminals', 'integratedterminalscompat',
  'integratedcrafting',
  'integratedscripting',
  // mcjty stack completed (v2.45.0) — McJtyLib + RFTools Base were already here.
  'xnet', 'deepresonance',
  // New tree: matter replication + stellar energy (v2.45.0).
  // titanium is a shared library — Replication and Dyson Cube both need it.
  'titanium', 'replication', 'rep_ae2_bridge', 'replication_matter_overflow',
  'dysoncubeproject',
  // Automation heavyweights, mob/XP farms, transport (v2.45.0)
  'sfm', 'laserio',
  'mob_grinding_utils', 'cognition',
  'classicpipes',
  // Magic pillar (v2.45.0). Chosen to bridge into what the pack already runs:
  // create_ironspell_recipe puts spell inks in the Create mixer, ironssablecompat
  // enables casting on Sable airships, darkermagic ties into Deeper & Darker,
  // minecoloniesmages adds a Mage guard. ironssablecompat jarjars sablecompanion,
  // which Sable also ships — JarJar dedupes by version, watch for Duplicate mod.
  'irons_spellbooks', 'irons_lib', 'aces_spell_utils', 'irons_spells_js',
  'ironssablecompat', 'create_ironspell_recipe', 'darkermagic', 'minecoloniesmages',
  // Was in the pack but untested. 1.1.0 requires justdirethings [1.5.7,) and we
  // sit exactly on 1.5.7, so a JDT downgrade would silently break it.
  'jdttimeaccelerators',
  // ME Trading Terminal (villager trades -> AE2 patterns). Hard-depends on ae2
  // [19.2.17,19.3); soft-pins easy_villagers 1.1.42, almostunified 1.4.2 -- all
  // matched exactly, so any of those updating out of range can break it.
  'metrading',
  // Mekanism Unleashed (v2.46.1): raises the speed/energy upgrade cap 8 -> 32
  // (config/mekanism_unleashed-startup.toml: maxUpgrades = 32). Its 1.21.1 files
  // declare mc [1.21,1.21.1) but load fine on 1.21.1 (verified). Mekanism dep is
  // a >= minimum, satisfied by our 10.7.19.85.
  'mekanism_unleashed',
  // Create: Coasters Simulated (v2.47.0) — Sable/Create physics rollercoasters.
  // API-excluded, sourced from forgecdn (see fix-curseforge-export.sh EXCLUDED_MODS).
  // Requires create 6.0.10 + sable 2.0.0+ (both present); no simulated/aeronautics dep.
  'simulatedcoasters',
  // Inventory Pets (v2.48.0): animated inventory pets with passive effects.
  // (Dimensional Doors was tried but purged — its block count tipped the pack's
  // registry over a threshold that crashes the Aeronautics ballast/alloyed mods.)
  'inventorypets',
]

// ============================================================
// REQUIRED_ITEMS — Items that MUST exist in the registry (~1589)
// ============================================================
const REQUIRED_ITEMS = [
  // --- KubeJS custom items ---
  'kubejs:universal_press',

  // --- AE2 (~30) ---
  'ae2:engineering_processor_press',
  'ae2:calculation_processor_press',
  'ae2:logic_processor_press',
  'ae2:silicon_press',
  'ae2:printed_engineering_processor',
  'ae2:printed_logic_processor',
  'ae2:printed_calculation_processor',
  'ae2:printed_silicon',
  'ae2:engineering_processor',
  'ae2:logic_processor',
  'ae2:calculation_processor',
  'ae2:certus_quartz_crystal',
  'ae2:certus_quartz_dust',
  'ae2:fluix_crystal',
  'ae2:fluix_dust',
  'ae2:silicon',
  'ae2:cell_component_1k',
  'ae2:cell_component_4k',
  'ae2:cell_component_16k',
  'ae2:cell_component_64k',
  'ae2:cell_component_256k',
  'ae2:item_storage_cell_1k',
  'ae2:item_storage_cell_4k',
  'ae2:item_storage_cell_64k',
  'ae2:controller',
  'ae2:drive',
  'ae2:charger',
  'ae2:inscriber',
  'ae2:interface',
  'ae2:pattern_provider',
  'ae2:crafting_unit',
  'ae2:molecular_assembler',
  'ae2:fluix_glass_cable',
  'ae2:meteorite_compass',
  'ae2:quartz_fiber',
  'ae2:spatial_cell_component_128',

  // --- Megacells (3) ---
  'megacells:accumulation_processor_press',
  'megacells:printed_accumulation_processor',
  'megacells:accumulation_processor',

  // --- AdvancedAE (3) ---
  'advanced_ae:reaction_chamber',
  'advanced_ae:quantum_crafter',
  'advanced_ae:quantum_processor',

  // --- AE2 Things (3) ---
  'ae2things:disk_housing',
  'ae2things:disk_drive_1k',
  'ae2things:disk_drive_256k',

  // --- AE2 MEGA Things (3) ---
  'ae2_mega_things:mega_item_disk_housing',
  'ae2_mega_things:item_disk_drive_1m',
  'ae2_mega_things:fluid_disk_housing',

  // --- Mekanism core (~50) ---
  'mekanism:basic_control_circuit',
  'mekanism:advanced_control_circuit',
  'mekanism:elite_control_circuit',
  'mekanism:ultimate_control_circuit',
  'mekanism:ingot_osmium',
  'mekanism:ingot_steel',
  'mekanism:ingot_tin',
  'mekanism:ingot_lead',
  'mekanism:ingot_uranium',
  'mekanism:alloy_infused',
  'mekanism:alloy_reinforced',
  'mekanism:alloy_atomic',
  'mekanism:enriched_diamond',
  'mekanism:enriched_redstone',
  'mekanism:enriched_iron',
  'mekanism:enriched_gold',
  'mekanism:enriched_tin',
  'mekanism:hdpe_sheet',
  'mekanism:hdpe_pellet',
  'mekanism:pellet_antimatter',
  'mekanism:upgrade_speed',
  'mekanism:upgrade_energy',
  'mekanism:upgrade_muffling',
  'mekanism:basic_universal_cable',
  'mekanism:advanced_universal_cable',
  'mekanism:elite_universal_cable',
  'mekanism:ultimate_universal_cable',
  'mekanism:steel_casing',
  'mekanism:metallurgic_infuser',
  'mekanism:enrichment_chamber',
  'mekanism:osmium_compressor',
  'mekanism:crusher',
  'mekanism:energized_smelter',
  'mekanism:precision_sawmill',
  'mekanism:electric_pump',
  'mekanism:electrolytic_separator',
  'mekanism:chemical_infuser',
  'mekanism:purification_chamber',
  'mekanism:chemical_injection_chamber',
  'mekanism:chemical_dissolution_chamber',
  'mekanism:chemical_washer',
  'mekanism:chemical_crystallizer',
  'mekanism:rotary_condensentrator',
  'mekanism:combiner',
  'mekanism:basic_energy_cube',
  'mekanism:advanced_energy_cube',
  'mekanism:basic_smelting_factory',
  'mekanism:advanced_smelting_factory',
  'mekanism:elite_smelting_factory',
  'mekanism:digital_miner',
  'mekanism:quantum_entangloporter',
  'mekanism:teleporter',
  'mekanism:robit',
  'mekanism:mekasuit_helmet',
  'mekanism:mekasuit_bodyarmor',
  'mekanism:mekasuit_pants',
  'mekanism:mekasuit_boots',
  'mekanism:meka_tool',
  'mekanism:teleportation_core',

  // --- Mekanism Generators (~7) ---
  'mekanismgenerators:heat_generator',
  'mekanismgenerators:solar_generator',
  'mekanismgenerators:advanced_solar_generator',
  'mekanismgenerators:wind_generator',
  'mekanismgenerators:gas_burning_generator',
  'mekanismgenerators:fission_reactor_casing',
  'mekanismgenerators:fusion_reactor_controller',

  // --- Mekanism Additions (~3) ---
  'mekanismadditions:obsidian_tnt',
  'mekanismadditions:white_glow_panel',
  'mekanismadditions:black_balloon',

  // --- Create (~45) ---
  'create:andesite_alloy',
  'create:brass_ingot',
  'create:zinc_ingot',
  'create:zinc_nugget',
  'create:cogwheel',
  'create:large_cogwheel',
  'create:shaft',
  'create:metal_girder',
  'create:rose_quartz',
  'create:polished_rose_quartz',
  'create:andesite_casing',
  'create:brass_casing',
  'create:copper_casing',
  'create:railway_casing',
  'create:wrench',
  'create:goggles',
  'create:super_glue',
  'create:mechanical_press',
  'create:mechanical_mixer',
  'create:mechanical_drill',
  'create:mechanical_saw',
  'create:mechanical_harvester',
  'create:mechanical_plough',
  'create:mechanical_bearing',
  'create:mechanical_piston',
  'create:mechanical_crafter',
  'create:deployer',
  'create:basin',
  'create:blaze_burner',
  'create:millstone',
  'create:crushing_wheel',
  'create:encased_fan',
  'create:water_wheel',
  'create:steam_engine',
  'create:fluid_tank',
  'create:item_vault',
  'create:chute',
  'create:depot',
  'create:belt_connector',
  'create:rope_pulley',
  'create:gantry_carriage',
  'create:track',
  'create:display_board',
  'create:electron_tube',
  'create:precision_mechanism',
  'create:empty_blaze_burner',
  'create:propeller',
  'create:sturdy_sheet',

  // --- Create addons (~5) ---
  'createaddition:rolling_mill',
  'createaddition:electric_motor',
  'sliceanddice:slicer',

  // --- Modern Industrialization (~45) ---
  'modern_industrialization:bronze_ingot',
  'modern_industrialization:tin_ingot',
  'modern_industrialization:steel_ingot',
  'modern_industrialization:aluminum_ingot',
  'modern_industrialization:lead_ingot',
  'modern_industrialization:nickel_ingot',
  'modern_industrialization:invar_ingot',
  'modern_industrialization:electrum_ingot',
  'modern_industrialization:stainless_steel_ingot',
  'modern_industrialization:titanium_ingot',
  'modern_industrialization:lignite_coal',
  'modern_industrialization:iron_dust',
  'modern_industrialization:gold_dust',
  'modern_industrialization:copper_dust',
  'modern_industrialization:tin_dust',
  'modern_industrialization:bronze_dust',
  'modern_industrialization:steel_dust',
  'modern_industrialization:iron_plate',
  'modern_industrialization:gold_plate',
  'modern_industrialization:copper_plate',
  'modern_industrialization:tin_plate',
  'modern_industrialization:bronze_plate',
  'modern_industrialization:steel_plate',
  'modern_industrialization:aluminum_plate',
  'modern_industrialization:iron_tiny_dust',
  'modern_industrialization:gold_tiny_dust',
  'modern_industrialization:copper_tiny_dust',
  'modern_industrialization:tin_tiny_dust',
  'modern_industrialization:bronze_tiny_dust',
  'modern_industrialization:steel_tiny_dust',
  'modern_industrialization:aluminum_tiny_dust',
  'modern_industrialization:lead_tiny_dust',
  'modern_industrialization:nickel_tiny_dust',
  'modern_industrialization:invar_tiny_dust',
  'modern_industrialization:forge_hammer',
  'modern_industrialization:bronze_drill',
  'modern_industrialization:steam_mining_drill',
  'modern_industrialization:bronze_compressor',
  'modern_industrialization:bronze_cutting_machine',
  'modern_industrialization:bronze_furnace',
  'modern_industrialization:bronze_mixer',
  'modern_industrialization:bronze_macerator',
  'modern_industrialization:bronze_water_pump',
  'modern_industrialization:steel_furnace',
  'modern_industrialization:steel_compressor',
  'modern_industrialization:steel_cutting_machine',
  'modern_industrialization:steel_mixer',
  'modern_industrialization:steel_macerator',
  'modern_industrialization:item_pipe',
  'modern_industrialization:fluid_pipe',
  'modern_industrialization:bronze_tank',
  'modern_industrialization:steel_tank',
  'modern_industrialization:bronze_machine_casing',
  'modern_industrialization:steel_machine_casing',
  'modern_industrialization:basic_machine_hull',
  'modern_industrialization:advanced_machine_hull',
  'modern_industrialization:turbo_machine_hull',
  'modern_industrialization:highly_advanced_machine_hull',
  'modern_industrialization:coke_oven',
  'modern_industrialization:steam_blast_furnace',
  'modern_industrialization:electric_blast_furnace',
  'modern_industrialization:large_steam_boiler',

  // --- Powah (~40) ---
  'powah:dielectric_casing',
  'powah:dielectric_paste',
  'powah:energizing_orb',
  'powah:energizing_rod_starter',
  'powah:energizing_rod_basic',
  'powah:energizing_rod_hardened',
  'powah:energizing_rod_blazing',
  'powah:energizing_rod_niotic',
  'powah:energizing_rod_spirited',
  'powah:energizing_rod_nitro',
  'powah:energy_cable_starter',
  'powah:energy_cable_basic',
  'powah:energy_cable_hardened',
  'powah:energy_cable_blazing',
  'powah:energy_cable_niotic',
  'powah:energy_cable_spirited',
  'powah:energy_cable_nitro',
  'powah:energy_cell_starter',
  'powah:energy_cell_basic',
  'powah:energy_cell_hardened',
  'powah:energy_cell_blazing',
  'powah:energy_cell_niotic',
  'powah:energy_cell_spirited',
  'powah:energy_cell_nitro',
  'powah:thermo_generator_starter',
  'powah:thermo_generator_basic',
  'powah:thermo_generator_hardened',
  'powah:solar_panel_starter',
  'powah:solar_panel_basic',
  'powah:solar_panel_hardened',
  'powah:solar_panel_blazing',
  'powah:solar_panel_niotic',
  'powah:solar_panel_spirited',
  'powah:solar_panel_nitro',
  'powah:furnator_starter',
  'powah:furnator_basic',
  'powah:furnator_hardened',
  'powah:crystal_blazing',
  'powah:crystal_niotic',
  'powah:crystal_spirited',
  'powah:steel_energized',
  'powah:dry_ice',
  'powah:uraninite_raw',

  // --- Farmer's Delight (~45) ---
  'farmersdelight:cooking_pot',
  'farmersdelight:cutting_board',
  'farmersdelight:skillet',
  'farmersdelight:stove',
  'farmersdelight:flint_knife',
  'farmersdelight:iron_knife',
  'farmersdelight:diamond_knife',
  'farmersdelight:netherite_knife',
  'farmersdelight:golden_knife',
  'farmersdelight:canvas',
  'farmersdelight:organic_compost',
  'farmersdelight:rich_soil',
  'farmersdelight:rope',
  'farmersdelight:straw',
  'farmersdelight:tree_bark',
  'farmersdelight:cabbage',
  'farmersdelight:cabbage_seeds',
  'farmersdelight:tomato',
  'farmersdelight:tomato_seeds',
  'farmersdelight:onion',
  'farmersdelight:rice',
  'farmersdelight:apple_pie',
  'farmersdelight:sweet_berry_cheesecake',
  'farmersdelight:chocolate_pie',
  'farmersdelight:bacon_and_eggs',
  'farmersdelight:steak_and_potatoes',
  'farmersdelight:pasta_with_meatballs',
  'farmersdelight:grilled_salmon',
  'farmersdelight:roast_chicken',
  'farmersdelight:vegetable_soup',
  'farmersdelight:pumpkin_soup',
  'farmersdelight:mushroom_rice',
  'farmersdelight:noodle_soup',
  'farmersdelight:roasted_mutton_chops',
  'farmersdelight:hamburger',
  'farmersdelight:fruit_salad',
  'farmersdelight:mixed_salad',
  'farmersdelight:barbecue_stick',
  'farmersdelight:honey_glazed_ham',
  'farmersdelight:stuffed_potato',
  'farmersdelight:ratatouille',
  'farmersdelight:cooked_rice',
  'farmersdelight:cabbage_rolls',
  'farmersdelight:roast_chicken_block',
  'farmersdelight:honey_glazed_ham_block',

  // --- Croptopia (~12) ---
  'croptopia:grape',
  'croptopia:grape_seed',
  'croptopia:coffee_seed',
  'croptopia:corn_seed',
  'croptopia:olive_seed',
  'croptopia:peanut_seed',
  'croptopia:soybean_seed',
  'croptopia:tea_seed',
  'croptopia:vanilla_seeds',
  'croptopia:salt',
  'croptopia:frying_pan',
  'croptopia:cooking_pot',


  // --- Ends Delight ---
  'ends_delight:chorus_succulent',

  // --- Ocean's Delight ---
  'oceansdelight:guardian_soup',
  'oceansdelight:tentacle_on_a_stick',

  // --- Vinery (~8) ---
  'vinery:apple_log',
  'vinery:apple_tree_sapling',
  'vinery:grapevine_pot',
  'vinery:fermentation_barrel',
  'vinery:apple_press',
  'vinery:cherry_wine',
  'vinery:red_wine',
  'vinery:noir_wine',
  'vinery:wine_bottle',

  // --- Meadow (~3) ---
  'meadow:cheese_block',
  'meadow:wooden_bucket',
  'meadow:cheese_form',

  // --- Tom's Storage (4) ---
  'toms_storage:inventory_connector',
  'toms_storage:storage_terminal',
  'toms_storage:crafting_terminal',
  'toms_storage:trim',

  // --- Dank Storage (8) ---
  'dankstorage:dank_1',
  'dankstorage:dank_2',
  'dankstorage:dank_3',
  'dankstorage:dank_4',
  'dankstorage:dank_5',
  'dankstorage:dank_6',
  'dankstorage:dank_7',
  'dankstorage:dock',

  // --- Sophisticated Backpacks/Storage (4) ---
  'sophisticatedbackpacks:backpack',
  'sophisticatedbackpacks:iron_backpack',
  'sophisticatedstorage:barrel',
  'sophisticatedstorage:iron_barrel',

  // --- Artifacts (5) ---
  'artifacts:umbrella',
  'artifacts:cloud_in_a_bottle',
  'artifacts:helium_flamingo',
  'artifacts:bunny_hoppers',
  'artifacts:lucky_scarf',

  // --- Waystones (3) ---
  'waystones:waystone',
  'waystones:sandy_waystone',
  'waystones:mossy_waystone',

  // --- Kibe (3) ---
  'kibe:diamond_ring',
  'kibe:magnet',
  'kibe:slime_sling',

  // --- CC: Tweaked (3) ---
  'computercraft:computer_normal',
  'computercraft:computer_advanced',
  'computercraft:turtle_normal',

  // --- Macaw's mods (8, 1 per mod with known items) ---
  'mcwbridges:oak_log_bridge_middle',
  'mcwdoors:oak_barn_door',
  'mcwfences:oak_picket_fence',
  'mcwfurnitures:oak_desk',
  'mcwlights:lava_lamp',
  'mcwroofs:oak_roof',
  'mcwtrpdoors:oak_barn_trapdoor',
  'mcwwindows:oak_window',

  // --- Utility mods (~15) ---
  'lootr:lootr_chest',
  'chipped:botanist_workbench',
  'rechiseled:chisel',
  'prefab:item_house',
  'enchantinginfuser:enchanting_infuser',
  'cookingforblockheads:cooking_table',
  'cookingforblockheads:heating_unit',
  'farmingforblockheads:market',

  // --- Applied Mekanistics / AE2 addons ---
  'appmek:chemical_storage_cell_1k',
  'ae2wtlib:wireless_pattern_access_terminal',

  // --- Advanced Peripherals (~5) ---
  'advancedperipherals:chat_box',
  'advancedperipherals:player_detector',
  'advancedperipherals:me_bridge',
  'advancedperipherals:energy_detector',
  'advancedperipherals:geo_scanner',

  // --- Tom's Peripherals (~3) ---
  'toms_peripherals:monitor',
  'toms_peripherals:gpu',
  'toms_peripherals:keyboard',

  // --- Tank Storage (~3) ---
  'tankstorage:tank_dock',
  'tankstorage:tank_4',
  'tankstorage:tank_1',

  // --- Chicken farm output items — MI tiny dusts (~40) ---
  'modern_industrialization:antimony_tiny_dust',
  'modern_industrialization:battery_alloy_tiny_dust',
  'modern_industrialization:bauxite_tiny_dust',
  'modern_industrialization:beryllium_tiny_dust',
  'modern_industrialization:cadmium_tiny_dust',
  'modern_industrialization:chromium_tiny_dust',
  'modern_industrialization:cupronickel_tiny_dust',
  'modern_industrialization:electrum_tiny_dust',
  'modern_industrialization:he_mox_tiny_dust',
  'modern_industrialization:iridium_tiny_dust',
  'modern_industrialization:kanthal_tiny_dust',
  'modern_industrialization:le_mox_tiny_dust',
  'modern_industrialization:le_uranium_tiny_dust',
  'modern_industrialization:lignite_coal_tiny_dust',
  'modern_industrialization:manganese_tiny_dust',
  'modern_industrialization:monazite_tiny_dust',
  'modern_industrialization:neodymium_tiny_dust',
  'modern_industrialization:platinum_tiny_dust',
  'modern_industrialization:plutonium_tiny_dust',
  'modern_industrialization:salt_dust',
  'modern_industrialization:salt_tiny_dust',
  'modern_industrialization:silicon_tiny_dust',
  'modern_industrialization:sodium_tiny_dust',
  'modern_industrialization:soldering_alloy_tiny_dust',
  'modern_industrialization:stainless_steel_tiny_dust',
  'modern_industrialization:sulfur_tiny_dust',
  'modern_industrialization:titanium_tiny_dust',
  'modern_industrialization:tungsten_tiny_dust',
  'modern_industrialization:uranium_235_tiny_dust',
  'modern_industrialization:uranium_238_tiny_dust',
  'modern_industrialization:uranium_tiny_dust',
  'modern_industrialization:yttrium_tiny_dust',

  // --- Chicken farm output items — Powah crystals ---
  // (already covered above: crystal_blazing, crystal_niotic, crystal_spirited, dry_ice, steel_energized, uraninite_raw)

  // --- Chicken farm output items — AE2 ---
  // (already covered above: certus_quartz_crystal, certus_quartz_dust, fluix_crystal, fluix_dust)

  // --- Chicken farm output items — Minecraft ores ---
  'minecraft:raw_copper',
  'minecraft:raw_iron',
  'minecraft:raw_gold',
  'minecraft:amethyst_shard',
  'minecraft:ancient_debris',
  'minecraft:coal',
  'minecraft:diamond',
  'minecraft:emerald',
  'minecraft:glowstone_dust',
  'minecraft:lapis_lazuli',
  'minecraft:quartz',
  'minecraft:redstone',

  // --- Chicken farm output items — Create ---
  // (already covered above: zinc_nugget)

  // --- Beachparty ---
  'beachparty:beach_towel',

  // ============================================================
  // EXPANDED ITEMS — Vanilla Minecraft (~200)
  // ============================================================

  // --- Vanilla Tools (30) ---
  'minecraft:wooden_sword', 'minecraft:wooden_pickaxe', 'minecraft:wooden_axe', 'minecraft:wooden_shovel', 'minecraft:wooden_hoe',
  'minecraft:stone_sword', 'minecraft:stone_pickaxe', 'minecraft:stone_axe', 'minecraft:stone_shovel', 'minecraft:stone_hoe',
  'minecraft:iron_sword', 'minecraft:iron_pickaxe', 'minecraft:iron_axe', 'minecraft:iron_shovel', 'minecraft:iron_hoe',
  'minecraft:golden_sword', 'minecraft:golden_pickaxe', 'minecraft:golden_axe', 'minecraft:golden_shovel', 'minecraft:golden_hoe',
  'minecraft:diamond_sword', 'minecraft:diamond_pickaxe', 'minecraft:diamond_axe', 'minecraft:diamond_shovel', 'minecraft:diamond_hoe',
  'minecraft:netherite_sword', 'minecraft:netherite_pickaxe', 'minecraft:netherite_axe', 'minecraft:netherite_shovel', 'minecraft:netherite_hoe',

  // --- Vanilla Armor (24) ---
  'minecraft:leather_helmet', 'minecraft:leather_chestplate', 'minecraft:leather_leggings', 'minecraft:leather_boots',
  'minecraft:chainmail_helmet', 'minecraft:chainmail_chestplate', 'minecraft:chainmail_leggings', 'minecraft:chainmail_boots',
  'minecraft:iron_helmet', 'minecraft:iron_chestplate', 'minecraft:iron_leggings', 'minecraft:iron_boots',
  'minecraft:golden_helmet', 'minecraft:golden_chestplate', 'minecraft:golden_leggings', 'minecraft:golden_boots',
  'minecraft:diamond_helmet', 'minecraft:diamond_chestplate', 'minecraft:diamond_leggings', 'minecraft:diamond_boots',
  'minecraft:netherite_helmet', 'minecraft:netherite_chestplate', 'minecraft:netherite_leggings', 'minecraft:netherite_boots',

  // --- Vanilla Wood Types (40) ---
  'minecraft:oak_planks', 'minecraft:spruce_planks', 'minecraft:birch_planks', 'minecraft:jungle_planks',
  'minecraft:acacia_planks', 'minecraft:dark_oak_planks', 'minecraft:mangrove_planks', 'minecraft:cherry_planks',
  'minecraft:oak_log', 'minecraft:spruce_log', 'minecraft:birch_log', 'minecraft:jungle_log',
  'minecraft:acacia_log', 'minecraft:dark_oak_log', 'minecraft:mangrove_log', 'minecraft:cherry_log',
  'minecraft:oak_slab', 'minecraft:spruce_slab', 'minecraft:birch_slab', 'minecraft:jungle_slab',
  'minecraft:acacia_slab', 'minecraft:dark_oak_slab', 'minecraft:mangrove_slab', 'minecraft:cherry_slab',
  'minecraft:oak_stairs', 'minecraft:spruce_stairs', 'minecraft:birch_stairs', 'minecraft:jungle_stairs',
  'minecraft:acacia_stairs', 'minecraft:dark_oak_stairs', 'minecraft:mangrove_stairs', 'minecraft:cherry_stairs',
  'minecraft:oak_fence', 'minecraft:spruce_fence', 'minecraft:birch_fence', 'minecraft:jungle_fence',
  'minecraft:acacia_fence', 'minecraft:dark_oak_fence', 'minecraft:mangrove_fence', 'minecraft:cherry_fence',

  // --- Vanilla Mineral Blocks (17) ---
  'minecraft:iron_block', 'minecraft:gold_block', 'minecraft:diamond_block', 'minecraft:emerald_block',
  'minecraft:lapis_block', 'minecraft:redstone_block', 'minecraft:copper_block', 'minecraft:netherite_block',
  'minecraft:iron_ingot', 'minecraft:gold_ingot', 'minecraft:copper_ingot', 'minecraft:netherite_ingot',
  'minecraft:iron_nugget', 'minecraft:gold_nugget',
  'minecraft:raw_iron_block', 'minecraft:raw_gold_block', 'minecraft:raw_copper_block',

  // --- Vanilla Redstone (15) ---
  'minecraft:redstone_torch', 'minecraft:repeater', 'minecraft:comparator', 'minecraft:observer',
  'minecraft:piston', 'minecraft:sticky_piston', 'minecraft:hopper', 'minecraft:dropper', 'minecraft:dispenser',
  'minecraft:lever', 'minecraft:target', 'minecraft:daylight_detector', 'minecraft:tripwire_hook',
  'minecraft:note_block', 'minecraft:tnt',

  // --- Vanilla Food (20) ---
  'minecraft:bread', 'minecraft:golden_apple', 'minecraft:enchanted_golden_apple',
  'minecraft:cooked_porkchop', 'minecraft:cooked_beef', 'minecraft:cooked_chicken', 'minecraft:cooked_mutton',
  'minecraft:cooked_cod', 'minecraft:cooked_salmon', 'minecraft:baked_potato', 'minecraft:pumpkin_pie',
  'minecraft:cookie', 'minecraft:melon_slice', 'minecraft:cake', 'minecraft:sweet_berries',
  'minecraft:glow_berries', 'minecraft:honey_bottle', 'minecraft:suspicious_stew', 'minecraft:mushroom_stew',
  'minecraft:dried_kelp',

  // --- Vanilla Nether/End (12) ---
  'minecraft:blaze_rod', 'minecraft:blaze_powder', 'minecraft:ghast_tear', 'minecraft:magma_cream',
  'minecraft:ender_pearl', 'minecraft:ender_eye', 'minecraft:nether_wart', 'minecraft:nether_star',
  'minecraft:chorus_fruit', 'minecraft:shulker_shell', 'minecraft:phantom_membrane', 'minecraft:netherite_scrap',

  // --- Vanilla Brewing (6) ---
  'minecraft:brewing_stand', 'minecraft:cauldron', 'minecraft:glass_bottle',
  'minecraft:fermented_spider_eye', 'minecraft:rabbit_foot', 'minecraft:spider_eye',

  // --- Vanilla Utility Blocks (16) ---
  'minecraft:anvil', 'minecraft:grindstone', 'minecraft:smithing_table', 'minecraft:loom',
  'minecraft:cartography_table', 'minecraft:fletching_table', 'minecraft:stonecutter', 'minecraft:composter',
  'minecraft:barrel', 'minecraft:blast_furnace', 'minecraft:smoker', 'minecraft:lectern',
  'minecraft:bell', 'minecraft:lantern', 'minecraft:soul_lantern', 'minecraft:campfire',

  // --- Vanilla Misc Items (20) ---
  'minecraft:name_tag', 'minecraft:lead', 'minecraft:saddle', 'minecraft:elytra',
  'minecraft:trident', 'minecraft:shield', 'minecraft:bow', 'minecraft:crossbow',
  'minecraft:fishing_rod', 'minecraft:spyglass', 'minecraft:compass', 'minecraft:clock',
  'minecraft:map', 'minecraft:book', 'minecraft:writable_book',
  'minecraft:experience_bottle', 'minecraft:totem_of_undying',
  'minecraft:shears', 'minecraft:flint_and_steel', 'minecraft:bucket',

  // --- Vanilla Colored Wool (16) ---
  'minecraft:white_wool', 'minecraft:orange_wool', 'minecraft:magenta_wool', 'minecraft:light_blue_wool',
  'minecraft:yellow_wool', 'minecraft:lime_wool', 'minecraft:pink_wool', 'minecraft:gray_wool',
  'minecraft:light_gray_wool', 'minecraft:cyan_wool', 'minecraft:purple_wool', 'minecraft:blue_wool',
  'minecraft:brown_wool', 'minecraft:green_wool', 'minecraft:red_wool', 'minecraft:black_wool',

  // --- Vanilla Colored Beds (16) ---
  'minecraft:white_bed', 'minecraft:orange_bed', 'minecraft:magenta_bed', 'minecraft:light_blue_bed',
  'minecraft:yellow_bed', 'minecraft:lime_bed', 'minecraft:pink_bed', 'minecraft:gray_bed',
  'minecraft:light_gray_bed', 'minecraft:cyan_bed', 'minecraft:purple_bed', 'minecraft:blue_bed',
  'minecraft:brown_bed', 'minecraft:green_bed', 'minecraft:red_bed', 'minecraft:black_bed',

  // --- Vanilla Deepslate Ores (8) ---
  'minecraft:deepslate_iron_ore', 'minecraft:deepslate_gold_ore', 'minecraft:deepslate_copper_ore',
  'minecraft:deepslate_diamond_ore', 'minecraft:deepslate_emerald_ore', 'minecraft:deepslate_lapis_ore',
  'minecraft:deepslate_redstone_ore', 'minecraft:deepslate_coal_ore',

  // --- Vanilla Stone Types (10) ---
  'minecraft:stone', 'minecraft:deepslate', 'minecraft:granite', 'minecraft:diorite', 'minecraft:andesite',
  'minecraft:tuff', 'minecraft:calcite', 'minecraft:dripstone_block', 'minecraft:basalt', 'minecraft:blackstone',

  // --- Vanilla Building Blocks (10) ---
  'minecraft:bricks', 'minecraft:stone_bricks', 'minecraft:nether_bricks', 'minecraft:end_stone_bricks',
  'minecraft:deepslate_bricks', 'minecraft:mud_bricks', 'minecraft:prismarine', 'minecraft:prismarine_bricks',
  'minecraft:dark_prismarine', 'minecraft:sea_lantern',

  // --- Vanilla Crops (5) ---
  'minecraft:wheat_seeds', 'minecraft:pumpkin_seeds', 'minecraft:melon_seeds', 'minecraft:beetroot_seeds',
  'minecraft:cocoa_beans',

  // ============================================================
  // EXPANDED ITEMS — More from existing mods (~160)
  // ============================================================

  // --- More AE2 (25) ---
  'ae2:chest', 'ae2:growth_accelerator', 'ae2:energy_acceptor',
  'ae2:wireless_access_point', 'ae2:wireless_terminal',
  'ae2:spatial_io_port',
  'ae2:quantum_ring', 'ae2:quantum_link',
  'ae2:storage_bus', 'ae2:import_bus', 'ae2:export_bus',
  'ae2:level_emitter', 'ae2:toggle_bus',
  'ae2:sky_stone_block', 'ae2:smooth_sky_stone_block',
  'ae2:annihilation_plane', 'ae2:formation_plane',
  'ae2:certus_quartz_wrench', 'ae2:nether_quartz_wrench',
  'ae2:matter_cannon', 'ae2:entropy_manipulator',
  'ae2:charged_staff', 'ae2:color_applicator',
  'ae2:memory_card',

  // --- More Mekanism (20) ---
  'mekanism:sawdust', 'mekanism:bio_fuel',
  'mekanism:atomic_disassembler', 'mekanism:electric_bow',
  'mekanism:configurator', 'mekanism:network_reader',
  'mekanism:portable_teleporter', 'mekanism:free_runners',
  'mekanism:jetpack', 'mekanism:scuba_tank',
  'mekanism:flamethrower', 'mekanism:geiger_counter',
  'mekanism:seismic_reader', 'mekanism:canteen',
  'mekanism:basic_chemical_tank', 'mekanism:basic_fluid_tank',
  'mekanism:logistical_sorter', 'mekanism:laser',
  'mekanism:solar_neutron_activator', 'mekanism:sps_casing',

  // --- More Create (20) ---
  'create:hand_crank', 'create:windmill_bearing',
  'create:contraption_controls', 'create:clutch', 'create:gearshift',
  'create:creative_motor', 'create:sequenced_gearshift',
  'create:redstone_contact', 'create:content_observer',
  'create:item_drain', 'create:spout', 'create:portable_fluid_interface',
  'create:portable_storage_interface', 'create:smart_chute',
  'create:brass_tunnel', 'create:andesite_tunnel',
  'create:sticker', 'create:linear_chassis', 'create:radial_chassis',
  'create:minecart_coupling',

  // --- More Powah (7) ---
  'powah:player_transmitter_starter',
  'powah:energy_hopper_starter', 'powah:energy_hopper_basic',
  'powah:reactor_starter', 'powah:reactor_basic',
  'powah:magmator_starter', 'powah:magmator_basic',

  // --- More Farmer's Delight (15) ---
  'farmersdelight:tatami', 'farmersdelight:full_tatami_mat',
  'farmersdelight:kelp_roll', 'farmersdelight:kelp_roll_slice',
  'farmersdelight:fried_rice', 'farmersdelight:shepherds_pie',
  'farmersdelight:dumplings', 'farmersdelight:stuffed_pumpkin',
  'farmersdelight:salmon_roll', 'farmersdelight:cod_roll',
  'farmersdelight:dog_food', 'farmersdelight:horse_feed',
  'farmersdelight:pie_crust', 'farmersdelight:wheat_dough',
  'farmersdelight:raw_pasta',

  // --- More Croptopia (25) ---
  'croptopia:artichoke', 'croptopia:asparagus', 'croptopia:barley',
  'croptopia:basil', 'croptopia:bellpepper', 'croptopia:blackbean',
  'croptopia:blueberry', 'croptopia:broccoli', 'croptopia:cabbage',
  'croptopia:cantaloupe', 'croptopia:cauliflower', 'croptopia:celery',
  'croptopia:chile_pepper', 'croptopia:coffee_beans', 'croptopia:corn',
  'croptopia:cranberry', 'croptopia:cucumber', 'croptopia:eggplant',
  'croptopia:elderberry', 'croptopia:garlic', 'croptopia:ginger',
  'croptopia:kale', 'croptopia:lemon', 'croptopia:lettuce',
  'croptopia:lime',

  // --- More MI materials (20) ---
  'modern_industrialization:stainless_steel_plate',
  'modern_industrialization:titanium_plate',
  'modern_industrialization:aluminum_dust',
  'modern_industrialization:lead_dust',
  'modern_industrialization:nickel_dust',
  'modern_industrialization:invar_dust',
  'modern_industrialization:electrum_dust',
  'modern_industrialization:stainless_steel_dust',
  'modern_industrialization:titanium_dust',
  'modern_industrialization:tungsten_dust',
  'modern_industrialization:rubber_sheet',
  'modern_industrialization:silicon_plate',
  'modern_industrialization:electronic_circuit',
  'modern_industrialization:analog_circuit',
  'modern_industrialization:processing_unit',
  'modern_industrialization:motor',
  'modern_industrialization:large_motor',
  'modern_industrialization:pump',
  'modern_industrialization:large_pump',
  'modern_industrialization:conveyor',

  // --- Mekanism Tools (10) ---
  'mekanismtools:osmium_sword', 'mekanismtools:osmium_pickaxe',
  'mekanismtools:osmium_axe', 'mekanismtools:osmium_shovel',
  'mekanismtools:osmium_helmet', 'mekanismtools:osmium_chestplate',
  'mekanismtools:steel_sword', 'mekanismtools:steel_pickaxe',
  'mekanismtools:bronze_sword', 'mekanismtools:bronze_pickaxe',

  // --- More Vinery (6) ---
  'vinery:aegis_wine', 'vinery:jellie_wine',
  'vinery:chenet_wine', 'vinery:cherry_bag',
  'vinery:red_grapejuice', 'vinery:grapevine_stem',

  // --- More Meadow (5) ---
  'meadow:cooking_cauldron', 'meadow:cheese_wheel',
  'meadow:alpine_salt', 'meadow:watering_can',
  'meadow:woodcutter',

  // --- More Beachparty (4) ---
  'beachparty:palm_bar', 'beachparty:coconut',
  'beachparty:coconut_cocktail', 'beachparty:sand_bucket_filled',

  // --- More Ends Delight (4) ---
  'ends_delight:chorus_fruit_pie', 'ends_delight:shulker_meat_slice',
  'ends_delight:dragon_breath_and_chorus_soup', 'ends_delight:ender_noodle',

  // --- More Ocean's Delight (3) ---
  'oceansdelight:elder_guardian_roll', 'oceansdelight:elder_guardian_slab',
  'oceansdelight:squid_rings',

  // ============================================================
  // EXPANDED ITEMS — New mods (~330)
  // ============================================================

  // --- Deeper and Darker (10) ---
  'deeperdarker:sculk_stone', 'deeperdarker:gloomy_sculk',
  'deeperdarker:echo_soil', 'deeperdarker:sculk_gleam',
  'deeperdarker:ancient_vase', 'deeperdarker:heart_of_the_deep',
  'deeperdarker:soul_crystal', 'deeperdarker:warden_carapace',
  'deeperdarker:soul_dust', 'deeperdarker:reinforced_echo_shard',

  // --- Trash Cans (3) ---
  'trashcans:item_trash_can', 'trashcans:liquid_trash_can', 'trashcans:energy_trash_can',

  // --- Comforts (6) ---
  'comforts:sleeping_bag_white', 'comforts:sleeping_bag_red',
  'comforts:sleeping_bag_blue', 'comforts:sleeping_bag_green',
  'comforts:hammock_white', 'comforts:rope_and_nail',

  // --- Dark Utilities (5) ---
  'darkutils:vector_plate', 'darkutils:vector_plate_fast', 'darkutils:vector_plate_extreme',
  'darkutils:filter_player', 'darkutils:filter_undead',

  // --- Entangled (2) ---
  'entangled:block', 'entangled:item',

  // --- Chunk Loaders (3) ---
  'chunkloaders:basic_chunk_loader', 'chunkloaders:single_chunk_loader', 'chunkloaders:advanced_chunk_loader',

  // --- Advanced Netherite (8) ---
  'advancednetherite:netherite_iron_ingot', 'advancednetherite:netherite_gold_ingot',
  'advancednetherite:netherite_emerald_ingot', 'advancednetherite:netherite_diamond_ingot',
  'advancednetherite:netherite_iron_helmet', 'advancednetherite:netherite_gold_helmet',
  'advancednetherite:netherite_emerald_helmet', 'advancednetherite:netherite_diamond_helmet',

  // --- CC:C Bridge (3) ---
  'cccbridge:redrouter_block', 'cccbridge:source_block', 'cccbridge:scroller_block',

  // --- Create Deco (10) ---
  'createdeco:red_shipping_container', 'createdeco:blue_shipping_container',
  'createdeco:andesite_catwalk', 'createdeco:brass_catwalk',
  'createdeco:copper_catwalk', 'createdeco:zinc_catwalk',
  'createdeco:andesite_catwalk_stairs', 'createdeco:brass_catwalk_stairs',
  'createdeco:iron_window', 'createdeco:iron_window_pane',

  // --- Railways / Steam 'n' Rails (8) ---
  'railways:conductor_whistle', 'railways:track_switch_andesite',
  'railways:semaphore', 'railways:conductor_vent',
  'railways:track_oak_narrow', 'railways:track_oak_wide',
  'railways:track_coupler', 'railways:remote_lens',

  // --- Create Copycats+ (5) ---
  'copycats:copycat_beam', 'copycats:copycat_vertical_step',
  'copycats:copycat_stairs', 'copycats:copycat_fence', 'copycats:copycat_wall',

  // --- Create Garnished (8) ---
  'garnished:nut_mix', 'garnished:cashew', 'garnished:almond',
  'garnished:pistachio', 'garnished:garnished_meal',
  'garnished:peanut', 'garnished:walnut', 'garnished:pecan',

  // --- Bells & Whistles (3) ---
  'bellsandwhistles:headlight',
  'bellsandwhistles:station_platform',
  'bellsandwhistles:metro_casing',

  // --- Create Confectionery (3) ---
  'create_confectionery:bar_of_black_chocolate',
  'create_confectionery:hot_chocolate_bottle',
  'create_confectionery:cocoa_butter',

  // --- Create Cafe (3) ---
  'createcafe:coffee_beans',
  'createcafe:oreo',
  'createcafe:mango_milk_tea',

  // --- Create Trading Floor (1) ---
  'trading_floor:trading_depot',

  // --- Icarus (5) ---
  'icarus:white_feathered_wings', 'icarus:white_light_wings',
  'icarus:white_mechanical_feathered_wings', 'icarus:yellow_dragon_wings',

  // --- Tempad (3) ---
  'tempad:tempad', 'tempad:time_twister',

  // --- Wormhole (2) ---
  'wormhole:portal', 'wormhole:advanced_target_device',

  // --- Trading Post (1) ---
  'tradingpost:trading_post',

  // --- Xtra Arrows (5) ---
  'xtraarrows:flint_explosive_arrow', 'xtraarrows:incendiary_arrow',
  'xtraarrows:iron_freezing_arrow', 'xtraarrows:iron_lightning_arrow',

  // --- Traveler's Backpack (3) ---
  'travelersbackpack:standard', 'travelersbackpack:red_sleeping_bag',
  'travelersbackpack:hose_nozzle',


  // --- Connected Glass (3) ---
  'connectedglass:borderless_glass', 'connectedglass:borderless_glass_pane',
  'connectedglass:tinted_borderless_glass',

  // --- Mo Glass (3) ---
  'mo_glass:glass_slab', 'mo_glass:glass_stairs',
  'mo_glass:tinted_glass_slab',

  // --- Night Lights (3) ---
  'nightlights:fairy_lights_default', 'nightlights:hanging_lights_default', 'nightlights:mushroom_red',

  // --- Target Dummy (1) ---
  'dummmmmmy:target_dummy',

  // --- More Macaw's mods (22) ---
  'mcwbridges:spruce_log_bridge_middle', 'mcwbridges:birch_log_bridge_middle',
  'mcwbridges:rope_oak_bridge', 'mcwbridges:oak_rail_bridge',
  'mcwdoors:spruce_barn_door', 'mcwdoors:birch_barn_door',
  'mcwdoors:oak_glass_door', 'mcwdoors:spruce_glass_door',
  'mcwfences:spruce_picket_fence', 'mcwfences:birch_picket_fence',
  'mcwfences:oak_horse_fence', 'mcwfences:spruce_horse_fence',
  'mcwfurnitures:spruce_desk', 'mcwfurnitures:birch_desk',
  'mcwfurnitures:oak_chair', 'mcwfurnitures:spruce_chair',
  'mcwlights:white_ceiling_light', 'mcwlights:soul_classic_street_lamp',
  'mcwroofs:spruce_roof', 'mcwroofs:birch_roof',
  'mcwwindows:spruce_window', 'mcwwindows:birch_window',

  // --- ExtendedAE (5) ---
  'extendedae:pattern_modifier', 'extendedae:wireless_ex_pat',
  'extendedae:ex_interface', 'extendedae:ex_pattern_provider',
  'extendedae:ingredient_buffer',

  // --- ME Requester (1) ---
  'merequester:requester',

  // --- Modern Dynamics (5) ---
  'moderndynamics:item_pipe', 'moderndynamics:fluid_pipe',
  'moderndynamics:machine_extender', 'moderndynamics:attractor',
  'moderndynamics:filter',

  // --- More Artifacts (5) ---
  'artifacts:whoopee_cushion', 'artifacts:panic_necklace',
  'artifacts:flame_pendant', 'artifacts:thorn_pendant', 'artifacts:charm_of_sinking',

  // --- More Waystones (2) ---
  'waystones:orange_sharestone', 'waystones:warp_plate',

  // --- More Kibe (5) ---
  'kibe:slime_boots', 'kibe:golden_lasso',
  'kibe:tank', 'kibe:trash_can', 'kibe:xp_drain',

  // --- More Sophisticated Backpacks/Storage (6) ---
  'sophisticatedbackpacks:gold_backpack', 'sophisticatedbackpacks:diamond_backpack',
  'sophisticatedbackpacks:netherite_backpack',
  'sophisticatedstorage:gold_barrel', 'sophisticatedstorage:diamond_barrel',
  'sophisticatedstorage:netherite_barrel',

  // --- More Tom's Storage (3) ---
  'toms_storage:paint_kit', 'toms_storage:open_crate',
  'toms_storage:inventory_cable',

  // --- More Dank Storage (2) ---
  'dankstorage:dank_5', 'dankstorage:dank_6',


  // --- More Cooking/Farming for Blockheads (5) ---
  'cookingforblockheads:white_oven', 'cookingforblockheads:white_fridge',
  'cookingforblockheads:sink', 'cookingforblockheads:tool_rack',
  'farmingforblockheads:feeding_trough',

  // --- Friends & Foes (5) ---
  'friendsandfoes:copper_button', 'friendsandfoes:exposed_copper_button',
  'friendsandfoes:weathered_copper_button', 'friendsandfoes:oxidized_copper_button',
  'friendsandfoes:buttercup',

  // --- Enderman Overhaul (2) ---
  'endermanoverhaul:soul_pearl', 'endermanoverhaul:corrupted_pearl',

  // --- Patchouli (1) ---
  'patchouli:guide_book',

  // --- Enchanting Infuser (2) ---
  'enchantinginfuser:advanced_enchanting_infuser',
  'enchantinginfuser:enchanting_infuser',

  // --- Building Gadgets 2 (7) ---
  'buildinggadgets2:gadget_building',
  'buildinggadgets2:gadget_exchanging',
  'buildinggadgets2:gadget_copy_paste',
  'buildinggadgets2:gadget_cut_paste',
  'buildinggadgets2:gadget_destruction',
  'buildinggadgets2:template',
  'buildinggadgets2:redprint',

  // --- Prefab expanded (4) ---
  'prefab:item_house_improved', 'prefab:item_warehouse',
  'prefab:item_instant_bridge', 'prefab:item_farm',

  // --- More Lootr (2) ---
  'lootr:lootr_barrel', 'lootr:lootr_shulker',

  // --- Applied Flux (2) ---
  'appflux:fe_1k_cell', 'appflux:flux_accessor',

  // --- More Applied Mekanistics (2) ---
  'appmek:chemical_storage_cell_4k', 'appmek:chemical_storage_cell_16k',

  // --- Chipped expanded (4) ---
  'chipped:alchemy_bench', 'chipped:carpenters_table',
  'chipped:glassblower', 'chipped:loom_table',

  // --- Rechiseled (1) ---
  'rechiseled:chisel',

  // --- Create addons expanded (4) ---
  'createaddition:connector', 'createaddition:modular_accumulator',
  'create_enchantment_industry:printer',

  // --- Vanilla Colored Concrete (16) ---
  'minecraft:white_concrete', 'minecraft:orange_concrete', 'minecraft:magenta_concrete', 'minecraft:light_blue_concrete',
  'minecraft:yellow_concrete', 'minecraft:lime_concrete', 'minecraft:pink_concrete', 'minecraft:gray_concrete',
  'minecraft:light_gray_concrete', 'minecraft:cyan_concrete', 'minecraft:purple_concrete', 'minecraft:blue_concrete',
  'minecraft:brown_concrete', 'minecraft:green_concrete', 'minecraft:red_concrete', 'minecraft:black_concrete',

  // --- Vanilla Colored Terracotta (16) ---
  'minecraft:white_terracotta', 'minecraft:orange_terracotta', 'minecraft:magenta_terracotta', 'minecraft:light_blue_terracotta',
  'minecraft:yellow_terracotta', 'minecraft:lime_terracotta', 'minecraft:pink_terracotta', 'minecraft:gray_terracotta',
  'minecraft:light_gray_terracotta', 'minecraft:cyan_terracotta', 'minecraft:purple_terracotta', 'minecraft:blue_terracotta',
  'minecraft:brown_terracotta', 'minecraft:green_terracotta', 'minecraft:red_terracotta', 'minecraft:black_terracotta',

  // --- Vanilla Colored Glass (16) ---
  'minecraft:white_stained_glass', 'minecraft:orange_stained_glass', 'minecraft:magenta_stained_glass', 'minecraft:light_blue_stained_glass',
  'minecraft:yellow_stained_glass', 'minecraft:lime_stained_glass', 'minecraft:pink_stained_glass', 'minecraft:gray_stained_glass',
  'minecraft:light_gray_stained_glass', 'minecraft:cyan_stained_glass', 'minecraft:purple_stained_glass', 'minecraft:blue_stained_glass',
  'minecraft:brown_stained_glass', 'minecraft:green_stained_glass', 'minecraft:red_stained_glass', 'minecraft:black_stained_glass',

  // ============================================================
  // EXPANDED ITEMS — Batch 2: More vanilla + mod coverage (~500)
  // ============================================================

  // --- Vanilla Colored Concrete Powder (16) ---
  'minecraft:white_concrete_powder', 'minecraft:orange_concrete_powder', 'minecraft:magenta_concrete_powder', 'minecraft:light_blue_concrete_powder',
  'minecraft:yellow_concrete_powder', 'minecraft:lime_concrete_powder', 'minecraft:pink_concrete_powder', 'minecraft:gray_concrete_powder',
  'minecraft:light_gray_concrete_powder', 'minecraft:cyan_concrete_powder', 'minecraft:purple_concrete_powder', 'minecraft:blue_concrete_powder',
  'minecraft:brown_concrete_powder', 'minecraft:green_concrete_powder', 'minecraft:red_concrete_powder', 'minecraft:black_concrete_powder',

  // --- Vanilla Colored Carpets (16) ---
  'minecraft:white_carpet', 'minecraft:orange_carpet', 'minecraft:magenta_carpet', 'minecraft:light_blue_carpet',
  'minecraft:yellow_carpet', 'minecraft:lime_carpet', 'minecraft:pink_carpet', 'minecraft:gray_carpet',
  'minecraft:light_gray_carpet', 'minecraft:cyan_carpet', 'minecraft:purple_carpet', 'minecraft:blue_carpet',
  'minecraft:brown_carpet', 'minecraft:green_carpet', 'minecraft:red_carpet', 'minecraft:black_carpet',

  // --- Vanilla Colored Candles (16) ---
  'minecraft:white_candle', 'minecraft:orange_candle', 'minecraft:magenta_candle', 'minecraft:light_blue_candle',
  'minecraft:yellow_candle', 'minecraft:lime_candle', 'minecraft:pink_candle', 'minecraft:gray_candle',
  'minecraft:light_gray_candle', 'minecraft:cyan_candle', 'minecraft:purple_candle', 'minecraft:blue_candle',
  'minecraft:brown_candle', 'minecraft:green_candle', 'minecraft:red_candle', 'minecraft:black_candle',

  // --- Vanilla Colored Banners (16) ---
  'minecraft:white_banner', 'minecraft:orange_banner', 'minecraft:magenta_banner', 'minecraft:light_blue_banner',
  'minecraft:yellow_banner', 'minecraft:lime_banner', 'minecraft:pink_banner', 'minecraft:gray_banner',
  'minecraft:light_gray_banner', 'minecraft:cyan_banner', 'minecraft:purple_banner', 'minecraft:blue_banner',
  'minecraft:brown_banner', 'minecraft:green_banner', 'minecraft:red_banner', 'minecraft:black_banner',

  // --- Vanilla Colored Shulker Boxes (16) ---
  'minecraft:white_shulker_box', 'minecraft:orange_shulker_box', 'minecraft:magenta_shulker_box', 'minecraft:light_blue_shulker_box',
  'minecraft:yellow_shulker_box', 'minecraft:lime_shulker_box', 'minecraft:pink_shulker_box', 'minecraft:gray_shulker_box',
  'minecraft:light_gray_shulker_box', 'minecraft:cyan_shulker_box', 'minecraft:purple_shulker_box', 'minecraft:blue_shulker_box',
  'minecraft:brown_shulker_box', 'minecraft:green_shulker_box', 'minecraft:red_shulker_box', 'minecraft:black_shulker_box',

  // --- Vanilla Wood Doors (8) ---
  'minecraft:oak_door', 'minecraft:spruce_door', 'minecraft:birch_door', 'minecraft:jungle_door',
  'minecraft:acacia_door', 'minecraft:dark_oak_door', 'minecraft:mangrove_door', 'minecraft:cherry_door',

  // --- Vanilla Wood Trapdoors (8) ---
  'minecraft:oak_trapdoor', 'minecraft:spruce_trapdoor', 'minecraft:birch_trapdoor', 'minecraft:jungle_trapdoor',
  'minecraft:acacia_trapdoor', 'minecraft:dark_oak_trapdoor', 'minecraft:mangrove_trapdoor', 'minecraft:cherry_trapdoor',

  // --- Vanilla Wood Boats (8) ---
  'minecraft:oak_boat', 'minecraft:spruce_boat', 'minecraft:birch_boat', 'minecraft:jungle_boat',
  'minecraft:acacia_boat', 'minecraft:dark_oak_boat', 'minecraft:mangrove_boat', 'minecraft:cherry_boat',

  // --- Vanilla Wood Signs (8) ---
  'minecraft:oak_sign', 'minecraft:spruce_sign', 'minecraft:birch_sign', 'minecraft:jungle_sign',
  'minecraft:acacia_sign', 'minecraft:dark_oak_sign', 'minecraft:mangrove_sign', 'minecraft:cherry_sign',

  // --- Vanilla Buttons (10) ---
  'minecraft:oak_button', 'minecraft:spruce_button', 'minecraft:birch_button', 'minecraft:jungle_button',
  'minecraft:acacia_button', 'minecraft:dark_oak_button', 'minecraft:mangrove_button', 'minecraft:cherry_button',
  'minecraft:stone_button', 'minecraft:polished_blackstone_button',

  // --- Vanilla Pressure Plates (10) ---
  'minecraft:oak_pressure_plate', 'minecraft:spruce_pressure_plate', 'minecraft:birch_pressure_plate', 'minecraft:jungle_pressure_plate',
  'minecraft:acacia_pressure_plate', 'minecraft:dark_oak_pressure_plate', 'minecraft:mangrove_pressure_plate', 'minecraft:cherry_pressure_plate',
  'minecraft:stone_pressure_plate', 'minecraft:heavy_weighted_pressure_plate',

  // --- Vanilla Music Discs (15) ---
  'minecraft:music_disc_13', 'minecraft:music_disc_cat', 'minecraft:music_disc_blocks',
  'minecraft:music_disc_chirp', 'minecraft:music_disc_far', 'minecraft:music_disc_mall',
  'minecraft:music_disc_mellohi', 'minecraft:music_disc_stal', 'minecraft:music_disc_strad',
  'minecraft:music_disc_ward', 'minecraft:music_disc_11', 'minecraft:music_disc_wait',
  'minecraft:music_disc_otherside', 'minecraft:music_disc_pigstep', 'minecraft:music_disc_relic',

  // --- Vanilla Mob Heads (5) ---
  'minecraft:skeleton_skull', 'minecraft:wither_skeleton_skull', 'minecraft:zombie_head',
  'minecraft:creeper_head', 'minecraft:dragon_head',

  // --- Vanilla Ores (8) ---
  'minecraft:iron_ore', 'minecraft:gold_ore', 'minecraft:copper_ore', 'minecraft:coal_ore',
  'minecraft:diamond_ore', 'minecraft:emerald_ore', 'minecraft:lapis_ore', 'minecraft:redstone_ore',

  // --- Vanilla Decorative & Utility (16) ---
  'minecraft:flower_pot', 'minecraft:painting', 'minecraft:item_frame', 'minecraft:armor_stand',
  'minecraft:end_rod', 'minecraft:lightning_rod', 'minecraft:chain', 'minecraft:scaffolding',
  'minecraft:ladder', 'minecraft:candle', 'minecraft:tinted_glass', 'minecraft:amethyst_block',
  'minecraft:spore_blossom', 'minecraft:moss_block', 'minecraft:pointed_dripstone', 'minecraft:glow_lichen',

  // --- Vanilla Misc Materials (16) ---
  'minecraft:bone_meal', 'minecraft:charcoal', 'minecraft:flint', 'minecraft:clay_ball',
  'minecraft:brick', 'minecraft:nether_brick', 'minecraft:prismarine_shard', 'minecraft:prismarine_crystals',
  'minecraft:nautilus_shell', 'minecraft:heart_of_the_sea', 'minecraft:turtle_scute', 'minecraft:rabbit_hide',
  'minecraft:feather', 'minecraft:string', 'minecraft:slime_ball', 'minecraft:gunpowder', 'minecraft:egg',

  // --- Vanilla Copper Variants (7) ---
  'minecraft:cut_copper', 'minecraft:cut_copper_slab', 'minecraft:cut_copper_stairs',
  'minecraft:exposed_copper', 'minecraft:weathered_copper', 'minecraft:oxidized_copper',
  'minecraft:waxed_copper_block',

  // --- More Mekanism machines (20) ---
  'mekanism:elite_energy_cube', 'mekanism:ultimate_energy_cube',
  'mekanism:basic_enriching_factory', 'mekanism:advanced_enriching_factory', 'mekanism:elite_enriching_factory',
  'mekanism:basic_crushing_factory', 'mekanism:advanced_crushing_factory', 'mekanism:elite_crushing_factory',
  'mekanism:cardboard_box', 'mekanism:personal_chest',
  'mekanism:chargepad', 'mekanism:fuelwood_heater',
  'mekanism:resistive_heater', 'mekanism:antiprotonic_nucleosynthesizer',
  'mekanism:isotopic_centrifuge', 'mekanism:nutritional_liquifier',
  'mekanism:pressurized_reaction_chamber', 'mekanism:formulaic_assemblicator',
  'mekanism:oredictionificator', 'mekanism:modification_station',

  // --- More Mekanism Generators (5) ---
  'mekanismgenerators:bio_generator', 'mekanismgenerators:turbine_casing',
  'mekanismgenerators:turbine_rotor', 'mekanismgenerators:electromagnetic_coil',
  'mekanismgenerators:fission_fuel_assembly',

  // --- More Mekanism Additions (5) ---
  'mekanismadditions:baby_creeper_spawn_egg', 'mekanismadditions:baby_skeleton_spawn_egg',
  'mekanismadditions:walkie_talkie', 'mekanismadditions:yellow_balloon',
  'mekanismadditions:red_glow_panel',

  // --- More Create blocks (15) ---
  'create:nozzle', 'create:turntable', 'create:sail_frame',
  'create:linked_controller', 'create:crafting_blueprint',
  'create:schematicannon',
  'create:speedometer', 'create:stressometer',
  'create:brown_toolbox',
  'create:mechanical_pump', 'create:hose_pulley',
  'create:creative_crate', 'create:placard',

  // --- More MI machines (15) ---
  'modern_industrialization:copper_cable', 'modern_industrialization:tin_cable',
  'modern_industrialization:superconductor_cable',
  'modern_industrialization:electric_quarry', 'modern_industrialization:vacuum_freezer',
  'modern_industrialization:oil_drilling_rig', 'modern_industrialization:distillery',
  'modern_industrialization:steel_unpacker', 'modern_industrialization:steel_packer',
  'modern_industrialization:centrifuge', 'modern_industrialization:electrolyzer',
  'modern_industrialization:chemical_reactor', 'modern_industrialization:pressurizer',
  'modern_industrialization:implosion_compressor', 'modern_industrialization:heat_exchanger',

  // --- Megacells expanded (5) ---
  'megacells:item_storage_cell_1m', 'megacells:item_storage_cell_4m',
  'megacells:item_storage_cell_16m', 'megacells:item_storage_cell_64m',
  'megacells:item_storage_cell_256m',

  // --- More Croptopia (15) ---
  'croptopia:mango', 'croptopia:olive', 'croptopia:peanut',
  'croptopia:pecan', 'croptopia:pepper', 'croptopia:pineapple',
  'croptopia:radish', 'croptopia:raspberry', 'croptopia:rhubarb',
  'croptopia:soybean', 'croptopia:spinach', 'croptopia:squash',
  'croptopia:strawberry', 'croptopia:sweetpotato', 'croptopia:turnip',

  // --- More Macaw's (20) ---
  'mcwfurnitures:oak_table', 'mcwfurnitures:spruce_table',
  'mcwfurnitures:oak_wardrobe', 'mcwfurnitures:oak_bookshelf',
  'mcwfurnitures:oak_drawer', 'mcwfurnitures:oak_counter',
  'mcwfences:oak_wired_fence', 'mcwfences:spruce_wired_fence',
  'mcwdoors:oak_four_panel_door', 'mcwdoors:spruce_four_panel_door',
  'mcwtrpdoors:spruce_barn_trapdoor', 'mcwtrpdoors:birch_barn_trapdoor',
  'mcwlights:oak_ceiling_fan_light', 'mcwlights:spruce_ceiling_fan_light',
  'mcwroofs:spruce_attic_roof', 'mcwroofs:oak_attic_roof',
  'mcwwindows:oak_window2', 'mcwwindows:spruce_window2',
  'mcwbridges:jungle_log_bridge_middle', 'mcwbridges:acacia_log_bridge_middle',

  // --- More Powah (8) ---
  'powah:solar_panel_blazing', 'powah:solar_panel_niotic', 'powah:solar_panel_spirited', 'powah:solar_panel_nitro',
  'powah:energy_cable_blazing', 'powah:energy_cable_niotic', 'powah:energy_cable_spirited', 'powah:energy_cable_nitro',

  // --- More Farmer's Delight (10) ---
  'farmersdelight:chicken_soup', 'farmersdelight:bacon_sandwich',
  'farmersdelight:beef_stew', 'farmersdelight:cabbage_rolls',
  'farmersdelight:egg_sandwich', 'farmersdelight:hot_cocoa',
  'farmersdelight:melon_popsicle', 'farmersdelight:squid_ink_pasta',
  'farmersdelight:tomato_sauce', 'farmersdelight:nether_salad',

  // --- Create Enchantment Industry expanded (2) ---
  'create_enchantment_industry:super_experience_block',
  'create_enchantment_industry:enchanting_template',

  // --- Create Central Kitchen (compat mod - no items, only recipes) ---

  // --- More Sophisticated Backpacks (4) ---
  'sophisticatedbackpacks:upgrade_base', 'sophisticatedbackpacks:pickup_upgrade',
  'sophisticatedbackpacks:filter_upgrade', 'sophisticatedbackpacks:magnet_upgrade',

  // --- More Sophisticated Storage (4) ---
  'sophisticatedstorage:chest', 'sophisticatedstorage:iron_chest',
  'sophisticatedstorage:gold_chest', 'sophisticatedstorage:diamond_chest',

  // --- Deeper and Darker expanded (5) ---
  'deeperdarker:warden_helmet', 'deeperdarker:warden_chestplate',
  'deeperdarker:warden_leggings', 'deeperdarker:warden_boots',
  'deeperdarker:resonarium',

  // --- More AE2 addons (5) ---
  'ae2wtlib:wireless_universal_terminal',
  'appflux:part_flux_accessor', 'appflux:fe_cell_housing',
  'appmek:chemical_storage_cell_64k',

  // --- Advanced Netherite expanded (4) ---
  'advancednetherite:netherite_iron_chestplate', 'advancednetherite:netherite_gold_chestplate',
  'advancednetherite:netherite_emerald_chestplate', 'advancednetherite:netherite_diamond_chestplate',

  // --- More Xtra Arrows (3) ---
  'xtraarrows:iron_ender_arrow', 'xtraarrows:iron_slime_arrow',

  // --- More Comforts (4) ---
  'comforts:sleeping_bag_black', 'comforts:sleeping_bag_yellow',
  'comforts:hammock_red', 'comforts:hammock_blue',

  // --- More Dark Utilities (3) ---
  'darkutils:filter_hostile', 'darkutils:filter_animal', 'darkutils:filter_slime',

  // --- More CC: Tweaked (5) ---
  'computercraft:turtle_advanced', 'computercraft:wireless_modem_normal',
  'computercraft:wireless_modem_advanced', 'computercraft:speaker',
  'computercraft:monitor_normal',

  // --- Vanilla Colored Glazed Terracotta (16) ---
  'minecraft:white_glazed_terracotta', 'minecraft:orange_glazed_terracotta', 'minecraft:magenta_glazed_terracotta', 'minecraft:light_blue_glazed_terracotta',
  'minecraft:yellow_glazed_terracotta', 'minecraft:lime_glazed_terracotta', 'minecraft:pink_glazed_terracotta', 'minecraft:gray_glazed_terracotta',
  'minecraft:light_gray_glazed_terracotta', 'minecraft:cyan_glazed_terracotta', 'minecraft:purple_glazed_terracotta', 'minecraft:blue_glazed_terracotta',
  'minecraft:brown_glazed_terracotta', 'minecraft:green_glazed_terracotta', 'minecraft:red_glazed_terracotta', 'minecraft:black_glazed_terracotta',

  // --- Vanilla Dyes (16) ---
  'minecraft:white_dye', 'minecraft:orange_dye', 'minecraft:magenta_dye', 'minecraft:light_blue_dye',
  'minecraft:yellow_dye', 'minecraft:lime_dye', 'minecraft:pink_dye', 'minecraft:gray_dye',
  'minecraft:light_gray_dye', 'minecraft:cyan_dye', 'minecraft:purple_dye', 'minecraft:blue_dye',
  'minecraft:brown_dye', 'minecraft:green_dye', 'minecraft:red_dye', 'minecraft:black_dye',

  // --- Vanilla Flowers (10) ---
  'minecraft:dandelion', 'minecraft:poppy', 'minecraft:blue_orchid', 'minecraft:allium',
  'minecraft:azure_bluet', 'minecraft:red_tulip', 'minecraft:oxeye_daisy', 'minecraft:cornflower',
  'minecraft:lily_of_the_valley', 'minecraft:wither_rose',

  // --- Vanilla Saplings (7) ---
  'minecraft:oak_sapling', 'minecraft:spruce_sapling', 'minecraft:birch_sapling',
  'minecraft:jungle_sapling', 'minecraft:acacia_sapling', 'minecraft:dark_oak_sapling',
  'minecraft:cherry_sapling',

  // --- Just Dire Things (10) ---
  'justdirethings:ferricore_ingot',
  'justdirethings:blazegold_ingot',
  'justdirethings:celestigem',
  'justdirethings:eclipsealloy_ingot',
  'justdirethings:ferricore_sword',
  'justdirethings:celestigem_sword',
  'justdirethings:pocket_generator',
  'justdirethings:blockbreakert1',
  'justdirethings:blockplacert1',

  // --- Relics (10) ---
  'relics:midnight_robe',
  'relics:elytra_booster',
  'relics:hunter_belt',
  'relics:drowned_belt',
  'relics:jellyfish_necklace',
  'relics:reflection_necklace',
  'relics:springy_boot',
  'relics:roller_skates',
  'relics:bastion_ring',
  'relics:magic_mirror',

  // --- More Relics (5) ---
  'morerelics:mass_gauntlet',
  'morerelics:bionic_eye',
  'morerelics:epoch_apple',
  'morerelics:tyrant_mask',
  'morerelics:king_crimson',

  // --- Easy Villagers (5) ---
  'easy_villagers:trader',
  'easy_villagers:auto_trader',
  'easy_villagers:farmer',
  'easy_villagers:breeder',
  'easy_villagers:iron_farm',

  // --- Flux Networks (10) ---
  'fluxnetworks:flux_block',
  'fluxnetworks:flux_plug',
  'fluxnetworks:flux_point',
  'fluxnetworks:flux_controller',
  'fluxnetworks:basic_flux_storage',
  'fluxnetworks:herculean_flux_storage',
  'fluxnetworks:gargantuan_flux_storage',
  'fluxnetworks:flux_dust',
  'fluxnetworks:flux_core',
  'fluxnetworks:flux_configurator',

  // --- RFTools Base (5) ---
  'rftoolsbase:machine_frame',
  'rftoolsbase:machine_base',
  'rftoolsbase:smartwrench',
  'rftoolsbase:information_screen',
  'rftoolsbase:filter_module',

  // --- RFTools Power (8) ---
  'rftoolspower:cell1',
  'rftoolspower:cell2',
  'rftoolspower:cell3',
  'rftoolspower:coalgenerator',
  'rftoolspower:blazing_generator',
  'rftoolspower:power_monitor',
  'rftoolspower:power_level',
  'rftoolspower:endergenic',

  // --- RFTools Builder (5) ---
  'rftoolsbuilder:builder',
  'rftoolsbuilder:shield_block1',
  'rftoolsbuilder:shield_block2',
  'rftoolsbuilder:shape_card_def',
  'rftoolsbuilder:shape_card_quarry',

  // --- RFTools Storage (5) ---
  'rftoolsstorage:storage_scanner',
  'rftoolsstorage:modular_storage',
  'rftoolsstorage:storage_module1',
  'rftoolsstorage:storage_module0',
  'rftoolsstorage:crafting_manager',

  // --- RFTools Utility (10) ---
  'rftoolsutility:spawner',
  'rftoolsutility:environmental_controller',
  'rftoolsutility:matter_transmitter',
  'rftoolsutility:matter_receiver',
  'rftoolsutility:matter_beamer',
  'rftoolsutility:screen',
  'rftoolsutility:screen_controller',
  'rftoolsutility:timer',
  'rftoolsutility:sequencer',
  'rftoolsutility:logic',

  // --- Spectrum (20) ---
  'spectrum:guidebook',
  'spectrum:pedestal_basic_amethyst',
  'spectrum:pedestal_basic_topaz',
  'spectrum:pedestal_basic_citrine',
  'spectrum:pedestal_all_basic',
  'spectrum:pedestal_onyx',
  'spectrum:pedestal_moonstone',
  'spectrum:fusion_shrine_basalt',
  'spectrum:enchanter',
  'spectrum:spirit_instiller',
  'spectrum:cinderhearth',
  'spectrum:color_picker',
  'spectrum:potion_workshop',
  'spectrum:crystallarieum',
  'spectrum:topaz_shard',
  'spectrum:citrine_shard',
  'spectrum:onyx_shard',
  'spectrum:moonstone_shard',
  'spectrum:bedrock_pickaxe',
  'spectrum:bottle_of_ruin',


  // --- Create Aeronautics (~10) ---
  'aeronautics:propeller_bearing',
  'aeronautics:wooden_propeller',
  'aeronautics:andesite_propeller',
  'aeronautics:smart_propeller',
  'aeronautics:gyroscopic_propeller_bearing',
  'aeronautics:levitite',
  // levitite_blend is a FLUID: block form only, no item. Use the bucket instead.
  'aeronautics:levitite_blend_bucket',
  'aeronautics:steam_vent',
  'aeronautics:adjustable_burner',
  'aeronautics:aviators_goggles',

  // --- Simulated (physics core, bundled inside Create Aeronautics) (~10) ---
  'simulated:physics_assembler',
  'simulated:navigation_table',
  'simulated:steering_wheel',
  'simulated:throttle_lever',
  'simulated:swivel_bearing',
  'simulated:rope_winch',
  'simulated:altitude_sensor',
  'simulated:engine_assembly',
  'simulated:gyroscopic_mechanism',
  'simulated:contraption_diagram',

  // --- Offroad (bundled inside Create Aeronautics) (~4) ---
  'offroad:wheel_mount',
  'offroad:tire',
  'offroad:large_tire',
  'offroad:borehead_bearing',

  // --- Create Cosmonautics (~12) ---
  'rocketnautics:rocket_thruster',
  'rocketnautics:vector_thruster',
  'rocketnautics:booster_thruster',
  'rocketnautics:rcs_thruster',
  'rocketnautics:thruster_mount',
  'rocketnautics:separator',
  'rocketnautics:titanium_ingot',
  'rocketnautics:raw_titanium',
  'rocketnautics:titanium_alloy',
  'rocketnautics:titanium_casing',
  'rocketnautics:jetpack',
  'rocketnautics:lunar_regolith',

  // --- Joy of Painting (~3) ---
  'xercapaint:item_canvas',
  'xercapaint:item_palette',
  'xercapaint:item_easel',

  // --- Twilight Forest (~20) ---
  'twilightforest:naga_scale',
  'twilightforest:fiery_ingot',
  'twilightforest:ironwood_ingot',
  'twilightforest:steeleaf_ingot',
  'twilightforest:knightmetal_ingot',
  'twilightforest:maze_map',
  'twilightforest:magic_map',
  'twilightforest:ore_magnet',
  'twilightforest:transformation_powder',
  'twilightforest:ironwood_sword',
  'twilightforest:steeleaf_sword',
  'twilightforest:knightmetal_sword',
  'twilightforest:fiery_sword',
  'twilightforest:ironwood_pickaxe',
  'twilightforest:ironwood_helmet',
  'twilightforest:steeleaf_helmet',
  'twilightforest:knightmetal_helmet',
  'twilightforest:phantom_helmet',
  'twilightforest:towerwood',
  'twilightforest:twilight_oak_planks',

  // --- Iron Furnaces (~3) ---
  'ironfurnaces:iron_furnace',
  'ironfurnaces:gold_furnace',
  'ironfurnaces:diamond_furnace',

  // --- Tesseract (1) ---
  'tesseract:tesseract',

  // --- Pipez expanded (5) ---
  'pipez:item_pipe',
  'pipez:fluid_pipe',
  'pipez:energy_pipe',
  'pipez:gas_pipe',
  'pipez:universal_pipe',

  // --- Flux Networks expanded (4) ---
  'fluxnetworks:flux_dust',
  'fluxnetworks:admin_configurator',
  'fluxnetworks:flux_configurator',
  'fluxnetworks:basic_flux_storage',

  // --- RFTools expanded (9) ---
  'rftoolsbase:smartwrench',
  'rftoolsbase:information_screen',
  'rftoolspower:cell2',
  'rftoolspower:cell3',
  'rftoolsbuilder:shape_card_def',
  'rftoolsbuilder:shield_block1',
  'rftoolsstorage:modular_storage',
  'rftoolsutility:matter_transmitter',
  'rftoolsutility:matter_receiver',

  // --- More Vanilla coverage (20) ---
  'minecraft:netherite_ingot',
  'minecraft:netherite_scrap',
  'minecraft:ancient_debris',
  'minecraft:end_crystal',
  'minecraft:ender_eye',
  'minecraft:blaze_rod',
  'minecraft:ghast_tear',
  'minecraft:shulker_shell',
  'minecraft:elytra',
  'minecraft:totem_of_undying',
  'minecraft:trident',
  'minecraft:spyglass',
  'minecraft:recovery_compass',
  'minecraft:brush',
  'minecraft:goat_horn',
  'minecraft:turtle_helmet',
  'minecraft:conduit',
  'minecraft:respawn_anchor',
  'minecraft:lodestone',
  'minecraft:bell',

  // --- More Create coverage (10) ---
  'create:portable_storage_interface',
  'create:display_board',
  'create:gantry_carriage',
  'create:sticker',
  'create:contraption_controls',
  'create:redstone_link',
  'create:powered_latch',
  'create:mechanical_roller',
  'create:schematicannon',
  'create:clipboard',

  // --- More Mekanism coverage (10) ---
  'mekanism:robit',
  'mekanism:scuba_mask',
  'mekanism:scuba_tank',
  'mekanism:free_runners',
  'mekanism:canteen',
  'mekanism:portable_teleporter',
  'mekanism:gauge_dropper',
  'mekanism:configurator',
  'mekanism:network_reader',
  'mekanism:seismic_reader',

  // --- More MI coverage (10) ---
  'modern_industrialization:quantum_sword',
  'modern_industrialization:quantum_helmet',
  'modern_industrialization:quantum_chestplate',
  'modern_industrialization:quantum_leggings',
  'modern_industrialization:quantum_boots',
  'modern_industrialization:diesel_jetpack',
  'modern_industrialization:stainless_steel_ingot',
  'modern_industrialization:kanthal_ingot',
  'modern_industrialization:superconductor_cable',
  'modern_industrialization:robot_arm',

  // --- Gateways (1) ---
  'gateways:gate_pearl',

  // --- Spectrum expanded (3) ---
  'spectrum:ender_splice',
  'spectrum:knowledge_gem',
  'spectrum:midnight_aberration',

  // --- v2.35.0 update validation (30) ---
  // Farmer's Delight 1.3.x new items
  'farmersdelight:canvas',
  'farmersdelight:canvas_rug',
  'farmersdelight:sandy_shrub',
  'farmersdelight:wild_beetroots',
  'farmersdelight:fruit_salad',
  // Deeper and Darker 1.4 new items
  'deeperdarker:sculk_jaw',
  'deeperdarker:gloomy_cactus',
  'deeperdarker:heart_of_the_deep',
  'deeperdarker:sculk_tendrils',
  'deeperdarker:gloomy_grass',
  // End's Delight 2.6
  'ends_delight:shulker_meat',
  'ends_delight:chorus_cookie',
  'ends_delight:chorus_succulent',
  // MineColonies & Structurize
  'minecolonies:blockhutbuilder',
  'minecolonies:blockhuttownhall',
  'minecolonies:blockhutminer',
  'minecolonies:blockhutfarmer',
  'structurize:sceptersteel',
  'structurize:sceptergold',
  // Integrated Dynamics
  'integrateddynamics:cable',
  'integrateddynamics:variable_transformer_input',
  'integrateddynamics:logic_programmer',
  // Integrated Dynamics suite (v2.45.0) — ids read from each jar's models/item/,
  // not guessed: integratedscripting uses part_terminal_scripting, not part_variable_script.
  'integratedtunnels:part_importer_item',
  'integratedtunnels:part_exporter_fluid',
  'integratedtunnels:part_exporter_energy',
  'integratedterminals:part_terminal_storage',
  'integratedcrafting:part_interface_crafting',
  'integratedscripting:part_terminal_scripting',
  'integratedscripting:scripting_drive',
  // mcjty stack (v2.45.0)
  'xnet:controller',
  'xnet:antenna',
  'deepresonance:crystallizer',
  'deepresonance:energy_collector',
  // Matter replication + stellar energy (v2.45.0)
  'replication:disintegrator',
  'replication:chip_storage',
  'replication_matter_overflow:matter_void',
  'dysoncubeproject:solar_sail',
  'dysoncubeproject:em_railejector_controller',
  'dysoncubeproject:ray_receiver_controller',
  // Automation, mob/XP farms, transport (v2.45.0)
  'sfm:manager', 'sfm:cable', 'sfm:disk',
  'laserio:laser_node', 'laserio:laser_connector', 'laserio:card_energy',
  'mob_grinding_utils:absorption_hopper', 'mob_grinding_utils:dreadful_dirt',
  'cognition:accelerator', 'cognition:attunement_staff',
  'classicpipes:acacia_pipe', 'classicpipes:advanced_copper_pipe',
  // Magic pillar (v2.45.0). No items asserted for aces_spell_utils or
  // minecoloniesmages: both register none (Ace's ships only example_* template
  // assets, like Sable's API-only jar) — asserting on their models would fail.
  'irons_spellbooks:copper_spell_book', 'irons_spellbooks:blaze_spell_book',
  'irons_spellbooks:arcane_ingot', 'irons_spellbooks:blank_rune',
  'irons_lib:transmog_table',
  'create_ironspell_recipe:incomplete_arcane_ingot',
  'create_ironspell_recipe:incomplete_mithril_ingot',
  'darkermagic:volume_of_the_deep', 'darkermagic:warden_mage_helmet',
  // JDT Time Accelerators 1.1.0
  'jdttimeaccelerators:timeacceleratort1',
  'jdttimeaccelerators:timeacceleratort2',
  // 2.0.0 added AE2 integration (new hard deps ae2 + guideme, both already present).
  'jdttimeaccelerators:ae2_time_acceleration_card',
  // ME Trading Terminal (v2.46.0) — the three tiers + the villager socket + pattern.
  'metrading:trade_interface', 'metrading:auto_trade_interface',
  'metrading:trading_array', 'metrading:villager_carrier',
  'metrading:trade_pattern',
  // Inventory Pets (v2.48.0)
  'inventorypets:pet_blaze', 'inventorypets:pet_black_hole',
  // Ingredients for the community KubeJS scripts (uncraftbar). If any of these
  // stop resolving, alcubierre_controller.js silently produces no recipe and the
  // block becomes uncraftable again.
  'alcubierre:alcubierre_controller',
  'alcubierre:glimmering_bottle',
  'hostilenetworks:prediction_matrix',
  'hostilenetworks:overworld_prediction',
  // Create 6.0.10
  'create:track',
  'create:railway_casing',
  'create:track_station',
  // Steam 'n' Rails
  'railways:track_coupler',
  'railways:semaphore',
  // Powah 6.2.10
  'powah:uraninite_ore_poor',
  'powah:uraninite_ore_dense',
  'powah:reactor_starter',

]

// ============================================================
// REQUIRED_RECIPE_OUTPUTS — Recipes checked by output item (~160)
// ============================================================
const REQUIRED_RECIPE_OUTPUTS = [
  // KubeJS custom recipe outputs (7)
  'ae2:printed_engineering_processor',
  'ae2:printed_logic_processor',
  'ae2:printed_calculation_processor',
  'ae2:printed_silicon',
  'megacells:printed_accumulation_processor',
  'minecraft:purple_dye',
  'croptopia:grape_seed',

  // AE2 key outputs (~15)
  'ae2:controller',
  'ae2:drive',
  'ae2:fluix_crystal',
  'ae2:engineering_processor',
  'ae2:item_storage_cell_1k',
  'ae2:molecular_assembler',
  'ae2:charger',
  'ae2:inscriber',
  'ae2:interface',
  'ae2:pattern_provider',
  'ae2:chest',
  'ae2:growth_accelerator',
  'ae2:energy_acceptor',
  'ae2:crafting_unit',
  'ae2:quartz_fiber',

  // Mekanism key outputs (~20)
  'mekanism:basic_control_circuit',
  'mekanism:advanced_control_circuit',
  'mekanism:elite_control_circuit',
  'mekanism:ultimate_control_circuit',
  'mekanism:alloy_infused',
  'mekanism:alloy_reinforced',
  'mekanism:alloy_atomic',
  'mekanism:ingot_steel',
  'mekanism:steel_casing',
  'mekanism:metallurgic_infuser',
  'mekanism:enrichment_chamber',
  'mekanism:basic_energy_cube',
  'mekanism:digital_miner',
  'mekanism:crusher',
  'mekanism:osmium_compressor',
  'mekanism:precision_sawmill',
  'mekanism:electrolytic_separator',
  'mekanism:teleporter',
  'mekanism:quantum_entangloporter',
  'mekanismgenerators:heat_generator',

  // Mekanism Tools (~5)
  'mekanismtools:osmium_sword',
  'mekanismtools:osmium_pickaxe',
  'mekanismtools:steel_sword',
  'mekanismtools:steel_pickaxe',
  'mekanismtools:bronze_pickaxe',

  // Create key outputs (~15)
  'create:andesite_alloy',
  'create:brass_ingot',
  'create:andesite_casing',
  'create:brass_casing',
  'create:precision_mechanism',
  'create:mechanical_press',
  'create:mechanical_mixer',
  'create:deployer',
  'create:mechanical_drill',
  'create:mechanical_saw',
  'create:mechanical_crafter',
  'create:basin',
  'create:encased_fan',
  'create:steam_engine',
  'create:track',

  // MI key outputs (~10)
  'modern_industrialization:bronze_plate',
  'modern_industrialization:steel_plate',
  'modern_industrialization:bronze_machine_casing',
  'modern_industrialization:steel_machine_casing',
  'modern_industrialization:bronze_furnace',
  'modern_industrialization:bronze_compressor',
  'modern_industrialization:bronze_macerator',
  'modern_industrialization:steel_furnace',
  'modern_industrialization:item_pipe',
  'modern_industrialization:fluid_pipe',

  // Powah key outputs (~10)
  'powah:dielectric_casing',
  'powah:dielectric_paste',
  'powah:energizing_orb',
  'powah:solar_panel_starter',
  'powah:thermo_generator_starter',
  'powah:energy_cable_starter',
  'powah:energy_cell_starter',
  'powah:furnator_starter',
  'powah:energizing_rod_starter',
  'powah:steel_energized',

  // Farmer's Delight key outputs (~10)
  'farmersdelight:cooking_pot',
  'farmersdelight:cutting_board',
  'farmersdelight:canvas',
  'farmersdelight:organic_compost',
  'farmersdelight:rope',
  'farmersdelight:stove',
  'farmersdelight:skillet',
  'farmersdelight:iron_knife',
  'farmersdelight:diamond_knife',
  'farmersdelight:rich_soil',

  // Cross-mod and other mod outputs (~50)
  'createaddition:rolling_mill',
  'createaddition:electric_motor',
  'sliceanddice:slicer',
  'computercraft:computer_normal',
  'computercraft:computer_advanced',
  'computercraft:turtle_normal',
  'toms_storage:inventory_connector',
  'toms_storage:storage_terminal',
  'toms_storage:crafting_terminal',
  'dankstorage:dank_1',
  'dankstorage:dank_2',
  'dankstorage:dank_3',
  'waystones:waystone',
  'sophisticatedbackpacks:backpack',
  'sophisticatedbackpacks:iron_backpack',
  'sophisticatedstorage:barrel',
  'sophisticatedstorage:iron_barrel',
  'cookingforblockheads:cooking_table',
  'cookingforblockheads:heating_unit',
  'farmingforblockheads:market',
  'trashcans:item_trash_can',
  'trashcans:liquid_trash_can',
  'trashcans:energy_trash_can',
  'comforts:sleeping_bag_white',
  'comforts:hammock_white',
  'entangled:block',
  'darkutils:vector_plate',
  'chunkloaders:basic_chunk_loader',
  'tradingpost:trading_post',
  'connectedglass:borderless_glass',
  'mo_glass:glass_slab',
  'enchantinginfuser:enchanting_infuser',
  'tempad:tempad',
  'icarus:white_feathered_wings',
  'chipped:botanist_workbench',
  'rechiseled:chisel',
  'prefab:item_house',
  'kibe:magnet',
  'kibe:diamond_ring',
  'vinery:fermentation_barrel',
  'meadow:cheese_form',
  'travelersbackpack:standard',
  'xtraarrows:flint_explosive_arrow',

  // Joy of Painting outputs
  'xercapaint:item_canvas',
  'xercapaint:item_palette',

  // Twilight Forest outputs
  'twilightforest:ironwood_ingot',
  'twilightforest:fiery_ingot',
  'twilightforest:knightmetal_ingot',

  // Iron Furnaces outputs
  'ironfurnaces:iron_furnace',
  'ironfurnaces:gold_furnace',

  // Macaw's mod outputs
  'mcwbridges:oak_log_bridge_middle',
  'mcwdoors:oak_barn_door',
  'mcwfurnitures:oak_desk',
  'mcwroofs:oak_roof',
  'mcwwindows:oak_window',

  // Building Gadgets 2 (~5)
  'buildinggadgets2:gadget_building',
  'buildinggadgets2:gadget_exchanging',
  'buildinggadgets2:gadget_copy_paste',
  'buildinggadgets2:gadget_destruction',
  'buildinggadgets2:template_manager',

  // Bells & Whistles (~2)
  'bellsandwhistles:headlight',
  'bellsandwhistles:station_platform',

  // Create Confectionery (~2)
  'create_confectionery:marshmallow',
  'create_confectionery:gingerbread',

  // Create Cafe (~2)
  'createcafe:coffee_beans',
  'createcafe:oreo',

  // AdvancedAE (~2)
  'advanced_ae:reaction_chamber',
  'advanced_ae:quantum_crafter',

  // AE2 Things (~2)
  'ae2things:disk_housing',
  'ae2things:disk_drive_1k',

  // AE2 MEGA Things (~1)
  'ae2_mega_things:mega_item_disk_housing',

  // Just Dire Things (~5)
  'justdirethings:ferricore_ingot',
  'justdirethings:blazegold_ingot',
  'justdirethings:celestigem_sword',
  'justdirethings:blockbreakert1',

  // Easy Villagers (~3)
  'easy_villagers:trader',
  'easy_villagers:farmer',
  'easy_villagers:iron_farm',

  // Flux Networks (~5)
  'fluxnetworks:flux_block',
  'fluxnetworks:flux_plug',
  'fluxnetworks:flux_point',
  'fluxnetworks:flux_controller',
  'fluxnetworks:flux_core',

  // RFTools (~10)
  'rftoolsbase:machine_frame',
  'rftoolspower:cell1',
  'rftoolspower:coalgenerator',
  'rftoolsbuilder:builder',
  'rftoolsstorage:storage_scanner',
  'rftoolsutility:spawner',
  'rftoolsutility:screen',
  'rftoolsutility:timer',

  // Additional recipe output coverage (~20% expansion)
  'pipez:item_pipe',
  'pipez:fluid_pipe',
  'pipez:energy_pipe',
  'tesseract:tesseract',
  'fluxnetworks:basic_flux_storage',
  'gateways:gate_pearl',
  'spectrum:pedestal_basic_amethyst',
  'create_connected:sequenced_pulse_generator',
  'create_mechanical_extruder:mechanical_extruder',
  'waterframes:frame',
  'advancedperipherals:chat_box',
  'advancedperipherals:player_detector',
  'advancedperipherals:energy_detector',
  'toms_peripherals:monitor',
  'tankstorage:tank_1',
  'easy_villagers:auto_trader',
  'easy_villagers:breeder',
  // v2.35.0 — additional recipe output checks
  'minecolonies:blockhutbuilder',
  'structurize:sceptersteel',
  'integrateddynamics:cable',
  'integrateddynamics:logic_programmer',
  'ironfurnaces:iron_furnace',
  'concreteconversion:white_concrete_converter',
  'railways:track_coupler',
  'create:railway_casing',
  'farmersdelight:canvas',
]

// ============================================================
// MODS_WITH_RECIPES — Mods that must have at least 1 recipe (~74)
// Note: kubejs excluded — custom JSON recipes don't register under kubejs namespace
// ============================================================
const MODS_WITH_RECIPES = [
  'mekanism',
  'mekanismgenerators',
  'mekanismtools',
  'create',
  'farmersdelight',
  'ae2',
  'megacells',
  'powah',
  'modern_industrialization',
  'croptopia',
  'createaddition',
  'sliceanddice',
  'toms_storage',
  'dankstorage',
  'waystones',
  'sophisticatedbackpacks',
  'sophisticatedstorage',
  'computercraft',
  'chipped',
  'rechiseled',
  'cookingforblockheads',
  'farmingforblockheads',
  'vinery',
  'meadow',
  'artifacts',
  // Expanded mod recipe checks
  'advancednetherite',
  'beachparty',
  'chunkloaders',
  'comforts',
  'connectedglass',
  'copycats',
  'createdeco',
  'darkutils',
  'deeperdarker',
  'enchantinginfuser',
  'ends_delight',
  'entangled',
  'extendedae',
  'garnished',
  'icarus',
  'kibe',
  'merequester',
  'mo_glass',
  'moderndynamics',
  'nightlights',
  'oceansdelight',
  'railways',
  'tempad',
  'tradingpost',
  'trashcans',
  'trading_floor',
  'travelersbackpack',
  'wormhole',
  'xtraarrows',
  'mcwbridges',
  'mcwdoors',
  'mcwfurnitures',
  'mcwroofs',
  'mcwwindows',
  // Joy of Painting
  'xercapaint',
  // Twilight Forest
  'twilightforest',
  'twilightdelight',
  'ironfurnaces',
  // New mods (v2.6.0)
  'advancedperipherals',
  'toms_peripherals',
  'tankstorage',
  // New mods (v2.8.0)
  'buildinggadgets2',
  // New mods (v2.9.0)
  'bellsandwhistles',
  'create_confectionery',
  'createcafe',
  'advanced_ae',
  'ae2_mega_things',
  'ae2things',
  // New mods (v2.10.0)
  'justdirethings',
  // New mods (v2.11.0)
  'easy_villagers',
  // New mods (v2.19.0)
  'spectrum',
  // New mods (v2.23.0)
  'create_connected',
  'create_mechanical_extruder',
  'pipez',
  'waterframes',
  // New mods (v2.29.1)
  'fluxnetworks',
  'rftoolsbase',
  'rftoolspower',
  'rftoolsbuilder',
  'rftoolsstorage',
  'rftoolsutility',
  // Create Aeronautics (v2.43.0)
  'aeronautics',
  'simulated',
  'offroad',
  'rocketnautics',
  // Additional recipe coverage (~20% expansion)
  'tesseract',
  'gateways',
  'advancedperipherals',
  'toms_peripherals',
  'tankstorage',
  'apothic_spawners',
  // v2.35.0 — additional recipe mod checks
  'minecolonies',
  'structurize',
  'integrateddynamics',
  'integratedtunnels',
  'integratedterminals',
  'integratedcrafting',
  'ironfurnaces',
  'concreteconversion',
  'railways',
  'twilightforest',
  'deeperdarker',
]

// ============================================================
// REQUIRED_TAGS ��� Common ore/material tags for AlmostUnified compat (~100)
// ============================================================
const REQUIRED_TAGS = [
  // Ingot tags
  'c:ingots/iron',
  'c:ingots/gold',
  'c:ingots/copper',
  'c:ingots/tin',
  'c:ingots/lead',
  'c:ingots/steel',
  'c:ingots/bronze',
  'c:ingots/osmium',
  'c:ingots/aluminum',
  'c:ingots/nickel',
  'c:ingots/electrum',
  'c:ingots/invar',
  'c:ingots/netherite',
  'c:ingots/brass',
  'c:ingots/zinc',
  'c:ingots/uranium',
  // Raw material tags
  'c:raw_materials/tin',
  'c:raw_materials/lead',
  'c:raw_materials/osmium',
  'c:raw_materials/uranium',
  'c:raw_materials/iron',
  'c:raw_materials/gold',
  'c:raw_materials/copper',
  // Dust tags
  'c:dusts/iron',
  'c:dusts/gold',
  'c:dusts/copper',
  'c:dusts/tin',
  'c:dusts/lead',
  'c:dusts/osmium',
  'c:dusts/steel',
  'c:dusts/bronze',
  'c:dusts/aluminum',
  'c:dusts/nickel',
  'c:dusts/uranium',
  'c:dusts/quartz',
  'c:dusts/sulfur',
  // Gem tags
  'c:gems/diamond',
  'c:gems/emerald',
  'c:gems/certus_quartz',
  'c:gems/lapis',
  'c:gems/quartz',
  'c:gems/amethyst',
  // Plate tags
  'c:plates/iron',
  'c:plates/gold',
  'c:plates/copper',
  'c:plates/steel',
  'c:plates/bronze',
  'c:plates/tin',
  'c:plates/lead',
  'c:plates/aluminum',
  // Storage block tags
  'c:storage_blocks/iron',
  'c:storage_blocks/gold',
  'c:storage_blocks/copper',
  'c:storage_blocks/diamond',
  'c:storage_blocks/emerald',
  'c:storage_blocks/lapis',
  'c:storage_blocks/redstone',
  'c:storage_blocks/tin',
  'c:storage_blocks/lead',
  'c:storage_blocks/steel',
  'c:storage_blocks/bronze',
  'c:storage_blocks/osmium',
  'c:storage_blocks/uranium',
  // Nugget tags
  'c:nuggets/iron',
  'c:nuggets/gold',
  'c:nuggets/copper',
  'c:nuggets/tin',
  'c:nuggets/lead',
  'c:nuggets/steel',
  'c:nuggets/bronze',
  'c:nuggets/osmium',
  'c:nuggets/zinc',
  // Ore tags
  'c:ores/iron',
  'c:ores/gold',
  'c:ores/copper',
  'c:ores/tin',
  'c:ores/lead',
  'c:ores/osmium',
  'c:ores/uranium',
  'c:ores/diamond',
  'c:ores/emerald',
  'c:ores/lapis',
  'c:ores/redstone',
  'c:ores/quartz',
  // Dye tags
  'c:dyes/red',
  'c:dyes/blue',
  'c:dyes/green',
  'c:dyes/white',
  'c:dyes/black',
  'c:dyes/purple',
  'c:dyes/yellow',
  'c:dyes/orange',
  'c:dyes/pink',
  'c:dyes/cyan',
  'c:dyes/brown',
  'c:dyes/lime',
  'c:dyes/light_blue',
  'c:dyes/magenta',
  'c:dyes/gray',
  'c:dyes/light_gray',
  // Utility tags
  'c:silicon',
]

// ============================================================
// Recipe event — validate recipes, items, mods, tags
// ============================================================
ServerEvents.recipes(event => {
  let pass = 0
  let fail = 0
  const failures = []

  function check(name, condition) {
    if (condition) {
      pass++
    } else {
      fail++
      failures.push(name)
      console.error(`[PACKTEST:FAIL] ${name}`)
    }
  }

  // --- Mod checks ---
  REQUIRED_MODS.forEach(mod => {
    check(`mod_loaded:${mod}`, Platform.isLoaded(mod))
  })

  // --- Item checks ---
  REQUIRED_ITEMS.forEach(id => {
    check(`item_exists:${id}`, Item.exists(id))
  })

  if (ENABLE_RECIPE_SCAN_TESTS) {
    // --- Recipe output checks ---
    REQUIRED_RECIPE_OUTPUTS.forEach(id => {
      let found = event.containsRecipe({ output: id })
      check(`recipe_output:${id}`, found)
    })

    // --- Mod recipe count checks ---
    MODS_WITH_RECIPES.forEach(mod => {
      let count = event.countRecipes({ mod: mod })
      check(`mod_has_recipes:${mod} (${count})`, count > 0)
    })
  } else {
    console.info('[PACKTEST:SKIP] Recipe scan checks disabled to avoid KubeJS false-positive JSON recipe parse spam')
  }

  // --- Tag checks ---
  REQUIRED_TAGS.forEach(tag => {
    try {
      let ingredient = Ingredient.of('#' + tag)
      check(`tag_populated:${tag}`, !ingredient.isEmpty())
    } catch (e) {
      check(`tag_populated:${tag}`, false)
    }
  })

  // --- Summary ---
  console.info(`[PACKTEST:SUMMARY] ${pass} passed, ${fail} failed`)
  if (fail > 0) {
    console.error(`[PACKTEST:FAILURES] ${failures.join(', ')}`)
  } else {
    console.info('[PACKTEST:ALL_PASSED] All pack validation checks passed!')
  }
})

// ============================================================
// Scheduled tests — run after server finishes loading
// These validate runtime state that isn't available during recipe events
// Results logged with [SCHEDTEST] prefix, parsed by test-pack.sh
// ============================================================
ServerEvents.loaded(event => {
  const server = event.server

  // Schedule tests 3 seconds (60 ticks) after server load
  server.scheduleInTicks(60, () => {
    let pass = 0
    let fail = 0

    function schedCheck(name, condition) {
      if (condition) {
        pass++
        console.info(`[SCHEDTEST] PASS ${name}`)
      } else {
        fail++
        console.error(`[SCHEDTEST] FAIL ${name}`)
      }
    }

    // --- Cross-mod recipe integration checks ---
    // Verify that AlmostUnified has unified key materials
    schedCheck('unified:iron_ingot', Item.exists('minecraft:iron_ingot'))
    schedCheck('unified:copper_ingot', Item.exists('minecraft:copper_ingot'))
    schedCheck('unified:gold_ingot', Item.exists('minecraft:gold_ingot'))

    // --- Verify KubeJS custom items are functional ---
    schedCheck('kubejs_item:universal_press', Item.exists('kubejs:universal_press'))

    // --- Verify mod integration items exist (cross-mod) ---
    schedCheck('appmek:atomic_disassembler_card', Item.exists('appmek:atomic_disassembler_card') || Platform.isLoaded('appmek'))
    schedCheck('appflux:flux_cell', Item.exists('appflux:flux_cell') || Platform.isLoaded('appflux'))

    // --- Verify gateway mod loaded ---
    schedCheck('gateways_mod_loaded', Platform.isLoaded('gateways'))
    schedCheck('gateway_item:gate_pearl', Item.exists('gateways:gate_pearl'))

    // --- Verify new mods (v2.29.x) ---
    schedCheck('fluxnetworks_loaded', Platform.isLoaded('fluxnetworks'))
    schedCheck('flux_item:flux_plug', Item.exists('fluxnetworks:flux_plug'))
    schedCheck('flux_item:flux_point', Item.exists('fluxnetworks:flux_point'))
    schedCheck('flux_item:flux_controller', Item.exists('fluxnetworks:flux_controller'))

    schedCheck('rftoolsbase_loaded', Platform.isLoaded('rftoolsbase'))
    schedCheck('rftools_item:machine_frame', Item.exists('rftoolsbase:machine_frame'))
    schedCheck('rftools_item:smartwrench', Item.exists('rftoolsbase:smartwrench'))

    schedCheck('rftoolspower_loaded', Platform.isLoaded('rftoolspower'))
    schedCheck('rftoolsbuilder_loaded', Platform.isLoaded('rftoolsbuilder'))
    schedCheck('rftoolsstorage_loaded', Platform.isLoaded('rftoolsstorage'))
    schedCheck('rftoolsutility_loaded', Platform.isLoaded('rftoolsutility'))
    schedCheck('rftools_item:builder', Item.exists('rftoolsbuilder:builder'))
    schedCheck('rftools_item:storage_scanner', Item.exists('rftoolsstorage:storage_scanner'))
    schedCheck('rftools_item:spawner', Item.exists('rftoolsutility:spawner'))

    schedCheck('findme_loaded', Platform.isLoaded('findme'))

    // --- Verify Create + addon integration ---
    schedCheck('create_connected_loaded', Platform.isLoaded('create_connected'))
    schedCheck('create_mech_extruder_loaded', Platform.isLoaded('create_mechanical_extruder'))

    // --- Verify Powah crystal items (used by chickens) ---
    schedCheck('powah:crystal_blazing', Item.exists('powah:crystal_blazing'))
    schedCheck('powah:crystal_niotic', Item.exists('powah:crystal_niotic'))
    schedCheck('powah:crystal_spirited', Item.exists('powah:crystal_spirited'))
    schedCheck('powah:dry_ice', Item.exists('powah:dry_ice'))

    // --- Verify MI tiny dusts (chicken outputs) ---
    schedCheck('mi:tin_tiny_dust', Item.exists('modern_industrialization:tin_tiny_dust'))
    schedCheck('mi:steel_tiny_dust', Item.exists('modern_industrialization:steel_tiny_dust'))
    schedCheck('mi:uranium_tiny_dust', Item.exists('modern_industrialization:uranium_tiny_dust'))
    schedCheck('mi:plutonium_tiny_dust', Item.exists('modern_industrialization:plutonium_tiny_dust'))
    schedCheck('mi:iridium_tiny_dust', Item.exists('modern_industrialization:iridium_tiny_dust'))
    schedCheck('mi:titanium_tiny_dust', Item.exists('modern_industrialization:titanium_tiny_dust'))

    // --- Verify Create Aeronautics ecosystem (v2.43.0) ---
    schedCheck('aeronautics_loaded', Platform.isLoaded('aeronautics'))
    schedCheck('sable_loaded', Platform.isLoaded('sable'))
    schedCheck('simulated_loaded', Platform.isLoaded('simulated'))
    schedCheck('offroad_loaded', Platform.isLoaded('offroad'))
    schedCheck('aero_item:propeller_bearing', Item.exists('aeronautics:propeller_bearing'))
    schedCheck('aero_item:levitite', Item.exists('aeronautics:levitite'))
    schedCheck('aero_item:aviators_goggles', Item.exists('aeronautics:aviators_goggles'))
    schedCheck('sim_item:physics_assembler', Item.exists('simulated:physics_assembler'))
    schedCheck('sim_item:engine_assembly', Item.exists('simulated:engine_assembly'))
    schedCheck('offroad_item:wheel_mount', Item.exists('offroad:wheel_mount'))

    // --- Verify Create Cosmonautics (v2.43.0) ---
    schedCheck('cosmonautics_loaded', Platform.isLoaded('rocketnautics'))
    schedCheck('dimensional_sable_loaded', Platform.isLoaded('dimensional_sable'))
    schedCheck('alcubierre_loaded', Platform.isLoaded('alcubierre'))
    schedCheck('cosmo_item:rocket_thruster', Item.exists('rocketnautics:rocket_thruster'))
    schedCheck('cosmo_item:titanium_ingot', Item.exists('rocketnautics:titanium_ingot'))
    schedCheck('cosmo_item:jetpack', Item.exists('rocketnautics:jetpack'))
    schedCheck('cosmo_item:lunar_regolith', Item.exists('rocketnautics:lunar_regolith'))

    // --- Verify Tesseract ---
    schedCheck('tesseract_loaded', Platform.isLoaded('tesseract'))
    schedCheck('tesseract_item:tesseract', Item.exists('tesseract:tesseract'))

    // --- Verify Pipez items ---
    schedCheck('pipez:item_pipe', Item.exists('pipez:item_pipe'))
    schedCheck('pipez:fluid_pipe', Item.exists('pipez:fluid_pipe'))
    schedCheck('pipez:energy_pipe', Item.exists('pipez:energy_pipe'))

    // --- More Gateways items ---
    schedCheck('gateways:gate_pearl', Item.exists('gateways:gate_pearl'))

    // --- Verify Twilight Forest suite ---
    schedCheck('twilightforest_loaded', Platform.isLoaded('twilightforest'))
    schedCheck('tf_item:naga_scale', Item.exists('twilightforest:naga_scale'))
    schedCheck('tf_item:fiery_ingot', Item.exists('twilightforest:fiery_ingot'))
    schedCheck('tf_item:ironwood_ingot', Item.exists('twilightforest:ironwood_ingot'))
    schedCheck('tf_item:steeleaf_ingot', Item.exists('twilightforest:steeleaf_ingot'))
    schedCheck('tf_item:knightmetal_ingot', Item.exists('twilightforest:knightmetal_ingot'))
    schedCheck('tf_item:towerwood', Item.exists('twilightforest:towerwood'))
    schedCheck('twilightdelight_loaded', Platform.isLoaded('twilightdelight'))
    schedCheck('create_shimmer_loaded', Platform.isLoaded('create_shimmer'))

    // --- Verify Iron Furnaces ---
    schedCheck('ironfurnaces_loaded', Platform.isLoaded('ironfurnaces'))
    schedCheck('ironfurnaces:iron_furnace', Item.exists('ironfurnaces:iron_furnace'))

    // --- Verify Concrete Conversion ---
    schedCheck('concreteconversion_loaded', Platform.isLoaded('concreteconversion'))

    // --- Summary ---
    console.info(`[SCHEDTEST:SUMMARY] ${pass} passed, ${fail} failed`)
  })
})
