This commit is contained in:
Shiroyasha 2025-09-14 20:52:18 +03:00
commit d8d0e9d536
Signed by: shiroyashik
GPG key ID: E4953D3940D7860A
2567 changed files with 167778 additions and 0 deletions

View file

@ -0,0 +1,85 @@
// priority: 900
/*
The fluidNukeList is used to list all IDs of fluids that should be removed from the game, or "nuked".
While this makes it far more difficult to access the fluids 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 JEI/EMI.
If you seek to hide a fluid but not remove it, use KubeJS/client_scripts/JEI.js.
If you seek to remove a recipe but not hide any fluids, use the relevant file in KubeJS/server_scripts.
*/
global.fluidNukeList = [
// Ad Astra
"ad_astra:oxygen",
"ad_astra:hydrogen",
"ad_astra:oil",
"ad_astra:fuel",
"ad_astra:cryo_fuel",
// Ender IO
"enderio:cloud_seed_concentrated",
"enderio:cloud_seed",
"enderio:fire_water",
"enderio:hootch",
"enderio:liquid_sunshine",
"enderio:nutrient_distillation",
"enderio:rocket_fuel",
"enderio:vapor_of_levity",
// GregTech Modern
"gtceu:molten_kanthal",
// Thermal Series
"cofh_core:experience",
"thermal:creosote",
"thermal:glowstone",
"thermal:redstone",
"thermal:crude_oil",
"thermal:heavy_oil",
"thermal:light_oil",
// Sophisticated Core
"sophisticatedcore:xp_still",
// Systeams
"systeams:steamier",
"systeams:steamiest",
"systeams:steamiester",
"systeams:steamiestest",
]
StartupEvents.postInit(event => {
/**
* NuclearCraft is most easily dealt with by removing *everything* but a select few fluids
*/
// Get all of the NuclearCraft fluids
let NCFluids = Fluid.getTypes().filter(id => id.includes("nuclearcraft"))
// NuclearCraft fluids to not nuke
let NCFluidsToKeep = [
"nuclearcraft:hydrated_gelatin",
"nuclearcraft:gelatin",
"nuclearcraft:sugar",
"nuclearcraft:marshmallow",
"nuclearcraft:cocoa_butter",
"nuclearcraft:pasteurized_milk",
"nuclearcraft:chocolate_liquor",
"nuclearcraft:unsweetened_chocolate",
"nuclearcraft:dark_chocolate",
"nuclearcraft:milk_chocolate",
"nuclearcraft:technical_water",
"nuclearcraft:high_pressure_steam",
]
// Add depleted fuels, or else fission reactors won't run
NCFluidsToKeep = NCFluidsToKeep.concat(NCFluids.filter(id => id.includes("depleted_fuel")))
// Add flowing fluid variants to the list of fluids to keep
NCFluidsToKeep.forEach(fluid => { NCFluidsToKeep.push(`${fluid}_flowing`) })
// Remove used fluids from the full list of NC fluids
let NCFluidsToRemove = NCFluids.filter((el) => !NCFluidsToKeep.includes(el))
// Add all the unwanted NuclearCraft fluids to the nukeList
global.fluidNukeList = global.fluidNukeList.concat(NCFluidsToRemove)
})

View file

