package gregtech.api.enums; import java.util.Locale; import net.minecraft.util.ResourceLocation; import cpw.mods.fml.common.Loader; public enum Mods { AdvancedSolarPanel(Names.ADVANCED_SOLAR_PANEL), AdventureBackpack(Names.ADVENTURE_BACKPACK), AE2FluidCraft(Names.A_E2_FLUID_CRAFT), AFSU(Names.A_F_S_U), AppleCore(Names.APPLE_CORE), AppliedEnergistics2(Names.APPLIED_ENERGISTICS2), ArchitectureCraft(Names.ARCHITECTURE_CRAFT), Aroma1997Core(Names.AROMA1997_CORE), Avaritia(Names.AVARITIA), AvaritiaAddons(Names.AVARITIA_ADDONS), Backpack(Names.BACKPACK), BartWorks(Names.BART_WORKS), Baubles(Names.BAUBLES), BetterLoadingScreen(Names.BETTER_LOADING_SCREEN), BetterQuesting(Names.BETTER_QUESTING), BiblioCraft(Names.BIBLIO_CRAFT), BiblioWoodsBoPEdition(Names.BIBLIO_WOODS_BO_P_EDITION), BiblioWoodsForestryEdition(Names.BIBLIO_WOODS_FORESTRY_EDITION), BiblioWoodsNaturaEdition(Names.BIBLIO_WOODS_NATURA_EDITION), BiomesOPlenty(Names.BIOMES_O_PLENTY), BloodArsenal(Names.BLOOD_ARSENAL), BloodMagic(Names.BLOOD_MAGIC), Botania(Names.BOTANIA), Botany(Names.BOTANY), BuildCraftCore(Names.BUILD_CRAFT_CORE), BuildCraftFactory(Names.BUILD_CRAFT_FACTORY), BuildCraftSilicon(Names.BUILD_CRAFT_SILICON), BuildCraftTransport(Names.BUILD_CRAFT_TRANSPORT), Chisel(Names.CHISEL), COFHCore(Names.C_O_F_H_CORE), Computronics(Names.COMPUTRONICS), CraftTweaker(Names.CRAFT_TWEAKER), CropLoadCore(Names.CROP_LOAD_CORE), CropsPlusPlus(Names.CROPS_PLUS_PLUS), DraconicEvolution(Names.DRACONIC_EVOLUTION), ElectroMagicTools(Names.ELECTRO_MAGIC_TOOLS), EnderIO(Names.ENDER_I_O), EnderStorage(Names.ENDER_STORAGE), EnderZoo(Names.ENDER_ZOO), EternalSingularity(Names.ETERNAL_SINGULARITY), ExtraBees(Names.EXTRA_BEES), ExtraCells2(Names.EXTRA_CELLS2), ExtraTrees(Names.EXTRA_TREES), ExtraUtilities(Names.EXTRA_UTILITIES), FloodLights(Names.FLOOD_LIGHTS), ForbiddenMagic(Names.FORBIDDEN_MAGIC), Forestry(Names.FORESTRY), ForgeMicroblocks(Names.FORGE_MICROBLOCKS), ForgeRelocation(Names.FORGE_RELOCATION), Gadomancy(Names.GADOMANCY), GalacticraftCore(Names.GALACTICRAFT_CORE), GalacticraftMars(Names.GALACTICRAFT_MARS), GalactiGreg(Names.GALACTI_GREG), GalaxySpace(Names.GALAXY_SPACE), Gendustry(Names.GENDUSTRY), Genetics(Names.GENETICS), GoodGenerator(Names.GOOD_GENERATOR), GraviSuite(Names.GRAVI_SUITE), GregTech(Names.GREG_TECH), GTNHIntergalactic(Names.G_T_N_H_INTERGALACTIC), GTNHLanthanides(Names.G_T_N_H_LANTHANIDES), GTPlusPlus(Names.G_T_PLUS_PLUS), GTPlusPlusEverglades(Names.G_T_PLUS_PLUS_EVERGLADES), HardcoreEnderExpansion(Names.HARDCORE_ENDER_EXPANSION), HodgePodge(Names.HODGE_PODGE), HoloInventory(Names.HOLO_INVENTORY), IC2CropPlugin(Names.I_C2_CROP_PLUGIN), IC2NuclearControl(Names.I_C2_NUCLEAR_CONTROL), IguanaTweaksTinkerConstruct(Names.IGUANA_TWEAKS_TINKER_CONSTRUCT), IndustrialCraft2(Names.INDUSTRIAL_CRAFT2), IronChests(Names.IRON_CHESTS), IronTanks(Names.IRON_TANKS), JABBA(Names.J_A_B_B_A), KekzTech(Names.KEKZ_TECH), MagicBees(Names.MAGIC_BEES), MalisisDoors(Names.MALISIS_DOORS), Mantle(Names.MANTLE), MineAndBladeBattleGear2(Names.MINE_AND_BLADE_BATTLE_GEAR2), Minecraft(Names.MINECRAFT), Natura(Names.NATURA), NaturesCompass(Names.NATURES_COMPASS), NEICustomDiagrams(Names.N_E_I_CUSTOM_DIAGRAMS), NEIOrePlugin(Names.N_E_I_ORE_PLUGIN), NewHorizonsCoreMod(Names.NEW_HORIZONS_CORE_MOD), NotEnoughItems(Names.NOT_ENOUGH_ITEMS), OpenBlocks(Names.OPEN_BLOCKS), OpenComputers(Names.OPEN_COMPUTERS), OpenGlasses(Names.OPEN_GLASSES), OpenModularTurrets(Names.OPEN_MODULAR_TURRETS), OpenPrinters(Names.OPEN_PRINTERS), OpenSecurity(Names.OPEN_SECURITY), PamsHarvestCraft(Names.PAMS_HARVEST_CRAFT), PamsHarvestTheNether(Names.PAMS_HARVEST_THE_NETHER), PlayerAPI(Names.PLAYER_API), ProjectRedCore(Names.PROJECT_RED_CORE), ProjectRedIllumination(Names.PROJECT_RED_ILLUMINATION), Railcraft(Names.RAILCRAFT), RandomThings(Names.RANDOM_THINGS), RemoteIO(Names.REMOTE_IO), RWG(Names.RWG), SGCraft(Names.S_G_CRAFT), SleepingBags(Names.SLEEPING_BAGS), SpiceOfLife(Names.SPICE_OF_LIFE), StevesCarts2(Names.STEVES_CARTS2), SuperSolarPanels(Names.SUPER_SOLAR_PANELS), TaintedMagic(Names.TAINTED_MAGIC), TecTech(Names.TECTECH), Thaumcraft(Names.THAUMCRAFT), ThaumicBases(Names.THAUMIC_BASES), ThaumicEnergistics(Names.THAUMIC_ENERGISTICS), ThaumicHorizons(Names.THAUMIC_HORIZONS), ThaumicMachina(Names.THAUMIC_MACHINA), ThaumicTinkerer(Names.THAUMIC_TINKERER), TinkerConstruct(Names.TINKER_CONSTRUCT), TinkersGregworks(Names.TINKERS_GREGWORKS), Translocator(Names.TRANSLOCATOR), TravellersGear(Names.TRAVELLERS_GEAR), TwilightForest(Names.TWILIGHT_FOREST), UniversalSingularities(Names.UNIVERSAL_SINGULARITIES), Waila(Names.WAILA), WarpTheory(Names.WARP_THEORY), Witchery(Names.WITCHERY), WitchingGadgets(Names.WITCHING_GADGETS), ZTones(Names.Z_TONES), // Do we keep compat of those? ArsMagica2(Names.ARS_MAGICA2), GanysSurface(Names.GANYS_SURFACE), IndustrialCraft2Classic(Names.INDUSTRIAL_CRAFT2_CLASSIC), MagicalCrops(Names.MAGICAL_CROPS), Metallurgy(Names.METALLURGY), RotaryCraft(Names.ROTARY_CRAFT), ThermalExpansion(Names.THERMAL_EXPANSION), ThermalFondation(Names.THERMAL_FONDATION), UndergroundBiomes(Names.UNDERGROUND_BIOMES); public static class Names { public static final String ADVANCED_SOLAR_PANEL = "AdvancedSolarPanel"; public static final String ADVENTURE_BACKPACK = "adventurebackpack"; public static final String A_E2_FLUID_CRAFT = "ae2fc"; public static final String A_F_S_U = "AFSU"; public static final String APPLE_CORE = "AppleCore"; public static final String APPLIED_ENERGISTICS2 = "appliedenergistics2"; public static final String ARCHITECTURE_CRAFT = "ArchitectureCraft"; public static final String AROMA1997_CORE = "Aroma1997Core"; public static final String AVARITIA = "Avaritia"; public static final String AVARITIA_ADDONS = "avaritiaddons"; public static final String BACKPACK = "Backpack"; public static final String BART_WORKS = "bartworks"; public static final String BAUBLES = "Baubles"; public static final String BETTER_LOADING_SCREEN = "betterloadingscreen"; public static final String BETTER_QUESTING = "betterquesting"; public static final String BIBLIO_CRAFT = "BiblioCraft"; public static final String BIBLIO_WOODS_BO_P_EDITION = "BiblioWoodsBoP"; public static final String BIBLIO_WOODS_FORESTRY_EDITION = "BiblioWoodsForestry"; public static final String BIBLIO_WOODS_NATURA_EDITION = "BiblioWoodsNatura"; public static final String BIOMES_O_PLENTY = "BiomesOPlenty"; public static final String BLOOD_ARSENAL = "BloodArsenal"; public static final String BLOOD_MAGIC = "AWWayofTime"; public static final String BOTANIA = "Botania"; public static final String BOTANY = "Botany"; public static final String BUILD_CRAFT_CORE = "BuildCraft|Core"; public static final String BUILD_CRAFT_FACTORY = "BuildCraft|Factory"; public static final String BUILD_CRAFT_SILICON = "BuildCraft|Silicon"; public static final String BUILD_CRAFT_TRANSPORT = "BuildCraft|Transport"; public static final String CHISEL = "chisel"; public static final String C_O_F_H_CORE = "CoFHCore"; public static final String COMPUTRONICS = "computronics"; public static final String CRAFT_TWEAKER = "MineTweaker3"; public static final String CROP_LOAD_CORE = "croploadcore"; public static final String CROPS_PLUS_PLUS = "berriespp"; public static final String DRACONIC_EVOLUTION = "DraconicEvolution"; public static final String ELECTRO_MAGIC_TOOLS = "EMT"; public static final String ENDER_I_O = "EnderIO"; public static final String ENDER_STORAGE = "EnderStorage"; public static final String ENDER_ZOO = "EnderZoo"; public static final String ETERNAL_SINGULARITY = "eternalsingularity"; public static final String EXTRA_BEES = "ExtraBees"; public static final String EXTRA_CELLS2 = "extracells"; public static final String EXTRA_TREES = "ExtraTrees"; public static final String EXTRA_UTILITIES = "ExtraUtilities"; public static final String FLOOD_LIGHTS = "FloodLights"; public static final String FORBIDDEN_MAGIC = "ForbiddenMagic"; public static final String FORESTRY = "Forestry"; public static final String FORGE_MICROBLOCKS = "ForgeMicroblock"; public static final String FORGE_RELOCATION = "ForgeRelocation"; public static final String GADOMANCY = "gadomancy"; public static final String GALACTICRAFT_CORE = "GalacticraftCore"; public static final String GALACTICRAFT_MARS = "GalacticraftMars"; public static final String GALACTI_GREG = "galacticgreg"; public static final String GALAXY_SPACE = "GalaxySpace"; public static final String GENDUSTRY = "gendustry"; public static final String GENETICS = "Genetics"; public static final String GOOD_GENERATOR = "GoodGenerator"; public static final String GRAVI_SUITE = "GraviSuite"; public static final String GREG_TECH = "gregtech"; public static final String G_T_N_H_INTERGALACTIC = "gtnhintergalactic"; public static final String G_T_N_H_LANTHANIDES = "gtnhlanth"; public static final String G_T_PLUS_PLUS = "miscutils"; public static final String G_T_PLUS_PLUS_EVERGLADES = "ToxicEverglades"; public static final String HARDCORE_ENDER_EXPANSION = "HardcoreEnderExpansion"; public static final String HODGE_PODGE = "hodgepodge"; public static final String HOLO_INVENTORY = "holoinventory"; public static final String I_C2_CROP_PLUGIN = "Ic2Nei"; public static final String I_C2_NUCLEAR_CONTROL = "IC2NuclearControl"; public static final String IGUANA_TWEAKS_TINKER_CONSTRUCT = "IguanaTweaksTConstruct"; public static final String INDUSTRIAL_CRAFT2 = "IC2"; public static final String IRON_CHESTS = "IronChest"; public static final String IRON_TANKS = "irontank"; public static final String J_A_B_B_A = "JABBA"; public static final String KEKZ_TECH = "kekztech"; public static final String MAGIC_BEES = "MagicBees"; public static final String MALISIS_DOORS = "malisisdoors"; public static final String MANTLE = "Mantle"; public static final String MINE_AND_BLADE_BATTLE_GEAR2 = "battlegear2"; public static final String MINECRAFT = "minecraft"; public static final String NATURA = "Natura"; public static final String NATURES_COMPASS = "naturescompass"; public static final String N_E_I_CUSTOM_DIAGRAMS = "neicustomdiagram"; public static final String N_E_I_ORE_PLUGIN = "gtneioreplugin"; public static final String NEW_HORIZONS_CORE_MOD = "dreamcraft"; public static final String NOT_ENOUGH_ITEMS = "NotEnoughItems"; public static final String OPEN_BLOCKS = "OpenBlocks"; public static final String OPEN_COMPUTERS = "OpenComputers"; public static final String OPEN_GLASSES = "openglasses"; public static final String OPEN_MODULAR_TURRETS = "openmodularturrets"; public static final String OPEN_PRINTERS = "openprinter"; public static final String OPEN_SECURITY = "opensecurity"; public static final String PAMS_HARVEST_CRAFT = "harvestcraft"; public static final String PAMS_HARVEST_THE_NETHER = "harvestthenether"; public static final String PLAYER_API = "PlayerAPI"; public static final String PROJECT_RED_CORE = "ProjRed|Core"; public static final String PROJECT_RED_ILLUMINATION = "ProjRed|Illumination"; public static final String RAILCRAFT = "Railcraft"; public static final String RANDOM_THINGS = "RandomThings"; public static final String REMOTE_IO = "RIO"; public static final String RWG = "RWG"; public static final String S_G_CRAFT = "SGCraft"; public static final String SLEEPING_BAGS = "sleepingbag"; public static final String SPICE_OF_LIFE = "SpiceOfLife"; public static final String STEVES_CARTS2 = "StevesCarts"; public static final String SUPER_SOLAR_PANELS = "supersolarpanel"; public static final String TAINTED_MAGIC = "TaintedMagic"; public static final String TECTECH = "tectech"; public static final String THAUMCRAFT = "Thaumcraft"; public static final String THAUMIC_BASES = "thaumicbases"; public static final String THAUMIC_ENERGISTICS = "thaumicenergistics"; public static final String THAUMIC_HORIZONS = "ThaumicHorizons"; public static final String THAUMIC_MACHINA = "ThaumicMachina"; public static final String THAUMIC_TINKERER = "ThaumicTinkerer"; public static final String TINKER_CONSTRUCT = "TConstruct"; public static final String TINKERS_GREGWORKS = "TGregworks"; public static final String TRANSLOCATOR = "Translocator"; public static final String TRAVELLERS_GEAR = "TravellersGear"; public static final String TWILIGHT_FOREST = "TwilightForest"; public static final String UNIVERSAL_SINGULARITIES = "universalsingularities"; public static final String WAILA = "Waila"; public static final String WARP_THEORY = "WarpTheory"; public static final String WITCHERY = "witchery"; public static final String WITCHING_GADGETS = "WitchingGadgets"; public static final String Z_TONES = "Ztones"; // Do we keep compat of those mods? public static final String ARS_MAGICA2 = "arsmagica2"; public static final String GANYS_SURFACE = "ganyssurface"; public static final String INDUSTRIAL_CRAFT2_CLASSIC = "IC2-Classic-Spmod"; public static final String MAGICAL_CROPS = "magicalcrops"; public static final String METALLURGY = "Metallurgy"; public static final String ROTARY_CRAFT = "RotaryCraft"; public static final String THERMAL_EXPANSION = "ThermalExpansion"; public static final String THERMAL_FONDATION = "ThermalFoundation"; public static final String UNDERGROUND_BIOMES = "UndergroundBiomes"; } public final String ID; public final String resourceDomain; private Boolean modLoaded; Mods(String ID) { this.ID = ID; this.resourceDomain = ID.toLowerCase(Locale.ENGLISH); } public boolean isModLoaded() { if (this.modLoaded == null) { this.modLoaded = Loader.isModLoaded(ID); } return this.modLoaded; } public String getResourcePath(String... path) { return this.getResourceLocation(path) .toString(); } public ResourceLocation getResourceLocation(String... path) { return new ResourceLocation(this.resourceDomain, String.join("/", path)); } }