/* * This file is part of Applied Energistics 2. * Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved. * * Applied Energistics 2 is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Applied Energistics 2 is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. */ package appeng.core.features; public enum AEFeature { // stuff that has no reason for ever being turned off, or that // is just flat out required by tons of // important stuff. CORE( "Core", null ) { @Override public boolean isVisible() { return false; } }, CERTUS_QUARTZ_WORLD_GEN( "CertusQuartzWorldGen", Constants.CATEGORY_WORLD ), METEORITE_WORLD_GEN( "MeteoriteWorldGen", Constants.CATEGORY_WORLD ), DECORATIVE_LIGHTS( "DecorativeLights", Constants.CATEGORY_WORLD ), DECORATIVE_QUARTZ_BLOCKS( "DecorativeQuartzBlocks", Constants.CATEGORY_WORLD ), SKY_STONE_CHESTS( "SkyStoneChests", Constants.CATEGORY_WORLD ), SPAWN_PRESSES_IN_METEORITES( "SpawnPressesInMeteorites", Constants.CATEGORY_WORLD ), GRIND_STONE( "GrindStone", Constants.CATEGORY_WORLD ), FLOUR( "Flour", Constants.CATEGORY_WORLD ), INSCRIBER( "Inscriber", Constants.CATEGORY_WORLD ), CHARGER( "Charger", Constants.CATEGORY_WORLD ), CRYSTAL_GROWTH_ACCELERATOR( "CrystalGrowthAccelerator", Constants.CATEGORY_WORLD ), CHEST_LOOT( "ChestLoot", Constants.CATEGORY_WORLD ), VILLAGER_TRADING( "VillagerTrading", Constants.CATEGORY_WORLD ), TINY_TNT( "TinyTNT", Constants.CATEGORY_WORLD ), CERTUS_ORE( "CertusOre", Constants.CATEGORY_WORLD ), CHARGED_CERTUS_ORE( "ChargedCertusOre", Constants.CATEGORY_WORLD ), POWERED_TOOLS( "PoweredTools", Constants.CATEGORY_TOOLS_CLASSIFICATIONS ), CERTUS_QUARTZ_TOOLS( "CertusQuartzTools", Constants.CATEGORY_TOOLS_CLASSIFICATIONS ), NETHER_QUARTZ_TOOLS( "NetherQuartzTools", Constants.CATEGORY_TOOLS_CLASSIFICATIONS ), QUARTZ_HOE( "QuartzHoe", Constants.CATEGORY_TOOLS ), QUARTZ_SPADE( "QuartzSpade", Constants.CATEGORY_TOOLS ), QUARTZ_SWORD( "QuartzSword", Constants.CATEGORY_TOOLS ), QUARTZ_PICKAXE( "QuartzPickaxe", Constants.CATEGORY_TOOLS ), QUARTZ_AXE( "QuartzAxe", Constants.CATEGORY_TOOLS ), QUARTZ_KNIFE( "QuartzKnife", Constants.CATEGORY_TOOLS ), QUARTZ_WRENCH( "QuartzWrench", Constants.CATEGORY_TOOLS ), CHARGED_STAFF( "ChargedStaff", Constants.CATEGORY_TOOLS ), ENTROPY_MANIPULATOR( "EntropyManipulator", Constants.CATEGORY_TOOLS ), MATTER_CANNON( "MatterCannon", Constants.CATEGORY_TOOLS ), WIRELESS_ACCESS_TERMINAL( "WirelessAccessTerminal", Constants.CATEGORY_TOOLS ), COLOR_APPLICATOR( "ColorApplicator", Constants.CATEGORY_TOOLS ), METEORITE_COMPASS( "MeteoriteCompass", Constants.CATEGORY_TOOLS ), POWER_GEN( "PowerGen", Constants.CATEGORY_NETWORK_FEATURES ), SECURITY( "Security", Constants.CATEGORY_NETWORK_FEATURES ), SPATIAL_IO( "SpatialIO", Constants.CATEGORY_NETWORK_FEATURES ), QUANTUM_NETWORK_BRIDGE( "QuantumNetworkBridge", Constants.CATEGORY_NETWORK_FEATURES ), CHANNELS( "Channels", Constants.CATEGORY_NETWORK_FEATURES ), INTERFACE( "Interface", Constants.CATEGORY_NETWORK_BUSES ), LEVEL_EMITTER( "LevelEmitter", Constants.CATEGORY_NETWORK_BUSES ), CRAFTING_TERMINAL( "CraftingTerminal", Constants.CATEGORY_NETWORK_BUSES ), TERMINAL( "Terminal", Constants.CATEGORY_NETWORK_BUSES ), STORAGE_MONITOR( "StorageMonitor", Constants.CATEGORY_NETWORK_BUSES ), P2P_TUNNEL( "P2PTunnel", Constants.CATEGORY_NETWORK_BUSES ), FORMATION_PLANE( "FormationPlane", Constants.CATEGORY_NETWORK_BUSES ), ANNIHILATION_PLANE( "AnnihilationPlane", Constants.CATEGORY_NETWORK_BUSES ), IDENTITY_ANNIHILATION_PLANE( "IdentityAnnihilationPlane", Constants.CATEGORY_NETWORK_BUSES ), IMPORT_BUS( "ImportBus", Constants.CATEGORY_NETWORK_BUSES ), EXPORT_BUS( "ExportBus", Constants.CATEGORY_NETWORK_BUSES ), STORAGE_BUS( "StorageBus", Constants.CATEGORY_NETWORK_BUSES ), PART_CONVERSION_MONITOR( "PartConversionMonitor", Constants.CATEGORY_NETWORK_BUSES ), TOGGLE_BUS( "ToggleBus", Constants.CATEGORY_NETWORK_BUSES ), PANELS( "Panels", Constants.CATEGORY_NETWORK_BUSES ), QUARTZ_FIBER( "QuartzFiber", Constants.CATEGORY_NETWORK_BUSES ), CABLE_ANCHOR( "CableAnchor", Constants.CATEGORY_NETWORK_BUSES ), PORTABLE_CELL( "PortableCell", Constants.CATEGORY_PORTABLE_CELL ), STORAGE_CELLS( "StorageCells", Constants.CATEGORY_STORAGE ), ME_CHEST( "MEChest", Constants.CATEGORY_STORAGE ), ME_DRIVE( "MEDrive", Constants.CATEGORY_STORAGE ), IO_PORT( "IOPort", Constants.CATEGORY_STORAGE ), CONDENSER( "Condenser", Constants.CATEGORY_STORAGE ), NETWORK_TOOL( "NetworkTool", Constants.CATEGORY_NETWORK_TOOL ), MEMORY_CARD( "MemoryCard", Constants.CATEGORY_NETWORK_TOOL ), GLASS_CABLES( "GlassCables", Constants.CATEGORY_CABLES ), COVERED_CABLES( "CoveredCables", Constants.CATEGORY_CABLES ), SMART_CABLES( "SmartCables", Constants.CATEGORY_CABLES ), ENERGY_CELLS( "EnergyCells", Constants.CATEGORY_ENERGY ), ENERGY_ACCEPTOR( "EnergyAcceptor", Constants.CATEGORY_ENERGY ), DENSE_ENERGY_CELLS( "DenseEnergyCells", Constants.CATEGORY_HIGHER_CAPACITY ), DENSE_CABLES( "DenseCables", Constants.CATEGORY_HIGHER_CAPACITY ), P2P_TUNNEL_RF( "P2PTunnelRF", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_ME( "P2PTunnelME", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_ITEMS( "P2PTunnelItems", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_REDSTONE( "P2PTunnelRedstone", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_EU( "P2PTunnelEU", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_FLUIDS( "P2PTunnelFluids", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_LIGHT( "P2PTunnelLight", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_OPEN_COMPUTERS( "P2PTunnelOpenComputers", Constants.CATEGORY_P2P_TUNNELS ), P2P_TUNNEL_PRESSURE( "P2PTunnelPressure", Constants.CATEGORY_P2P_TUNNELS ), MASS_CANNON_BLOCK_DAMAGE( "MassCannonBlockDamage", Constants.CATEGORY_BLOCK_FEATURES ), TINY_TNT_BLOCK_DAMAGE( "TinyTNTBlockDamage", Constants.CATEGORY_BLOCK_FEATURES ), FACADES( "Facades", Constants.CATEGORY_FACADES ), UNSUPPORTED_DEVELOPER_TOOLS( "UnsupportedDeveloperTools", Constants.CATEGORY_MISC, false ), CREATIVE( "Creative", Constants.CATEGORY_MISC ), GRINDER_LOGGING( "GrinderLogging", Constants.CATEGORY_MISC, false ), LOGGING( "Logging", Constants.CATEGORY_MISC ), INTEGRATION_LOGGING( "IntegrationLogging", Constants.CATEGORY_MISC, false ), WEBSITE_RECIPES( "WebsiteRecipes", Constants.CATEGORY_MISC, false ), LOG_SECURITY_AUDITS( "LogSecurityAudits", Constants.CATEGORY_MISC, false ), ACHIEVEMENTS( "Achievements", Constants.CATEGORY_MISC ), UPDATE_LOGGING( "UpdateLogging", Constants.CATEGORY_MISC, false ), PACKET_LOGGING( "PacketLogging", Constants.CATEGORY_MISC, false ), CRAFTING_LOG( "CraftingLog", Constants.CATEGORY_MISC, false ), LIGHT_DETECTOR( "LightDetector", Constants.CATEGORY_MISC ), DEBUG_LOGGING( "DebugLogging", Constants.CATEGORY_MISC, false ), ENABLE_FACADE_CRAFTING( "EnableFacadeCrafting", Constants.CATEGORY_CRAFTING ), IN_WORLD_SINGULARITY( "InWorldSingularity", Constants.CATEGORY_CRAFTING ), IN_WORLD_FLUIX( "InWorldFluix", Constants.CATEGORY_CRAFTING ), IN_WORLD_PURIFICATION( "InWorldPurification", Constants.CATEGORY_CRAFTING ), INTERFACE_TERMINAL( "InterfaceTerminal", Constants.CATEGORY_CRAFTING ), ENABLE_DISASSEMBLY_CRAFTING( "EnableDisassemblyCrafting", Constants.CATEGORY_CRAFTING ), ALPHA_PASS( "AlphaPass", Constants.CATEGORY_RENDERING ), PAINT_BALLS( "PaintBalls", Constants.CATEGORY_TOOLS ), MOLECULAR_ASSEMBLER( "MolecularAssembler", Constants.CATEGORY_CRAFTING_FEATURES ), PATTERNS( "Patterns", Constants.CATEGORY_CRAFTING_FEATURES ), CRAFTING_CPU( "CraftingCPU", Constants.CATEGORY_CRAFTING_FEATURES ), BASIC_CARDS( "BasicCards", Constants.CATEGORY_UPGRADES ), ADVANCED_CARDS( "AdvancedCards", Constants.CATEGORY_UPGRADES ), VIEW_CELL( "ViewCell", Constants.CATEGORY_UPGRADES ), PROCESSORS( "Processors", Constants.CATEGORY_MATERIALS ), PRINTED_CIRCUITS( "PrintedCircuits", Constants.CATEGORY_MATERIALS ), PRESSES( "Presses", Constants.CATEGORY_MATERIALS ), CRYSTAL_SEEDS( "CrystalSeeds", Constants.CATEGORY_MATERIALS ), PURE_CRYSTALS( "PureCrystals", Constants.CATEGORY_MATERIALS ), CERTUS( "Certus", Constants.CATEGORY_MATERIALS ), FLUIX( "Fluix", Constants.CATEGORY_MATERIALS ), SILICON( "Silicon", Constants.CATEGORY_MATERIALS ), DUSTS( "Dusts", Constants.CATEGORY_MATERIALS ), NUGGETS( "Nuggets", Constants.CATEGORY_MATERIALS ), MATTER_BALL( "MatterBall", Constants.CATEGORY_MATERIALS ), CORES( "Cores", Constants.CATEGORY_MATERIALS ), CHUNK_LOGGER_TRACE( "ChunkLoggerTrace", Constants.CATEGORY_COMMANDS, false ); private final String key; private final String category; private final boolean enabled; AEFeature( final String key, final String cat ) { this( key, cat, true ); } AEFeature( final String key, final String cat, final boolean enabled ) { this.key = key; this.category = cat; this.enabled = enabled; } /** * override to set visibility * * @return default true */ public boolean isVisible() { return true; } public String key() { return key; } public String category() { return category; } public boolean isEnabled() { return enabled; } private enum Constants { ; private static final String CATEGORY_MISC = "Misc"; private static final String CATEGORY_CRAFTING = "Crafting"; private static final String CATEGORY_WORLD = "World"; private static final String CATEGORY_TOOLS = "Tools"; private static final String CATEGORY_TOOLS_CLASSIFICATIONS = "ToolsClassifications"; private static final String CATEGORY_NETWORK_BUSES = "NetworkBuses"; private static final String CATEGORY_P2P_TUNNELS = "P2PTunnels"; private static final String CATEGORY_BLOCK_FEATURES = "BlockFeatures"; private static final String CATEGORY_CRAFTING_FEATURES = "CraftingFeatures"; private static final String CATEGORY_STORAGE = "Storage"; private static final String CATEGORY_CABLES = "Cables"; private static final String CATEGORY_HIGHER_CAPACITY = "HigherCapacity"; private static final String CATEGORY_NETWORK_FEATURES = "NetworkFeatures"; private static final String CATEGORY_COMMANDS = "Commands"; private static final String CATEGORY_RENDERING = "Rendering"; private static final String CATEGORY_FACADES = "Facades"; private static final String CATEGORY_NETWORK_TOOL = "NetworkTool"; private static final String CATEGORY_PORTABLE_CELL = "PortableCell"; private static final String CATEGORY_ENERGY = "Energy"; private static final String CATEGORY_UPGRADES = "Upgrades"; private static final String CATEGORY_MATERIALS = "Materials"; } }