@ -0,0 +1,320 @@
// priority: 900
/*
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:certus_quartz_crystal",
"ae2:charged_certus_quartz_crystal",
"ae2:fluix_block",
"ae2:fluix_crystal",
"ae2:fluix_dust",
"ae2:vibration_chamber",
// Better Angel Ring
"better_angel_ring:ring",
// Chisels & Bits
"chiselsandbits:block_bit",
// EnderIO
"enderio:alloy_smelter",
"enderio:clayed_glowstone",
"enderio:cloud_seed_bucket",
"enderio:cloud_seed_concentrated_bucket",
"enderio:conductive_alloy_grinding_ball",
"enderio:conduit",
"enderio:confusing_powder",
"enderio:copper_alloy_grinding_ball",
"enderio:dark_steel_grinding_ball",
"enderio:end_steel_grinding_ball",
"enderio:energetic_alloy_grinding_ball",
"enderio:energy_conduit",
"enderio:fire_water_bucket",
"enderio:flour",
"enderio:hootch_bucket",
"enderio:industrial_insulation_block",
"enderio:liquid_sunshine_bucket",
"enderio:nethercotta",
"enderio:nutrient_distillation_bucket",
"enderio:organic_black_dye",
"enderio:organic_brown_dye",
"enderio:organic_green_dye",
"enderio:plant_matter_brown",
"enderio:plant_matter_green",
"enderio:primitive_alloy_smelter",
"enderio:pulsating_alloy_grinding_ball",
"enderio:redstone_alloy_grinding_ball",
"enderio:rocket_fuel_bucket",
"enderio:sag_mill",
"enderio:silicon",
"enderio:soul_powder",
"enderio:soularium_grinding_ball",
"enderio:stirling_generator",
"enderio:vapor_of_levity_bucket",
"enderio:vibrant_alloy_grinding_ball",
"enderio:withering_powder",
/^enderio:painted_/,
/^enderio:powdered_/,
// 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: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_crafter",
"extendedcrafting:flux_star",
"extendedcrafting:frame",
"extendedcrafting:recipe_maker",
"extendedcrafting:singularity",
// GTCEu: Modern
"gtceu:ender_fluid_link_cover", // Not Yet Implemented. Remove when GTM makes it work.
"gtceu:hot_kanthal_ingot",
"gtceu:hot_silicon_ingot",
"gtceu:milk",
"gtceu:steel_machine_casing",
/^gtceu:uxv/,
/^gtceu:opv/,
/^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",
// LaserIO
"laserio:logic_chip",
"laserio:logic_chip_raw",
// Megacells
"megacells:mega_crafting_accelerator",
"megacells:bulk_storage_component",
/^megacells:.*mega_interface$/,
/^megacells:.*mega_pattern_provider$/,
/^megacells:sky_steel/,
// PackagedExCrafting
"packagedexcrafting:basic_crafter",
"packagedexcrafting:ender_crafter",
"packagedexcrafting:flux_crafter",
// Solar Flux
/^solarflux:.*_upgrade$/,
/^solarflux:.*_glass$/,
"solarflux:blazing_coating",
// 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:compression_boiler",
"systeams:disenchantment_boiler",
"systeams:gourmand_boiler",
"systeams:lapidary_boiler",
"systeams:magmatic_boiler",
"systeams:numismatic_boiler",
"systeams:steamier_bucket",
"systeams:steamiest_bucket",
"systeams:steamiester_bucket",
"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:creosote_bucket",
"thermal:crude_oil_bucket",
"thermal:cured_rubber",
"thermal:drill_head",
"thermal:dynamo_disenchantment",
"thermal:dynamo_lapidary",
"thermal:dynamo_stirling",
"thermal:glowstone_bucket",
"thermal:heavy_oil_bucket",
"thermal:light_oil_bucket",
"thermal:niter",
"thermal:oil_red_sand",
"thermal:oil_sand",
"thermal:raw_rubber",
"thermal:redstone_bucket",
"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
/^nuclearcraft:.*_cooler$/,
"nuclearcraft:synthrotron_controller",
"nuclearcraft:accelerator_beam_port",
"nuclearcraft:accelerator_casing",
"nuclearcraft:accelerator_ion_source_port",
"nuclearcraft:accelerator_port",
"nuclearcraft:accelerator_casing_glass",
"nuclearcraft:linear_accelerator_controller",
"nuclearcraft:accelerator_beam",
"nuclearcraft:xenorium298",
"nuclearcraft:quantite",
"nuclearcraft:portal",
"nuclearcraft:wasteland_earth",
"nuclearcraft:feral_ghoul_spawn_egg"
];
// 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"
);
}

View file

@ -0,0 +1,109 @@
// priority: 900
/**
* This file defines RegEx patterns that match with large quantities of certain items.
*
* These items are "removed" in KubeJS/client_scripts/nukelists.js and KubeJS/server_scripts/nukelists.js
* in a fashion similar to itemNukeList.
*/
/**
* All gears, blocks, ingots, nuggets, etc. we don't want to remove
*/
global.unificationExcludedItems = [
"enderio:dark_bimetal_gear",
"enderio:energized_gear",
"enderio:iron_gear",
"enderio:reinforced_obsidian_block",
"enderio:stone_gear",
"enderio:vibrant_gear",
"enderio:wood_gear",
"extendedcrafting:crystaltine_block",
"extendedcrafting:crystaltine_ingot",
"extendedcrafting:crystaltine_nugget",
"extendedcrafting:luminessence_block",
"nuclearcraft:beryllium_block",
"nuclearcraft:ferroboron_ingot",
"nuclearcraft:graphite_block",
"nuclearcraft:hard_carbon_ingot",
"nuclearcraft:tough_alloy_ingot",
"thermal:apple_block",
"thermal:beetroot_block",
"thermal:carrot_block",
"thermal:potato_block",
"thermal:sugar_cane_block",
];
/**
* A RegEx pattern that matches with all gears, blocks, ingots, nuggets, and other often-unified items
* from NuclearCraft, Thermal Series, EnderIO, Ad Astra, and ExtendedCrafting.
*/
global.unificationPattern = new RegExp(`^(?!(${global.unificationExcludedItems.join("|")})).*(nuclearcraft|thermal|enderio|ad_astra|extendedcrafting):((powdered_|raw_).*|.*(_block|_plate|_ingot|_nugget|_gear|_dust|_rod|_gem|_ore))`, "i")
/**
* All NuclearCraft fuels we don't want to remove
*/
global.nuclearCraftFuelsToKeep = [
"nuclearcraft:depleted_fuel_americium_hea_242",
"nuclearcraft:depleted_fuel_americium_lea_242",
"nuclearcraft:depleted_fuel_berkelium_heb_248",
"nuclearcraft:depleted_fuel_berkelium_leb_248",
"nuclearcraft:depleted_fuel_californium_hecf_249",
"nuclearcraft:depleted_fuel_californium_hecf_251",
"nuclearcraft:depleted_fuel_californium_lecf_249",
"nuclearcraft:depleted_fuel_californium_lecf_251",
"nuclearcraft:depleted_fuel_curium_hecm_243",
"nuclearcraft:depleted_fuel_curium_hecm_245",
"nuclearcraft:depleted_fuel_curium_hecm_247",
"nuclearcraft:depleted_fuel_curium_lecm_243",
"nuclearcraft:depleted_fuel_curium_lecm_245",
"nuclearcraft:depleted_fuel_curium_lecm_247",
"nuclearcraft:depleted_fuel_neptunium_hen_236",
"nuclearcraft:depleted_fuel_neptunium_len_236",
"nuclearcraft:depleted_fuel_plutonium_hep_239",
"nuclearcraft:depleted_fuel_plutonium_hep_241",
"nuclearcraft:depleted_fuel_plutonium_lep_239",
"nuclearcraft:depleted_fuel_plutonium_lep_241",
"nuclearcraft:depleted_fuel_thorium_tbu",
"nuclearcraft:depleted_fuel_uranium_heu_233",
"nuclearcraft:depleted_fuel_uranium_heu_235",
"nuclearcraft:depleted_fuel_uranium_leu_233",
"nuclearcraft:depleted_fuel_uranium_leu_235",
"nuclearcraft:fuel_americium_hea_242",
"nuclearcraft:fuel_americium_lea_242",
"nuclearcraft:fuel_berkelium_heb_248",
"nuclearcraft:fuel_berkelium_leb_248",
"nuclearcraft:fuel_californium_hecf_249",
"nuclearcraft:fuel_californium_hecf_251",
"nuclearcraft:fuel_californium_lecf_249",
"nuclearcraft:fuel_californium_lecf_251",
"nuclearcraft:fuel_curium_hecm_243",
"nuclearcraft:fuel_curium_hecm_245",
"nuclearcraft:fuel_curium_hecm_247",
"nuclearcraft:fuel_curium_lecm_243",
"nuclearcraft:fuel_curium_lecm_245",
"nuclearcraft:fuel_curium_lecm_247",
"nuclearcraft:fuel_neptunium_hen_236",
"nuclearcraft:fuel_neptunium_len_236",
"nuclearcraft:fuel_plutonium_hep_239",
"nuclearcraft:fuel_plutonium_hep_239",
"nuclearcraft:fuel_plutonium_hep_241",
"nuclearcraft:fuel_plutonium_lep_239",
"nuclearcraft:fuel_plutonium_lep_241",
"nuclearcraft:fuel_thorium_tbu",
"nuclearcraft:fuel_uranium_heu_233",
"nuclearcraft:fuel_uranium_heu_235",
"nuclearcraft:fuel_uranium_leu_233",
"nuclearcraft:fuel_uranium_leu_235",
]
/**
* A RegEx pattern that matches with NuclearCraft fuels and depleted fuels except the ones in the above list.
*/
global.nuclearcraftFuelPattern = new RegExp(`^(?!(?:${global.nuclearCraftFuelsToKeep.join("|")})$).*nuclearcraft:(fuel|depleted_fuel).*`, "i")
/**
* A RegEx pattern that matches with all NuclearCraft isotopes.
*/
global.nuclearcraftIsotopePattern = /^nuclearcraft:.*(_ni|_za|_ox)$/