// priority: 800
/*
The itemNukeList is used to list all IDs and regexes matching IDs of items that should be removed from the game, or "nuked".
While this makes it far more difficult to access the items and effectively obliterates them in most cases,
it doesn't remove them entirely and does not guarantee that they are unobtainable, unusable, or hidden in EMI/JEI.

Examples of such cases are:
- Items that may drop from a loot table (not unobtainable)
- Items that provide right-click functionality (not unusable)
- ExtendedCrafting Singularities, which have a special recipe page which cannot be hidden by normal means (not hidden in EMI/JEI)

If you seek to hide an item but not remove it, use KubeJS/client_scripts/JEI.js.
If you seek to remove a recipe but not hide any items, use the relevant file in KubeJS/server_scripts.
*/
global.itemNukeList = [
    // Ad Astra
    "ad_astra:cable_duct",
    "ad_astra:coal_generator",
    "ad_astra:compressor",
    "ad_astra:cryo_freezer",
    "ad_astra:desh_cable",
    "ad_astra:desh_fluid_pipe",
    "ad_astra:energizer",
    "ad_astra:energizer",
    "ad_astra:engine_frame",
    "ad_astra:etrionic_blast_furnace",
    "ad_astra:etrionic_capacitor",
    "ad_astra:etrionic_core",
    "ad_astra:fan",
    "ad_astra:fluid_pipe_duct",
    "ad_astra:fuel_refinery",
    "ad_astra:ostrum_fluid_pipe",
    "ad_astra:photovoltaic_etrium_cell",
    "ad_astra:photovoltaic_vesnium_cell",
    "ad_astra:solar_panel",
    "ad_astra:steel_cable",
    "ad_astra:water_pump",
    /^ad_astra:.*_bucket$/,

    // Applied Energistics 2
    "ae2:vibration_chamber",

    // Better Angel Ring
    "better_angel_ring:ring",

    // Chisels & Bits
    "chiselsandbits:block_bit",

    // EnderIO
    "enderio:alloy_smelter",
    "enderio:clayed_glowstone",
    "enderio:conductive_alloy_grinding_ball",
    /^enderio:[\w_]*conduit/,
    /^enderio:[\w_]+_capacitor_bank$/,
    "enderio:confusing_powder",
    "enderio:copper_alloy_grinding_ball",
    "enderio:dark_steel_grinding_ball",
    "enderio:end_steel_grinding_ball",
    "enderio:energetic_alloy_grinding_ball",
    "enderio:flour",
    "enderio:industrial_insulation_block",
    "enderio:nethercotta",
    "enderio:organic_black_dye",
    "enderio:organic_brown_dye",
    "enderio:organic_green_dye",
    "enderio:plant_matter_brown",
    "enderio:plant_matter_green",
    "enderio:powered_spawner",
    "enderio:primitive_alloy_smelter",
    "enderio:pulsating_alloy_grinding_ball",
    "enderio:redstone_alloy_grinding_ball",
    "enderio:sag_mill",
    "enderio:silicon",
    "enderio:soul_powder",
    "enderio:soularium_grinding_ball",
    "enderio:stirling_generator",
    "enderio:vibrant_alloy_grinding_ball",
    /^enderio:painted_/,
    /^enderio:powdered_/,
    "enderio:infinity_rod",

    // Ender Storage
    // TODO: Need to add greggy recipes for these
    "endertanks:ender_bucket",
    "enderchests:ender_bag",

    // ExtendedAE
    "expatternprovider:silicon_block",
    "expatternprovider:circuit_cutter",
    /^expatternprovider.*cutter/,

    // Extended Crafting
    "extendedcrafting:auto_ender_crafter",
    "extendedcrafting:auto_flux_crafter",
    "extendedcrafting:black_iron_slate",
    "extendedcrafting:compressor",
    "extendedcrafting:ender_alternator",
    "extendedcrafting:ender_catalyst",
    "extendedcrafting:ender_component",
    "extendedcrafting:ender_crafter",
    "extendedcrafting:ender_star",
    "extendedcrafting:enhanced_ender_catalyst",
    "extendedcrafting:enhanced_ender_component",
    "extendedcrafting:enhanced_redstone_catalyst",
    "extendedcrafting:enhanced_redstone_component",
    "extendedcrafting:flux_alternator",
    "extendedcrafting:flux_crafter",
    "extendedcrafting:flux_star",
    "extendedcrafting:frame",
    "extendedcrafting:recipe_maker",
    "extendedcrafting:singularity",
    /^extendedcrafting:crystaltine_(?!c)[\w_]+/,

    // GTCEu: Modern
    "gtceu:hot_kanthal_ingot",
    "gtceu:hot_silicon_ingot",
    "gtceu:milk",
    "gtceu:steel_machine_casing",
    "gtceu:uv_world_accelerator",
    /^gtceu:uiv/,
    /^gtceu:uxv/,
    /^gtceu:opv/,
    /^gtmutils.uiv/,
    /^gtmutils:uxv/,
    /^gtmutils:opv/,

    // Hammerlib
    /^hammerlib:/,

    // HNN
    "hostilenetworks:deep_learner",
    "hostilenetworks:twilight_prediction",

    // Iron Furnaces
    "ironfurnaces:augment_blasting",
    "ironfurnaces:augment_generator",
    "ironfurnaces:augment_smoking",
    "ironfurnaces:heater",
    "ironfurnaces:item_heater",
    "ironfurnaces:item_spooky",
    "ironfurnaces:item_xmas",
    "ironfurnaces:rainbow_coal",
    "ironfurnaces:rainbow_core",
    "ironfurnaces:rainbow_plating",
    "ironfurnaces:allthemodium_furnace",
    "ironfurnaces:vibranium_furnace",
    "ironfurnaces:unobtainium_furnace",
    "ironfurnaces:million_furnace",
    "ironfurnaces:upgrade_allthemodium",
    "ironfurnaces:upgrade_vibranium",
    "ironfurnaces:upgrade_unobtainium",

    // TODO renable this again. why in the fuck did we disable this?
    // No upgrade consumables to go from diamond to obsidian or iron to silver without re-enabling more furnaces
    "ironfurnaces:upgrade_iron",
    "ironfurnaces:upgrade_gold",
    "ironfurnaces:upgrade_diamond",
    "ironfurnaces:upgrade_emerald",
    "ironfurnaces:upgrade_obsidian",
    "ironfurnaces:upgrade_crystal",
    "ironfurnaces:upgrade_netherite",
    "ironfurnaces:upgrade_copper",
    "ironfurnaces:upgrade_obsidian2",
    "ironfurnaces:upgrade_silver",
    "ironfurnaces:upgrade_obsidian2",
    "ironfurnaces:upgrade_iron2",
    "ironfurnaces:upgrade_gold2",
    "ironfurnaces:upgrade_silver2",
    "ironfurnaces:crystal_furnace",
    "ironfurnaces:emerald_furnace",
    "ironfurnaces:item_linker",

    // Iron Jetpacks
    "ironjetpacks:advanced_coil",
    "ironjetpacks:basic_coil",
    "ironjetpacks:capacitor",
    "ironjetpacks:cell",
    "ironjetpacks:elite_coil",
    "ironjetpacks:thruster",
    "ironjetpacks:ultimate_coil",

    // Just Another Void Dimension (JAVD)
    "javd:portal_block",

    // KubeJS
    "kubejs:debug_ctm_block",
    "kubejs:corrupted_universe_data",
    "kubejs:shattered_universe_data",

    // LaserIO
    "laserio:logic_chip",
    "laserio:logic_chip_raw",

    // Megacells
    "megacells:mega_crafting_accelerator",
    /^megacells:.*mega_interface$/,
    /^megacells:.*mega_pattern_provider$/,
    /^megacells:sky_steel/,

    // PackagedExCrafting
    "packagedexcrafting:basic_crafter",
    "packagedexcrafting:ender_crafter",
    "packagedexcrafting:flux_crafter",

    // Solar Flux
    /^solarflux:.*/,

    // Looking for removed Sophisticated Storage items?
    // Look in configs/sophisticatedcore-common.toml.
    // SophStorage offers a way to remove items from the registry with config.

    // Systeams
    "systeams:disenchantment_boiler",
    "systeams:lapidary_boiler",
    "systeams:steamiestest_ball",

    // Telepastries
    "telepastries:custom_cake2",
    "telepastries:custom_cake3",
    "telepastries:twilight_cake",

    // Thermal Series
    "thermal:apatite",
    "thermal:bitumen",
    "thermal:cinnabar",
    "thermal:coal_coke_block",
    "thermal:coal_coke",
    "thermal:constantan_coin",
    "thermal:cured_rubber",
    "thermal:drill_head",
    "thermal:dynamo_disenchantment",
    "thermal:dynamo_lapidary",
    "thermal:dynamo_stirling",
    "thermal:niter",
    "thermal:oil_red_sand",
    "thermal:oil_sand",
    "thermal:raw_rubber",
    "thermal:rubber",
    "thermal:ruby",
    "thermal:sapphire",
    "thermal:saw_blade",
    "thermal:sawdust",
    "thermal:sulfur",
    "thermal:tar",
    /^thermal:.*_cast$/,

    // Thermal Series Machines
    "thermal:machine_furnace",
    "thermal:machine_sawmill",
    "thermal:machine_pulverizer",
    "thermal:machine_smelter",
    "thermal:machine_centrifuge",
    "thermal:machine_crucible",
    "thermal:machine_chiller",
    "thermal:machine_refinery",
    "thermal:machine_pyrolyzer",
    "thermal:machine_bottler",
    "thermal:machine_brewer",
    "thermal:machine_crystallizer",
    "thermal:device_xp_condenser",

    // Wireless Chargers
    "wirelesschargers:basic_wireless_block_charger",
    "wirelesschargers:advanced_wireless_block_charger",

    // NuclearCraft regexes
    /^nuclearcraft:turbine[\w_]*/,
    /^nuclearcraft:fusion[\w_]*/,
    /^nuclearcraft:[\w_]*_cooler$/,
    /^nuclearcraft:[\w_]*accelerator[\w_]+$/,
    /^nuclearcraft:[\w_]*chamber[\w_]*$/,
    /^nuclearcraft:[\w_]*_ore$/,
    /^nuclearcraft:\w+_chunk$/,
    /^nuclearcraft:source_\w+_\w+$/,
    /^nuclearcraft:[\w_]*electromagnet/,
    /^nuclearcraft:solar_panel.*/,
    /^nuclearcraft:[\w_]+_voltaic_pile$/,
    /^nuclearcraft:[\w_]+_container$/,
    /^nuclearcraft:[\w_]*_collector$/,
    /^nuclearcraft:[\w_]*smore$/,
    /^nuclearcraft:[\w_]*_battery$/,
    /^nuclearcraft:[\w_]*_barrel$/,
    /^nuclearcraft:[\w_]+_bucket$/,
    /^nuclearcraft:upgrade_[\w_]+/,
    /^nuclearcraft:particle/,
    /^nuclearcraft:[\w]+_spallation_waste/,
    /^nuclearcraft:msr/,

    // Nuclearcraft
    "nuclearcraft:xenorium_298",
    "nuclearcraft:silicon_tracker",
    "nuclearcraft:em_calorimeter",
    "nuclearcraft:hadron_calorimeter",
    "nuclearcraft:tungsten_filament",
    "nuclearcraft:subatomic_liquifier",
    "nuclearcraft:quantite",
    "nuclearcraft:portal",
    "nuclearcraft:wasteland_earth",
    "nuclearcraft:feral_ghoul_spawn_egg",
    "nuclearcraft:expl",
    "nuclearcraft:motor",
    "nuclearcraft:plate_extreme",
    "nuclearcraft:actuator",
    "nuclearcraft:tough_helmet",
    "nuclearcraft:tough_chest",
    "nuclearcraft:tough_pants",
    "nuclearcraft:tough_boots",
    "nuclearcraft:empty_frame",
    "nuclearcraft:dps",
    "nuclearcraft:rad_x",
    "nuclearcraft:servo",
    "nuclearcraft:bscco_electromagnet",
    "nuclearcraft:bscco_rf_amplifier",
    "nuclearcraft:niobium_tin_electromagnet",
    "nuclearcraft:niobium_tin_rf_amplifier",
    "nuclearcraft:lithium_ion_cell",
    "nuclearcraft:empty_frame",
    "nuclearcraft:supercooler",
    "nuclearcraft:steel_frame",
    "nuclearcraft:quantum_flux_regulator",
    "nuclearcraft:chamber_port",
    "nuclearcraft:fission_reactor_irradiation_chamber",
    "nuclearcraft:chamber_terminal",
    "nuclearcraft:event_horizon_stabilizer",
    "nuclearcraft:quantum_transformer",
    "nuclearcraft:black_hole",
    "nuclearcraft:neutronium_frame",
    "nuclearcraft:photon_concentrator",
    "nuclearcraft:redstone_dimmer",
    "nuclearcraft:rad_x",
    "nuclearcraft:research_paper",
    "nuclearcraft:gelatin",
    "nuclearcraft:basic_electric_circuit",
    "nuclearcraft:sic_fiber",
    "nuclearcraft:spaxelhoe_tough",
    "nuclearcraft:spaxelhoe_thorium",
    "nuclearcraft:multitool",
    "nuclearcraft:qnp",
    "nuclearcraft:lithium_ion_cell",
    "nuclearcraft:dps",
    "nuclearcraft:servo",
    "nuclearcraft:bioplastic",
    "nuclearcraft:empty_sink",
    "nuclearcraft:radaway_slow",
    "nuclearcraft:salt",
    "nuclearcraft:cocoa_butter",
    "nuclearcraft:sawdust",
    "nuclearcraft:flour",
    "nuclearcraft:dominos",
    "nuclearcraft:radaway",
    "nuclearcraft:coil_bscco",

    // NuclearCraft Heat Sinks
    "nuclearcraft:slime_heat_sink",
    "nuclearcraft:netherite_heat_sink",
    "nuclearcraft:liquid_nitrogen_heat_sink",
    "nuclearcraft:end_stone_heat_sink",
    "nuclearcraft:cobalt_heat_sink",
    "nuclearcraft:fluorite_heat_sink",
    "nuclearcraft:lithium_heat_sink",
    "nuclearcraft:platinum_heat_sink",
    "nuclearcraft:arsenic_heat_sink",
    "nuclearcraft:lead_heat_sink",
    "nuclearcraft:gold_heat_sink",
    "nuclearcraft:silver_heat_sink",
    "nuclearcraft:prismarine_heat_sink",
    "nuclearcraft:obsidian_heat_sink",
    "nuclearcraft:purpur_heat_sink",
    "nuclearcraft:nether_brick_heat_sink",
    "nuclearcraft:diamond_heat_sink",
    "nuclearcraft:iron_heat_sink",
    "nuclearcraft:villiaumite_heat_sink",
    "nuclearcraft:carobbiite_heat_sink",

    "nuclearcraft:empty_active_heat_sink",
    /^nuclearcraft:active_[\w_]+_heat_sink$/,

    "nuclearcraft:heat_exchanger",

    // Nuclearcraft Machines
    "nuclearcraft:rock_crusher",
    "nuclearcraft:decay_hastener",
    "nuclearcraft:irradiator",
    "nuclearcraft:nuclear_furnace",
    "nuclearcraft:extractor",
    "nuclearcraft:electrolyzer",
    "nuclearcraft:pressurizer",
    "nuclearcraft:alloy_smelter",
    "nuclearcraft:centrifuge",
    "nuclearcraft:manufactory",
    "nuclearcraft:gas_scrubber",
    "nuclearcraft:fluid_enricher",
    "nuclearcraft:isotope_separator",
    "nuclearcraft:fluid_infuser",
    "nuclearcraft:chemical_reactor",
    "nuclearcraft:analyzer",
    "nuclearcraft:ingot_former",
    "nuclearcraft:pump",
    "nuclearcraft:fuel_reprocessor",
    "nuclearcraft:leacher",
    "nuclearcraft:crystallizer",
    "nuclearcraft:assembler",
    "nuclearcraft:steam_turbine",
    "nuclearcraft:melter",

    // Nuclearcraft Isotopes
    "nuclearcraft:fuel_mixed_mix_239",
    "nuclearcraft:fuel_mixed_mix_241",
    "nuclearcraft:lithium_6",
    "nuclearcraft:lithium_7",
    "nuclearcraft:boron_10",
    "nuclearcraft:boron_11",
    "nuclearcraft:thorium_230",
    "nuclearcraft:thorium_232",
    "nuclearcraft:uranium_235",
    "nuclearcraft:uranium_238",
    "nuclearcraft:plutonium_239",
    "nuclearcraft:plutonium_241",
    "nuclearcraft:curium_246",
    "nuclearcraft:curium_247",
    "nuclearcraft:californium_249",
    "nuclearcraft:sodium_22",
    "nuclearcraft:copernicium_291",
    "nuclearcraft:beryllium_7",
    "nuclearcraft:magnesium_26",
    "nuclearcraft:calcium_48",
    "nuclearcraft:magnesium_24",
    "nuclearcraft:iridium_192",
    "nuclearcraft:cobalt_60",
];

// Create Compat
// Removes machines related to processing
if (Platform.isLoaded("create")) {
    global.itemNukeList.push(
        "create:millstone",
        "create:crushing_wheel",
        "create:mechanical_plough",
        "create:mechanical_crafter",
        "create:mechanical_mixer",
        "create:mechanical_saw",
        "create:mechanical_drill",
        "create:mechanical_harvester",
        "create:mechanical_press",
        "create:mechanical_roller",
        "create:encased_fan"
    );
}

// If not doing boilers, nuke them.
if (!global.doBoilers) {
    global.itemNukeList.push(
        "systeams:stirling_boiler",
        "systeams:compression_boiler",
        "systeams:gourmand_boiler",
        "systeams:magmatic_boiler",
        "systeams:numismatic_boiler",
    );
}
