package gregtech.api.enums;

import static gregtech.api.enums.Mods.GregTech;

import java.util.HashMap;
import java.util.Map;

import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;

import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.ITexture;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Utility;

public class Textures {

    public enum BlockIcons implements IIconContainer, Runnable {

        // ADDED
        MACHINE_UEV_SIDE,
        MACHINE_UIV_SIDE,

        MACHINE_UMV_SIDE,
        MACHINE_UXV_SIDE,

        MACHINE_MAXV_SIDE,

        MACHINE_UEV_TOP,
        MACHINE_UIV_TOP,

        MACHINE_UMV_TOP,
        MACHINE_UXV_TOP,

        MACHINE_MAXV_TOP,

        MACHINE_UEV_BOTTOM,
        MACHINE_UIV_BOTTOM,

        MACHINE_UMV_BOTTOM,
        MACHINE_UXV_BOTTOM,

        MACHINE_MAXV_BOTTOM,

        OVERLAY_SCHEST,
        OVERLAY_SCHEST_GLOW,
        OVERLAY_STANK,
        OVERLAY_STANK_GLOW,

        OVERLAY_PIPELINE_FLUID_BACK,
        OVERLAY_PIPELINE_FLUID_FRONT,
        OVERLAY_PIPELINE_FLUID_SIDE_LEFT_RIGHT,
        OVERLAY_PIPELINE_FLUID_SIDE_LEFT_RIGHT_GLOW,
        OVERLAY_PIPELINE_FLUID_SIDE_UP_DOWN,
        OVERLAY_PIPELINE_FLUID_SIDE_UP_DOWN_GLOW,

        OVERLAY_PIPELINE_ITEM_BACK,
        OVERLAY_PIPELINE_ITEM_FRONT,
        OVERLAY_PIPELINE_ITEM_SIDE_LEFT_RIGHT,
        OVERLAY_PIPELINE_ITEM_SIDE_LEFT_RIGHT_GLOW,
        OVERLAY_PIPELINE_ITEM_SIDE_UP_DOWN,
        OVERLAY_PIPELINE_ITEM_SIDE_UP_DOWN_GLOW,

        LONG_DISTANCE_PIPE_FLUID,
        LONG_DISTANCE_PIPE_ITEM,

        HIDDEN_FACE,

        MACHINE_CASING_TANK_1,
        MACHINE_CASING_TANK_2,
        MACHINE_CASING_TANK_3,
        MACHINE_CASING_TANK_4,

        MACHINE_CASING_TANK_5,
        MACHINE_CASING_TANK_6,
        MACHINE_CASING_TANK_7,
        MACHINE_CASING_TANK_8,

        MACHINE_CASING_TANK_9,
        MACHINE_CASING_TANK_10,
        MACHINE_CASING_TANK_11,
        MACHINE_CASING_TANK_12,

        MACHINE_CASING_TANK_13,
        MACHINE_CASING_TANK_14,
        MACHINE_CASING_TANK_0,

        MACHINE_CASING_ITEM_PIPE_TIN,
        MACHINE_CASING_ITEM_PIPE_BRASS,
        MACHINE_CASING_ITEM_PIPE_ELECTRUM,
        MACHINE_CASING_ITEM_PIPE_PLATINUM,
        MACHINE_CASING_ITEM_PIPE_OSMIUM,
        MACHINE_CASING_ITEM_PIPE_QUANTIUM,
        MACHINE_CASING_ITEM_PIPE_FLUXED_ELECTRUM,
        MACHINE_CASING_ITEM_PIPE_BLACK_PLUTONIUM,

        BLOCK_STEELEAF,
        BLOCK_ICHORIUM,
        BLOCK_FIRESTONE,
        BLOCK_SHADOW,

        OVERLAY_ENERGY_IN_POWER,
        OVERLAY_ENERGY_OUT_POWER,
        OVERLAY_AUTOMAINTENANCE,
        OVERLAY_AUTOMAINTENANCE_GLOW,
        OVERLAY_AUTOMAINTENANCE_IDLE,
        OVERLAY_AUTOMAINTENANCE_IDLE_GLOW,

        //
        VOID // The Empty Texture
        ,
        RENDERING_ERROR,
        PIPE_RESTRICTOR,
        INSULATION_FULL,
        INSULATION_TINY,
        INSULATION_SMALL,
        INSULATION_MEDIUM,
        INSULATION_MEDIUM_PLUS,
        INSULATION_LARGE,
        INSULATION_HUGE,
        CFOAM_FRESH,

        CFOAM_HARDENED,
        SOLARPANEL,
        SOLARPANEL_8V,
        SOLARPANEL_LV,
        SOLARPANEL_MV,
        SOLARPANEL_HV,
        SOLARPANEL_EV,
        SOLARPANEL_IV,
        SOLARPANEL_LuV,
        SOLARPANEL_ZPM,

        SOLARPANEL_UV,
        SOLARPANEL_UHV,
        SOLARPANEL_UEV,
        SOLARPANEL_UIV,
        VENT_NORMAL,
        VENT_ADVANCED,
        COVER_WOOD_PLATE,
        ARROW_UP,
        ARROW_UP_GLOW,
        ARROW_DOWN,
        ARROW_DOWN_GLOW,
        ARROW_LEFT,
        ARROW_LEFT_GLOW,
        ARROW_RIGHT,
        ARROW_RIGHT_GLOW,
        AUTOMATION_FILTER,
        AUTOMATION_FILTER_GLOW,
        AUTOMATION_TYPEFILTER,
        AUTOMATION_TYPEFILTER_GLOW,
        AUTOMATION_RECIPEFILTER,
        AUTOMATION_RECIPEFILTER_GLOW,

        AUTOMATION_CHESTBUFFER,
        AUTOMATION_CHESTBUFFER_GLOW,
        AUTOMATION_SUPERBUFFER,
        AUTOMATION_SUPERBUFFER_GLOW,
        AUTOMATION_REGULATOR,
        AUTOMATION_REGULATOR_GLOW,
        AUTOMATION_ITEMDISTRIBUTOR,
        AUTOMATION_ITEMDISTRIBUTOR_GLOW,
        CONCRETE_LIGHT_STONE,
        CONCRETE_LIGHT_COBBLE,
        CONCRETE_LIGHT_COBBLE_MOSSY,

        CONCRETE_LIGHT_BRICKS,
        CONCRETE_LIGHT_BRICKS_CRACKED,
        CONCRETE_LIGHT_BRICKS_MOSSY,
        CONCRETE_LIGHT_BRICKS_CHISELED,
        CONCRETE_LIGHT_SMOOTH,
        CONCRETE_DARK_STONE,

        CONCRETE_DARK_COBBLE,
        CONCRETE_DARK_COBBLE_MOSSY,
        CONCRETE_DARK_BRICKS,
        CONCRETE_DARK_BRICKS_CRACKED,
        CONCRETE_DARK_BRICKS_MOSSY,
        CONCRETE_DARK_BRICKS_CHISELED,

        CONCRETE_DARK_SMOOTH,
        GRANITE_BLACK_STONE,
        GRANITE_BLACK_COBBLE,
        GRANITE_BLACK_COBBLE_MOSSY,
        GRANITE_BLACK_BRICKS,
        GRANITE_BLACK_BRICKS_CRACKED,
        GRANITE_BLACK_BRICKS_MOSSY,

        GRANITE_BLACK_BRICKS_CHISELED,
        GRANITE_BLACK_SMOOTH,
        GRANITE_RED_STONE,
        GRANITE_RED_COBBLE,
        GRANITE_RED_COBBLE_MOSSY,
        GRANITE_RED_BRICKS,
        GRANITE_RED_BRICKS_CRACKED,

        GRANITE_RED_BRICKS_MOSSY,
        GRANITE_RED_BRICKS_CHISELED,
        GRANITE_RED_SMOOTH,
        MACHINE_BRONZEBRICKS_TOP,
        MACHINE_BRONZEBRICKS_SIDE,
        MACHINE_BRONZEBRICKS_BOTTOM,

        MACHINE_STEELBRICKS_TOP,
        MACHINE_STEELBRICKS_SIDE,
        MACHINE_STEELBRICKS_BOTTOM,
        MACHINE_BRONZE_TOP,
        MACHINE_BRONZE_SIDE,
        MACHINE_BRONZE_BOTTOM,
        MACHINE_STEEL_TOP,

        MACHINE_STEEL_SIDE,
        MACHINE_STEEL_BOTTOM,
        MACHINE_8V_TOP,
        MACHINE_8V_SIDE,
        MACHINE_8V_BOTTOM,
        MACHINE_LV_TOP,
        MACHINE_LV_SIDE,
        MACHINE_LV_BOTTOM,
        MACHINE_MV_TOP,

        MACHINE_MV_SIDE,
        MACHINE_MV_BOTTOM,
        MACHINE_HV_TOP,
        MACHINE_HV_SIDE,
        MACHINE_HV_BOTTOM,
        MACHINE_EV_TOP,
        MACHINE_EV_SIDE,
        MACHINE_EV_BOTTOM,
        MACHINE_IV_TOP,

        MACHINE_IV_SIDE,
        MACHINE_IV_BOTTOM,
        MACHINE_LuV_TOP,
        MACHINE_LuV_SIDE,
        MACHINE_LuV_BOTTOM,
        MACHINE_ZPM_TOP,
        MACHINE_ZPM_SIDE,
        MACHINE_ZPM_BOTTOM,
        MACHINE_UV_TOP,

        MACHINE_UV_SIDE,
        MACHINE_UV_BOTTOM,
        MACHINE_MAX_TOP,
        MACHINE_MAX_SIDE,
        MACHINE_MAX_BOTTOM,
        MACHINE_BRONZEPLATEDBRICKS,
        MACHINE_HEATPROOFCASING,
        MACHINE_DIM_TRANS_CASING,
        MACHINE_DIM_INJECTOR,
        MACHINE_DIM_BRIDGE,
        MACHINE_COIL_SUPERCONDUCTOR,

        MACHINE_BRONZEBLASTFURNACE,
        MACHINE_BRONZEBLASTFURNACE_ACTIVE,
        MACHINE_BRONZEBLASTFURNACE_ACTIVE_GLOW,
        MACHINE_CASING_ROBUST_TUNGSTENSTEEL,
        MACHINE_CASING_CLEAN_STAINLESSSTEEL,
        MACHINE_CASING_STABLE_TITANIUM,
        MACHINE_CASING_MINING_OSMIRIDIUM,
        MACHINE_CASING_MINING_NEUTRONIUM,
        MACHINE_CASING_MINING_BLACKPLUTONIUM,
        MACHINE_CASING_RHODIUM_PALLADIUM,
        MACHINE_CASING_IRIDIUM,
        MACHINE_CASING_MAGICAL,
        MACHINE_CASING_RADIANT_NAQUADAH_ALLOY,

        MACHINE_CASING_FIREBOX_TITANIUM,
        MACHINE_CASING_FUSION_COIL,
        MACHINE_CASING_FUSION,
        MACHINE_CASING_FUSION_GLASS,
        MACHINE_CASING_FUSION_GLASS_YELLOW,
        TEXTURE_METAL_PANEL_E,
        TEXTURE_METAL_PANEL_E_A,

        MACHINE_CASING_FUSION_GLASS_YELLOW_GLOW,
        MACHINE_CASING_FUSION_2,

        MACHINE_CASING_MAGIC,
        MACHINE_CASING_MAGIC_GLOW,
        MACHINE_CASING_MAGIC_ACTIVE,
        MACHINE_CASING_MAGIC_ACTIVE_GLOW,
        MACHINE_CASING_MAGIC_FRONT,
        MACHINE_CASING_MAGIC_FRONT_GLOW,
        MACHINE_CASING_MAGIC_FRONT_ACTIVE,
        MACHINE_CASING_MAGIC_FRONT_ACTIVE_GLOW,
        MACHINE_CASING_DRAGONEGG,
        MACHINE_CASING_DRAGONEGG_GLOW,
        MACHINE_CASING_SOLID_STEEL,

        MACHINE_CASING_FROST_PROOF,
        MACHINE_CASING_PUMP,
        MACHINE_CASING_MOTOR,
        MACHINE_CASING_PIPE_BRONZE,
        MACHINE_CASING_PIPE_STEEL,
        MACHINE_CASING_PIPE_TITANIUM,
        MACHINE_CASING_PIPE_TUNGSTENSTEEL,
        MACHINE_CASING_PIPE_POLYTETRAFLUOROETHYLENE,
        MACHINE_CASING_PIPE_POLYBENZIMIDAZOLE,

        MACHINE_CASING_GEARBOX_BRONZE,
        MACHINE_CASING_GEARBOX_STEEL,
        MACHINE_CASING_GEARBOX_TITANIUM,
        MACHINE_CASING_GEARBOX_TUNGSTENSTEEL,
        MACHINE_CASING_DATA_DRIVE,
        MACHINE_CASING_CONTAINMENT_FIELD,

        MACHINE_CASING_ASSEMBLER,
        MACHINE_CASING_PROCESSOR,
        MACHINE_CASING_STRIPES_A,
        MACHINE_CASING_STRIPES_B,
        MACHINE_CASING_RADIOACTIVEHAZARD,
        MACHINE_CASING_BIOHAZARD,
        MACHINE_CASING_EXPLOSIONHAZARD,

        MACHINE_CASING_FIREHAZARD,
        MACHINE_CASING_ACIDHAZARD,
        MACHINE_CASING_MAGICHAZARD,
        MACHINE_CASING_FROSTHAZARD,
        MACHINE_CASING_NOISEHAZARD,
        MACHINE_CASING_GRATE,
        MACHINE_CASING_VENT,
        MACHINE_CASING_VENT_T2,

        OVERLAY_FRONT_EMS,
        OVERLAY_FRONT_EMS_ACTIVE,
        OVERLAY_FRONT_EMS_ACTIVE_GLOW,
        OVERLAY_FRONT_EMS_GLOW,
        MACHINE_CASING_EMS,

        OVERLAY_FRONT_MULTI_CANNER,
        OVERLAY_FRONT_MULTI_CANNER_ACTIVE,
        OVERLAY_FRONT_MULTI_CANNER_ACTIVE_GLOW,
        OVERLAY_FRONT_MULTI_CANNER_GLOW,

        LASER_PLATE,
        MACHINE_CASING_LASER,
        OVERLAY_FRONT_ENGRAVER,
        OVERLAY_FRONT_ENGRAVER_ACTIVE,
        OVERLAY_FRONT_ENGRAVER_ACTIVE_GLOW,
        OVERLAY_FRONT_ENGRAVER_GLOW,
        OVERLAY_FRONT_MULTI_LATHE,
        OVERLAY_FRONT_MULTI_LATHE_ACTIVE,
        OVERLAY_FRONT_MULTI_LATHE_ACTIVE_GLOW,
        OVERLAY_FRONT_MULTI_LATHE_GLOW,

        MACHINE_CASING_RADIATIONPROOF,
        MACHINE_CASING_ADVANCEDRADIATIONPROOF,
        MACHINE_CASING_FIREBOX_BRONZE,
        MACHINE_CASING_FIREBOX_STEEL,
        MACHINE_CASING_FIREBOX_TUNGSTENSTEEL,
        MACHINE_CASING_ENGINE_INTAKE,
        MACHINE_CASING_EXTREME_ENGINE_INTAKE, // changed color in a terrible way
        MACHINE_CASING_CHEMICALLY_INERT,
        MACHINE_COIL_CUPRONICKEL,

        MACHINE_CASING_DENSEBRICKS,
        MACHINE_CASING_BRICKEDBLASTFURNACE_ACTIVE,
        MACHINE_CASING_BRICKEDBLASTFURNACE_ACTIVE_GLOW,
        MACHINE_CASING_BRICKEDBLASTFURNACE_INACTIVE,

        MACHINE_COIL_KANTHAL,
        MACHINE_COIL_NICHROME,
        MACHINE_COIL_TUNGSTENSTEEL,
        MACHINE_COIL_HSSG,
        MACHINE_COIL_NAQUADAH,
        MACHINE_COIL_NAQUADAHALLOY,
        MACHINE_COIL_ELECTRUMFLUX,
        MACHINE_COIL_AWAKENEDDRACONIUM,
        MACHINE_COIL_HSSS,
        MACHINE_COIL_TRINIUM,
        MACHINE_COIL_INFINITY,
        MACHINE_COIL_HYPOGEN,
        MACHINE_COIL_ETERNAL,
        BOILER_SOLAR,
        BOILER_FRONT,
        BOILER_FRONT_GLOW,

        BOILER_FRONT_ACTIVE,
        BOILER_FRONT_ACTIVE_GLOW,
        BOILER_LAVA_FRONT,
        BOILER_LAVA_FRONT_GLOW,
        BOILER_LAVA_FRONT_ACTIVE,
        BOILER_LAVA_FRONT_ACTIVE_GLOW,

        NAQUADAH_REACTOR_SOLID_BACK,
        NAQUADAH_REACTOR_SOLID_BACK_GLOW,
        NAQUADAH_REACTOR_SOLID_FRONT,
        NAQUADAH_REACTOR_SOLID_FRONT_GLOW,
        NAQUADAH_REACTOR_SOLID_SIDE,
        NAQUADAH_REACTOR_SOLID_SIDE_GLOW,
        NAQUADAH_REACTOR_SOLID_BOTTOM,
        NAQUADAH_REACTOR_SOLID_BOTTOM_GLOW,
        NAQUADAH_REACTOR_SOLID_TOP,
        NAQUADAH_REACTOR_SOLID_TOP_GLOW,
        NAQUADAH_REACTOR_SOLID_BACK_ACTIVE,
        NAQUADAH_REACTOR_SOLID_BACK_ACTIVE_GLOW,
        NAQUADAH_REACTOR_SOLID_FRONT_ACTIVE,
        NAQUADAH_REACTOR_SOLID_FRONT_ACTIVE_GLOW,
        NAQUADAH_REACTOR_SOLID_SIDE_ACTIVE,
        NAQUADAH_REACTOR_SOLID_SIDE_ACTIVE_GLOW,
        NAQUADAH_REACTOR_SOLID_BOTTOM_ACTIVE,
        NAQUADAH_REACTOR_SOLID_BOTTOM_ACTIVE_GLOW,
        NAQUADAH_REACTOR_SOLID_TOP_ACTIVE,
        NAQUADAH_REACTOR_SOLID_TOP_ACTIVE_GLOW,

        NAQUADAH_REACTOR_FLUID_BACK,
        NAQUADAH_REACTOR_FLUID_BACK_GLOW,
        NAQUADAH_REACTOR_FLUID_FRONT,
        NAQUADAH_REACTOR_FLUID_FRONT_GLOW,
        NAQUADAH_REACTOR_FLUID_SIDE,
        NAQUADAH_REACTOR_FLUID_SIDE_GLOW,
        NAQUADAH_REACTOR_FLUID_BOTTOM,
        NAQUADAH_REACTOR_FLUID_BOTTOM_GLOW,
        NAQUADAH_REACTOR_FLUID_TOP,
        NAQUADAH_REACTOR_FLUID_TOP_GLOW,
        NAQUADAH_REACTOR_FLUID_BACK_ACTIVE,
        NAQUADAH_REACTOR_FLUID_BACK_ACTIVE_GLOW,
        NAQUADAH_REACTOR_FLUID_FRONT_ACTIVE,
        NAQUADAH_REACTOR_FLUID_FRONT_ACTIVE_GLOW,
        NAQUADAH_REACTOR_FLUID_SIDE_ACTIVE,
        NAQUADAH_REACTOR_FLUID_SIDE_ACTIVE_GLOW,
        NAQUADAH_REACTOR_FLUID_BOTTOM_ACTIVE,
        NAQUADAH_REACTOR_FLUID_BOTTOM_ACTIVE_GLOW,
        NAQUADAH_REACTOR_FLUID_TOP_ACTIVE,
        NAQUADAH_REACTOR_FLUID_TOP_ACTIVE_GLOW,

        DIESEL_GENERATOR_BACK,
        DIESEL_GENERATOR_BACK_GLOW,
        DIESEL_GENERATOR_FRONT,
        DIESEL_GENERATOR_FRONT_GLOW,
        DIESEL_GENERATOR_SIDE,
        DIESEL_GENERATOR_SIDE_GLOW,
        DIESEL_GENERATOR_BOTTOM,
        DIESEL_GENERATOR_BOTTOM_GLOW,
        DIESEL_GENERATOR_TOP,
        DIESEL_GENERATOR_TOP_GLOW,
        DIESEL_GENERATOR_BACK_ACTIVE,
        DIESEL_GENERATOR_BACK_ACTIVE_GLOW,
        DIESEL_GENERATOR_FRONT_ACTIVE,
        DIESEL_GENERATOR_FRONT_ACTIVE_GLOW,
        DIESEL_GENERATOR_SIDE_ACTIVE,
        DIESEL_GENERATOR_SIDE_ACTIVE_GLOW,
        DIESEL_GENERATOR_BOTTOM_ACTIVE,
        DIESEL_GENERATOR_BOTTOM_ACTIVE_GLOW,
        DIESEL_GENERATOR_TOP_ACTIVE,
        DIESEL_GENERATOR_TOP_ACTIVE_GLOW,

        GAS_TURBINE_BACK,
        GAS_TURBINE_BACK_GLOW,
        GAS_TURBINE_FRONT,
        GAS_TURBINE_FRONT_GLOW,
        GAS_TURBINE_SIDE,
        GAS_TURBINE_SIDE_GLOW,
        GAS_TURBINE_BOTTOM,
        GAS_TURBINE_BOTTOM_GLOW,
        GAS_TURBINE_TOP,
        GAS_TURBINE_TOP_GLOW,
        GAS_TURBINE_BACK_ACTIVE,
        GAS_TURBINE_BACK_ACTIVE_GLOW,
        GAS_TURBINE_FRONT_ACTIVE,
        GAS_TURBINE_FRONT_ACTIVE_GLOW,
        GAS_TURBINE_SIDE_ACTIVE,
        GAS_TURBINE_SIDE_ACTIVE_GLOW,
        GAS_TURBINE_BOTTOM_ACTIVE,
        GAS_TURBINE_BOTTOM_ACTIVE_GLOW,
        GAS_TURBINE_TOP_ACTIVE,
        GAS_TURBINE_TOP_ACTIVE_GLOW,

        STEAM_TURBINE_BACK,
        STEAM_TURBINE_BACK_GLOW,
        STEAM_TURBINE_FRONT,
        STEAM_TURBINE_FRONT_GLOW,
        STEAM_TURBINE_SIDE,
        STEAM_TURBINE_SIDE_GLOW,
        STEAM_TURBINE_BOTTOM,
        STEAM_TURBINE_BOTTOM_GLOW,
        STEAM_TURBINE_TOP,
        STEAM_TURBINE_TOP_GLOW,
        STEAM_TURBINE_BACK_ACTIVE,
        STEAM_TURBINE_BACK_ACTIVE_GLOW,
        STEAM_TURBINE_FRONT_ACTIVE,
        STEAM_TURBINE_FRONT_ACTIVE_GLOW,
        STEAM_TURBINE_SIDE_ACTIVE,
        STEAM_TURBINE_SIDE_ACTIVE_GLOW,
        STEAM_TURBINE_BOTTOM_ACTIVE,
        STEAM_TURBINE_BOTTOM_ACTIVE_GLOW,
        STEAM_TURBINE_TOP_ACTIVE,
        STEAM_TURBINE_TOP_ACTIVE_GLOW,

        BLOCK_BRONZEPREIN,
        BLOCK_STEELPREIN,
        BLOCK_TITANIUMPREIN,
        BLOCK_NAQUADAHPREIN,
        BLOCK_NEUTRONIUMPREIN,
        BLOCK_DEEP_DARK_RAW,
        BLOCK_IRREIN,
        BLOCK_PLASCRETE,
        BLOCK_TSREIN,

        OVERLAY_LOCKER,
        OVERLAY_LOCKER_000,
        OVERLAY_LOCKER_001,
        OVERLAY_LOCKER_002,
        OVERLAY_LOCKER_003,
        OVERLAY_LOCKER_004,
        OVERLAY_LOCKER_005,
        OVERLAY_LOCKER_006,
        OVERLAY_LOCKER_007,
        OVERLAY_LOCKER_008,
        OVERLAY_LOCKER_009,
        OVERLAY_LOCKER_010,
        OVERLAY_LOCKER_011,
        OVERLAY_LOCKER_012,
        OVERLAY_LOCKER_013,

        OVERLAY_LENS,
        OVERLAY_PIPE,
        OVERLAY_PIPE_IN,
        OVERLAY_PIPE_OUT,
        OVERLAY_INPUT_HATCH_2x2,
        FLUID_OUT_SIGN,
        FLUID_IN_SIGN,
        ITEM_IN_SIGN,
        ITEM_OUT_SIGN,
        OVERLAY_MUFFLER,

        OVERLAY_EMS_HOUSING,
        OVERLAY_EMS_HOUSING_GLOW,

        OVERLAY_CONTROLLER,
        OVERLAY_ACTIVITYDETECTOR,
        OVERLAY_ACTIVITYDETECTOR_GLOW,
        OVERLAY_ENERGYDETECTOR,
        OVERLAY_FLUIDDETECTOR,
        OVERLAY_ITEMDETECTOR,

        OVERLAY_REDSTONE_TRANSMITTER,
        OVERLAY_REDSTONE_RECEIVER,
        OVERLAY_MAINTENANCE_DETECTOR,

        OVERLAY_ADVANCED_REDSTONE_TRANSMITTER,
        OVERLAY_ADVANCED_REDSTONE_RECEIVER,
        OVERLAY_WIRELESS_ITEM_DETECTOR,
        OVERLAY_WIRELESS_FLUID_DETECTOR,
        OVERLAY_WIRELESS_MAINTENANCE_DETECTOR,
        OVERLAY_WIRELESS_ACTIVITYDETECTOR,
        OVERLAY_METRICS_TRANSMITTER,

        OVERLAY_FLUID_STORAGE_MONITOR0,
        OVERLAY_FLUID_STORAGE_MONITOR1,
        OVERLAY_FLUID_STORAGE_MONITOR2,
        OVERLAY_FLUID_STORAGE_MONITOR3,
        OVERLAY_FLUID_STORAGE_MONITOR4,
        OVERLAY_FLUID_STORAGE_MONITOR5,
        OVERLAY_FLUID_STORAGE_MONITOR6,
        OVERLAY_FLUID_STORAGE_MONITOR7,
        OVERLAY_FLUID_STORAGE_MONITOR8,
        OVERLAY_FLUID_STORAGE_MONITOR9,
        OVERLAY_FLUID_STORAGE_MONITOR10,
        OVERLAY_FLUID_STORAGE_MONITOR11,
        OVERLAY_FLUID_STORAGE_MONITOR12,
        OVERLAY_FLUID_STORAGE_MONITOR13,
        OVERLAY_FLUID_STORAGE_MONITOR14,

        OVERLAY_DTPF_OFF,
        OVERLAY_DTPF_ON,
        OVERLAY_FUSION1,
        OVERLAY_FUSION1_GLOW,
        OVERLAY_FUSION2,
        OVERLAY_FUSION2_GLOW,
        OVERLAY_FUSION3,
        OVERLAY_FUSION3_GLOW,
        OVERLAY_SCREEN,
        OVERLAY_SCREEN_GLOW,
        OVERLAY_QTANK,
        OVERLAY_QTANK_GLOW,
        OVERLAY_QCHEST,
        OVERLAY_QCHEST_GLOW,
        OVERLAY_SHUTTER,

        OVERLAY_CLOSET,
        OVERLAY_DUCTTAPE,
        OVERLAY_MAINTENANCE,
        OVERLAY_DATA_ACCESS,
        OVERLAY_CONVEYOR,
        OVERLAY_PUMP,
        OVERLAY_VALVE,
        OVERLAY_ARM,
        OVERLAY_DRAIN,
        OVERLAY_CRAFTING,
        OVERLAY_ENERGY_IN,
        OVERLAY_ENERGY_OUT,

        OVERLAY_ENERGY_IN_MULTI,
        OVERLAY_ENERGY_OUT_MULTI,
        OVERLAY_FRONT_LARGE_BOILER,
        OVERLAY_FRONT_LARGE_BOILER_GLOW,
        OVERLAY_FRONT_LARGE_BOILER_ACTIVE,
        OVERLAY_FRONT_LARGE_BOILER_ACTIVE_GLOW,
        OVERLAY_FRONT_VACUUM_FREEZER,
        OVERLAY_FRONT_VACUUM_FREEZER_GLOW,
        OVERLAY_FRONT_VACUUM_FREEZER_ACTIVE,
        OVERLAY_FRONT_VACUUM_FREEZER_ACTIVE_GLOW,
        OVERLAY_ENERGY_ON_WIRELESS,
        OVERLAY_ENERGY_OFF_WIRELESS,

        OVERLAY_FRONT_MULTI_SMELTER,
        OVERLAY_FRONT_MULTI_SMELTER_GLOW,
        OVERLAY_FRONT_MULTI_SMELTER_ACTIVE,
        OVERLAY_FRONT_MULTI_SMELTER_ACTIVE_GLOW,
        OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE,
        OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_GLOW,
        OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE,
        OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE_GLOW,
        OVERLAY_FRONT_IMPLOSION_COMPRESSOR,
        OVERLAY_FRONT_IMPLOSION_COMPRESSOR_GLOW,
        OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE,
        OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE_GLOW,
        OVERLAY_FRONT_RESEARCH_COMPLETER,
        OVERLAY_FRONT_RESEARCH_COMPLETER_GLOW,
        OVERLAY_FRONT_RESEARCH_COMPLETER_ACTIVE,
        OVERLAY_FRONT_RESEARCH_COMPLETER_ACTIVE_GLOW,

        OVERLAY_TOP_POTIONBREWER,
        OVERLAY_TOP_POTIONBREWER_GLOW,
        OVERLAY_TOP_REPLICATOR,
        OVERLAY_TOP_REPLICATOR_GLOW,
        OVERLAY_TOP_MASSFAB,
        OVERLAY_TOP_MASSFAB_GLOW,
        OVERLAY_TOP_STEAM_HAMMER,
        OVERLAY_TOP_STEAM_HAMMER_GLOW,
        OVERLAY_TOP_STEAM_FURNACE,
        OVERLAY_TOP_STEAM_FURNACE_GLOW,
        OVERLAY_TOP_STEAM_ALLOY_SMELTER,
        OVERLAY_TOP_STEAM_ALLOY_SMELTER_GLOW,

        OVERLAY_TOP_STEAM_MACERATOR,
        OVERLAY_TOP_STEAM_MACERATOR_GLOW,
        OVERLAY_TOP_STEAM_COMPRESSOR,
        OVERLAY_TOP_STEAM_COMPRESSOR_GLOW,
        OVERLAY_TOP_STEAM_EXTRACTOR,
        OVERLAY_TOP_STEAM_EXTRACTOR_GLOW,
        OVERLAY_TOP_DISASSEMBLER,
        OVERLAY_TOP_DISASSEMBLER_GLOW,
        OVERLAY_TOP_BOXINATOR,
        OVERLAY_TOP_BOXINATOR_GLOW,
        OVERLAY_TOP_ROCK_BREAKER,
        OVERLAY_TOP_ROCK_BREAKER_GLOW,
        OVERLAY_TOP_SCANNER,
        OVERLAY_TOP_SCANNER_GLOW,
        OVERLAY_TOP_INDUSTRIAL_APIARY,
        OVERLAY_TOP_INDUSTRIAL_APIARY_GLOW,

        OVERLAY_FRONT_POTIONBREWER,
        OVERLAY_FRONT_POTIONBREWER_GLOW,
        OVERLAY_FRONT_REPLICATOR,
        OVERLAY_FRONT_REPLICATOR_GLOW,
        OVERLAY_FRONT_MASSFAB,
        OVERLAY_FRONT_MASSFAB_GLOW,
        OVERLAY_FRONT_STEAM_HAMMER,
        OVERLAY_FRONT_STEAM_HAMMER_GLOW,
        OVERLAY_FRONT_STEAM_HAMMER_ACTIVE,
        OVERLAY_FRONT_STEAM_HAMMER_ACTIVE_GLOW,
        OVERLAY_FRONT_STEAM_FURNACE,
        OVERLAY_FRONT_STEAM_FURNACE_GLOW,
        OVERLAY_FRONT_STEAM_ALLOY_SMELTER,
        OVERLAY_FRONT_STEAM_ALLOY_SMELTER_GLOW,

        OVERLAY_FRONT_STEAM_MACERATOR,
        OVERLAY_FRONT_STEAM_MACERATOR_GLOW,
        OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE,
        OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE_GLOW,
        OVERLAY_FRONT_STEAM_WASHER,
        OVERLAY_FRONT_STEAM_WASHER_ACTIVE,
        OVERLAY_FRONT_WATER_PUMP,
        OVERLAY_FRONT_WATER_PUMP_ACTIVE,
        OVERLAY_FRONT_STEAM_CENTRIFUGE,
        OVERLAY_FRONT_STEAM_CENTRIFUGE_ACTIVE,
        OVERLAY_FRONT_STEAM_FORGE_HAMMER,
        OVERLAY_FRONT_STEAM_FORGE_HAMMER_ACTIVE,
        OVERLAY_FRONT_STEAM_COMPRESSOR,
        OVERLAY_FRONT_STEAM_COMPRESSOR_GLOW,
        OVERLAY_FRONT_STEAM_EXTRACTOR,
        OVERLAY_FRONT_STEAM_EXTRACTOR_GLOW,
        OVERLAY_FRONT_DISASSEMBLER,
        OVERLAY_FRONT_DISASSEMBLER_GLOW,
        OVERLAY_FRONT_DISASSEMBLER_ACTIVE,
        OVERLAY_FRONT_DISASSEMBLER_ACTIVE_GLOW,
        OVERLAY_FRONT_BOXINATOR,
        OVERLAY_FRONT_BOXINATOR_GLOW,
        OVERLAY_FRONT_ROCK_BREAKER,
        OVERLAY_FRONT_ROCK_BREAKER_GLOW,
        OVERLAY_FRONT_SCANNER,
        OVERLAY_FRONT_SCANNER_GLOW,
        OVERLAY_FRONT_INDUSTRIAL_APIARY,
        OVERLAY_FRONT_INDUSTRIAL_APIARY_GLOW,

        OVERLAY_BOTTOM_POTIONBREWER,
        OVERLAY_BOTTOM_POTIONBREWER_GLOW,
        OVERLAY_BOTTOM_REPLICATOR,
        OVERLAY_BOTTOM_REPLICATOR_GLOW,
        OVERLAY_BOTTOM_MASSFAB,
        OVERLAY_BOTTOM_MASSFAB_GLOW,
        OVERLAY_BOTTOM_STEAM_HAMMER,
        OVERLAY_BOTTOM_STEAM_HAMMER_GLOW,
        OVERLAY_BOTTOM_STEAM_FURNACE,
        OVERLAY_BOTTOM_STEAM_FURNACE_GLOW,

        OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER,
        OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_GLOW,
        OVERLAY_BOTTOM_STEAM_MACERATOR,
        OVERLAY_BOTTOM_STEAM_MACERATOR_GLOW,
        OVERLAY_BOTTOM_STEAM_COMPRESSOR,
        OVERLAY_BOTTOM_STEAM_COMPRESSOR_GLOW,
        OVERLAY_BOTTOM_STEAM_EXTRACTOR,
        OVERLAY_BOTTOM_STEAM_EXTRACTOR_GLOW,
        OVERLAY_BOTTOM_DISASSEMBLER,
        OVERLAY_BOTTOM_DISASSEMBLER_GLOW,
        OVERLAY_BOTTOM_BOXINATOR,
        OVERLAY_BOTTOM_BOXINATOR_GLOW,
        OVERLAY_BOTTOM_ROCK_BREAKER,
        OVERLAY_BOTTOM_ROCK_BREAKER_GLOW,
        OVERLAY_BOTTOM_SCANNER,
        OVERLAY_BOTTOM_SCANNER_GLOW,
        OVERLAY_BOTTOM_INDUSTRIAL_APIARY,
        OVERLAY_BOTTOM_INDUSTRIAL_APIARY_GLOW,

        OVERLAY_SIDE_POTIONBREWER,
        OVERLAY_SIDE_POTIONBREWER_GLOW,
        OVERLAY_SIDE_REPLICATOR,
        OVERLAY_SIDE_REPLICATOR_GLOW,
        OVERLAY_SIDE_MASSFAB,
        OVERLAY_SIDE_MASSFAB_GLOW,
        OVERLAY_SIDE_STEAM_HAMMER,
        OVERLAY_SIDE_STEAM_HAMMER_GLOW,
        OVERLAY_SIDE_STEAM_FURNACE,
        OVERLAY_SIDE_STEAM_FURNACE_GLOW,
        OVERLAY_SIDE_STEAM_ALLOY_SMELTER,
        OVERLAY_SIDE_STEAM_ALLOY_SMELTER_GLOW,
        OVERLAY_SIDE_STEAM_MACERATOR,
        OVERLAY_SIDE_STEAM_MACERATOR_GLOW,
        OVERLAY_SIDE_STEAM_COMPRESSOR,
        OVERLAY_SIDE_STEAM_COMPRESSOR_GLOW,
        OVERLAY_SIDE_STEAM_EXTRACTOR,
        OVERLAY_SIDE_STEAM_EXTRACTOR_GLOW,
        OVERLAY_SIDE_DISASSEMBLER,
        OVERLAY_SIDE_DISASSEMBLER_GLOW,
        OVERLAY_SIDE_BOXINATOR,
        OVERLAY_SIDE_BOXINATOR_GLOW,
        OVERLAY_SIDE_ROCK_BREAKER,
        OVERLAY_SIDE_ROCK_BREAKER_GLOW,
        OVERLAY_SIDE_SCANNER,
        OVERLAY_SIDE_SCANNER_GLOW,
        OVERLAY_SIDE_INDUSTRIAL_APIARY,
        OVERLAY_SIDE_INDUSTRIAL_APIARY_GLOW,

        OVERLAY_TOP_POTIONBREWER_ACTIVE,
        OVERLAY_TOP_POTIONBREWER_ACTIVE_GLOW,
        OVERLAY_TOP_REPLICATOR_ACTIVE,
        OVERLAY_TOP_REPLICATOR_ACTIVE_GLOW,
        OVERLAY_TOP_MASSFAB_ACTIVE,
        OVERLAY_TOP_MASSFAB_ACTIVE_GLOW,

        OVERLAY_TOP_STEAM_HAMMER_ACTIVE,
        OVERLAY_TOP_STEAM_HAMMER_ACTIVE_GLOW,
        OVERLAY_TOP_STEAM_FURNACE_ACTIVE,
        OVERLAY_TOP_STEAM_FURNACE_ACTIVE_GLOW,
        OVERLAY_TOP_STEAM_ALLOY_SMELTER_ACTIVE,
        OVERLAY_TOP_STEAM_ALLOY_SMELTER_ACTIVE_GLOW,
        OVERLAY_TOP_STEAM_MACERATOR_ACTIVE,
        OVERLAY_TOP_STEAM_MACERATOR_ACTIVE_GLOW,
        OVERLAY_TOP_STEAM_COMPRESSOR_ACTIVE,
        OVERLAY_TOP_STEAM_COMPRESSOR_ACTIVE_GLOW,

        OVERLAY_TOP_STEAM_EXTRACTOR_ACTIVE,
        OVERLAY_TOP_STEAM_EXTRACTOR_ACTIVE_GLOW,
        OVERLAY_TOP_DISASSEMBLER_ACTIVE,
        OVERLAY_TOP_DISASSEMBLER_ACTIVE_GLOW,
        OVERLAY_TOP_BOXINATOR_ACTIVE,
        OVERLAY_TOP_BOXINATOR_ACTIVE_GLOW,
        OVERLAY_TOP_ROCK_BREAKER_ACTIVE,
        OVERLAY_TOP_ROCK_BREAKER_ACTIVE_GLOW,
        OVERLAY_TOP_SCANNER_ACTIVE,
        OVERLAY_TOP_SCANNER_ACTIVE_GLOW,
        OVERLAY_TOP_INDUSTRIAL_APIARY_ACTIVE,
        OVERLAY_TOP_INDUSTRIAL_APIARY_ACTIVE_GLOW,

        OVERLAY_FRONT_POTIONBREWER_ACTIVE,
        OVERLAY_FRONT_POTIONBREWER_ACTIVE_GLOW,
        OVERLAY_FRONT_REPLICATOR_ACTIVE,
        OVERLAY_FRONT_REPLICATOR_ACTIVE_GLOW,
        OVERLAY_FRONT_MASSFAB_ACTIVE,
        OVERLAY_FRONT_MASSFAB_ACTIVE_GLOW,
        OVERLAY_FRONT_STEAM_FURNACE_ACTIVE,
        OVERLAY_FRONT_STEAM_FURNACE_ACTIVE_GLOW,
        OVERLAY_FRONT_STEAM_ALLOY_SMELTER_ACTIVE,
        OVERLAY_FRONT_STEAM_ALLOY_SMELTER_ACTIVE_GLOW,

        OVERLAY_FRONT_STEAM_COMPRESSOR_ACTIVE,
        OVERLAY_FRONT_STEAM_COMPRESSOR_ACTIVE_GLOW,
        OVERLAY_FRONT_STEAM_EXTRACTOR_ACTIVE,
        OVERLAY_FRONT_STEAM_EXTRACTOR_ACTIVE_GLOW,
        OVERLAY_FRONT_BOXINATOR_ACTIVE,
        OVERLAY_FRONT_BOXINATOR_ACTIVE_GLOW,
        OVERLAY_FRONT_ROCK_BREAKER_ACTIVE,
        OVERLAY_FRONT_ROCK_BREAKER_ACTIVE_GLOW,
        OVERLAY_FRONT_SCANNER_ACTIVE,
        OVERLAY_FRONT_SCANNER_ACTIVE_GLOW,
        OVERLAY_FRONT_INDUSTRIAL_APIARY_ACTIVE,
        OVERLAY_FRONT_INDUSTRIAL_APIARY_ACTIVE_GLOW,

        OVERLAY_BOTTOM_POTIONBREWER_ACTIVE,
        OVERLAY_BOTTOM_POTIONBREWER_ACTIVE_GLOW,
        OVERLAY_BOTTOM_REPLICATOR_ACTIVE,
        OVERLAY_BOTTOM_REPLICATOR_ACTIVE_GLOW,
        OVERLAY_BOTTOM_MASSFAB_ACTIVE,
        OVERLAY_BOTTOM_MASSFAB_ACTIVE_GLOW,
        OVERLAY_BOTTOM_STEAM_HAMMER_ACTIVE,
        OVERLAY_BOTTOM_STEAM_HAMMER_ACTIVE_GLOW,
        OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE,
        OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE_GLOW,
        OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_ACTIVE,
        OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_ACTIVE_GLOW,
        OVERLAY_BOTTOM_STEAM_MACERATOR_ACTIVE,
        OVERLAY_BOTTOM_STEAM_MACERATOR_ACTIVE_GLOW,
        OVERLAY_BOTTOM_STEAM_COMPRESSOR_ACTIVE,
        OVERLAY_BOTTOM_STEAM_COMPRESSOR_ACTIVE_GLOW,

        OVERLAY_BOTTOM_STEAM_EXTRACTOR_ACTIVE,
        OVERLAY_BOTTOM_STEAM_EXTRACTOR_ACTIVE_GLOW,
        OVERLAY_BOTTOM_DISASSEMBLER_ACTIVE,
        OVERLAY_BOTTOM_DISASSEMBLER_ACTIVE_GLOW,
        OVERLAY_BOTTOM_BOXINATOR_ACTIVE,
        OVERLAY_BOTTOM_BOXINATOR_ACTIVE_GLOW,
        OVERLAY_BOTTOM_ROCK_BREAKER_ACTIVE,
        OVERLAY_BOTTOM_ROCK_BREAKER_ACTIVE_GLOW,
        OVERLAY_BOTTOM_SCANNER_ACTIVE,
        OVERLAY_BOTTOM_SCANNER_ACTIVE_GLOW,
        OVERLAY_BOTTOM_INDUSTRIAL_APIARY_ACTIVE,
        OVERLAY_BOTTOM_INDUSTRIAL_APIARY_ACTIVE_GLOW,

        OVERLAY_SIDE_POTIONBREWER_ACTIVE,
        OVERLAY_SIDE_POTIONBREWER_ACTIVE_GLOW,
        OVERLAY_SIDE_REPLICATOR_ACTIVE,
        OVERLAY_SIDE_REPLICATOR_ACTIVE_GLOW,
        OVERLAY_SIDE_MASSFAB_ACTIVE,
        OVERLAY_SIDE_MASSFAB_ACTIVE_GLOW,
        OVERLAY_SIDE_STEAM_HAMMER_ACTIVE,
        OVERLAY_SIDE_STEAM_HAMMER_ACTIVE_GLOW,
        OVERLAY_SIDE_STEAM_FURNACE_ACTIVE,
        OVERLAY_SIDE_STEAM_FURNACE_ACTIVE_GLOW,
        OVERLAY_SIDE_STEAM_ALLOY_SMELTER_ACTIVE,
        OVERLAY_SIDE_STEAM_ALLOY_SMELTER_ACTIVE_GLOW,

        OVERLAY_SIDE_STEAM_MACERATOR_ACTIVE,
        OVERLAY_SIDE_STEAM_MACERATOR_ACTIVE_GLOW,
        OVERLAY_SIDE_STEAM_COMPRESSOR_ACTIVE,
        OVERLAY_SIDE_STEAM_COMPRESSOR_ACTIVE_GLOW,
        OVERLAY_SIDE_STEAM_EXTRACTOR_ACTIVE,
        OVERLAY_SIDE_STEAM_EXTRACTOR_ACTIVE_GLOW,
        OVERLAY_SIDE_DISASSEMBLER_ACTIVE,
        OVERLAY_SIDE_DISASSEMBLER_ACTIVE_GLOW,
        OVERLAY_SIDE_BOXINATOR_ACTIVE,
        OVERLAY_SIDE_BOXINATOR_ACTIVE_GLOW,
        OVERLAY_SIDE_ROCK_BREAKER_ACTIVE,
        OVERLAY_SIDE_ROCK_BREAKER_ACTIVE_GLOW,
        OVERLAY_SIDE_SCANNER_ACTIVE,
        OVERLAY_SIDE_SCANNER_ACTIVE_GLOW,
        OVERLAY_SIDE_INDUSTRIAL_APIARY_ACTIVE,
        OVERLAY_SIDE_INDUSTRIAL_APIARY_ACTIVE_GLOW,

        OVERLAY_ADV_PUMP,
        OVERLAY_TELEPORTER,
        OVERLAY_TELEPORTER_GLOW,
        OVERLAY_TELEPORTER_ACTIVE,
        OVERLAY_TELEPORTER_ACTIVE_GLOW,
        OVERLAY_TELEPORTER_SIDES,
        OVERLAY_TELEPORTER_SIDES_GLOW,
        FUSIONI_1,
        FUSIONI_2,
        FUSIONI_3,
        FUSIONI_4,
        FUSIONI_5,

        FUSIONI_6,
        FUSIONI_7,
        FUSIONI_8,
        FUSIONI_9,
        FUSIONI_10,
        FUSIONI_11,
        FUSIONI_12,
        FUSIONII_1,
        FUSIONII_2,
        FUSIONII_3,
        FUSIONII_4,
        FUSIONII_5,
        FUSIONII_6,
        FUSIONII_7,
        FUSIONII_8,
        FUSIONII_9,

        FUSIONII_10,
        FUSIONII_11,
        FUSIONII_12,
        LARGETURBINE_ST1,
        LARGETURBINE_ST2,
        LARGETURBINE_ST3,
        LARGETURBINE_ST4,
        LARGETURBINE_ST5,
        LARGETURBINE_ST6,
        LARGETURBINE_ST7,
        LARGETURBINE_ST8,
        LARGETURBINE_ST9,
        LARGETURBINE_ST_ACTIVE1,
        LARGETURBINE_ST_ACTIVE2,
        LARGETURBINE_ST_ACTIVE3,
        LARGETURBINE_ST_ACTIVE4,
        LARGETURBINE_ST_ACTIVE5,
        LARGETURBINE_ST_ACTIVE6,
        LARGETURBINE_ST_ACTIVE7,
        LARGETURBINE_ST_ACTIVE8,
        LARGETURBINE_ST_ACTIVE9,

        LARGETURBINE_SS1,
        LARGETURBINE_SS2,
        LARGETURBINE_SS3,
        LARGETURBINE_SS4,
        LARGETURBINE_SS5,
        LARGETURBINE_SS6,
        LARGETURBINE_SS7,
        LARGETURBINE_SS8,
        LARGETURBINE_SS9,
        LARGETURBINE_SS_ACTIVE1,
        LARGETURBINE_SS_ACTIVE2,
        LARGETURBINE_SS_ACTIVE3,
        LARGETURBINE_SS_ACTIVE4,
        LARGETURBINE_SS_ACTIVE5,
        LARGETURBINE_SS_ACTIVE6,
        LARGETURBINE_SS_ACTIVE7,
        LARGETURBINE_SS_ACTIVE8,
        LARGETURBINE_SS_ACTIVE9,

        LARGETURBINE_TI1,
        LARGETURBINE_TI2,
        LARGETURBINE_TI3,
        LARGETURBINE_TI4,
        LARGETURBINE_TI5,
        LARGETURBINE_TI6,
        LARGETURBINE_TI7,
        LARGETURBINE_TI8,
        LARGETURBINE_TI9,
        LARGETURBINE_TI_ACTIVE1,
        LARGETURBINE_TI_ACTIVE2,
        LARGETURBINE_TI_ACTIVE3,
        LARGETURBINE_TI_ACTIVE4,
        LARGETURBINE_TI_ACTIVE5,
        LARGETURBINE_TI_ACTIVE6,
        LARGETURBINE_TI_ACTIVE7,
        LARGETURBINE_TI_ACTIVE8,
        LARGETURBINE_TI_ACTIVE9,

        LARGETURBINE_TU1,
        LARGETURBINE_TU2,
        LARGETURBINE_TU3,
        LARGETURBINE_TU4,
        LARGETURBINE_TU5,
        LARGETURBINE_TU6,
        LARGETURBINE_TU7,
        LARGETURBINE_TU8,
        LARGETURBINE_TU9,
        LARGETURBINE_TU_ACTIVE1,
        LARGETURBINE_TU_ACTIVE2,
        LARGETURBINE_TU_ACTIVE3,
        LARGETURBINE_TU_ACTIVE4,
        LARGETURBINE_TU_ACTIVE5,
        LARGETURBINE_TU_ACTIVE6,
        LARGETURBINE_TU_ACTIVE7,
        LARGETURBINE_TU_ACTIVE8,
        LARGETURBINE_TU_ACTIVE9,

        MACHINE_CASING_TURBINE,
        MACHINE_CASING_ADVANCEDGAS,
        BLOCK_ADAMANTIUM,
        BLOCK_ALUMINIUM,
        BLOCK_AMERICIUM,

        BLOCK_ANNEALEDCOPPER,
        BLOCK_ANTIMONY,
        BLOCK_ARSENIC,
        BLOCK_ASTRALSILVER,
        BLOCK_BATTERYALLOY,
        BLOCK_BERYLLIUM,
        BLOCK_BISMUTH,
        BLOCK_BISMUTHBRONZE,
        BLOCK_BLACKBRONZE,
        BLOCK_BLACKSTEEL,

        BLOCK_BLUEALLOY,
        BLOCK_BLUESTEEL,
        BLOCK_BRASS,
        BLOCK_BRONZE,
        BLOCK_CAESIUM,
        BLOCK_CERIUM,
        BLOCK_CHROME,
        BLOCK_CHROMIUMDIOXIDE,
        BLOCK_COBALT,
        BLOCK_COBALTBRASS,
        BLOCK_COPPER,

        BLOCK_CUPRONICKEL,
        BLOCK_DAMASCUSSTEEL,
        BLOCK_DARKIRON,
        BLOCK_DEEPIRON,
        BLOCK_DESH,
        BLOCK_DURANIUM,
        BLOCK_DYSPROSIUM,
        BLOCK_ELECTRUM,
        BLOCK_ELECTRUMFLUX,
        BLOCK_ENDERIUM,

        BLOCK_ERBIUM,
        BLOCK_EUROPIUM,
        BLOCK_FIERYSTEEL,
        BLOCK_GADOLINIUM,
        BLOCK_GALLIUM,
        BLOCK_HOLMIUM,
        BLOCK_HSLA,
        BLOCK_INDIUM,
        BLOCK_INFUSEDGOLD,
        BLOCK_INVAR,
        BLOCK_IRIDIUM,

        BLOCK_IRONMAGNETIC,
        BLOCK_IRONWOOD,
        BLOCK_KANTHAL,
        BLOCK_KNIGHTMETAL,
        BLOCK_LANTHANUM,
        BLOCK_LEAD,
        BLOCK_LUTETIUM,
        BLOCK_MAGNALIUM,
        BLOCK_MAGNESIUM,
        BLOCK_MANGANESE,
        BLOCK_METEORICIRON,

        BLOCK_METEORICSTEEL,
        BLOCK_MIDASIUM,
        BLOCK_TRINIUM,
        BLOCK_MITHRIL,
        BLOCK_MOLYBDENUM,
        BLOCK_NAQUADAH,
        BLOCK_NAQUADAHALLOY,
        BLOCK_NAQUADAHENRICHED,
        BLOCK_NAQUADRIA,
        BLOCK_NEODYMIUM,
        BLOCK_NEODYMIUMMAGNETIC,

        BLOCK_NEUTRONIUM,
        BLOCK_NICHROME,
        BLOCK_NICKEL,
        BLOCK_NIOBIUM,
        BLOCK_NIOBIUMNITRIDE,
        BLOCK_NIOBIUMTITANIUM,
        BLOCK_OSMIRIDIUM,
        BLOCK_OSMIUM,
        BLOCK_PALLADIUM,
        BLOCK_PIGIRON,
        BLOCK_PLATINUM,

        BLOCK_PLUTONIUM,
        BLOCK_PLUTONIUM241,
        BLOCK_PRASEODYMIUM,
        BLOCK_PROMETHIUM,
        BLOCK_REDALLOY,
        BLOCK_REDSTEEL,
        BLOCK_ROSEGOLD,
        BLOCK_RUBIDIUM,
        BLOCK_SAMARIUM,
        BLOCK_SCANDIUM,
        BLOCK_SHADOWIRON,

        BLOCK_SHADOWSTEEL,
        BLOCK_SILICON,
        BLOCK_SILVER,
        BLOCK_SOLDERINGALLOY,
        BLOCK_STAINLESSSTEEL,
        BLOCK_STEEL,
        BLOCK_STEELMAGNETIC,
        BLOCK_STERLINGSILVER,
        BLOCK_SUNNARIUM,
        BLOCK_TANTALUM,

        BLOCK_TELLURIUM,
        BLOCK_TERBIUM,
        BLOCK_THAUMIUM,
        BLOCK_THORIUM,
        BLOCK_THULIUM,
        BLOCK_TIN,
        BLOCK_TINALLOY,
        BLOCK_TITANIUM,
        BLOCK_TRITANIUM,
        BLOCK_TUNGSTEN,
        BLOCK_TUNGSTENSTEEL,
        BLOCK_ULTIMET,
        BLOCK_SPACETIME,

        BLOCK_URANIUM,
        BLOCK_URANIUM235,
        BLOCK_VANADIUM,
        BLOCK_VANADIUMGALLIUM,
        BLOCK_WROUGHTIRON,
        BLOCK_YTTRBIUM,
        BLOCK_YTTRIUM,
        BLOCK_YTTRIUMBARIUMCUPRATE,
        BLOCK_ZINC,
        BLOCK_TUNGSTENCARBIDE,

        BLOCK_VANADIUMSTEEL,
        BLOCK_HSSG,
        BLOCK_HSSE,
        BLOCK_HSSS,
        BLOCK_AERCRYSTAL,
        BLOCK_AMBER,
        BLOCK_AMETHYST,
        BLOCK_AQUACRYSTAL,
        BLOCK_BLUETOPAZ,
        BLOCK_CERTUSQUARTZ,
        BLOCK_DILITHIUM,

        BLOCK_ENDEREYE,
        BLOCK_ENDERPEARL,
        BLOCK_FOOLSRUBY,
        BLOCK_FORCE,
        BLOCK_FORCICIUM,
        BLOCK_FORCILLIUM,
        BLOCK_GREENSAPPHIRE,
        BLOCK_IGNISCRYSTAL,
        BLOCK_JASPER,
        BLOCK_LAZURITE,

        BLOCK_LIGNITE,
        BLOCK_MONAZITE,
        BLOCK_NITER,
        BLOCK_OLIVINE,
        BLOCK_OPAL,
        BLOCK_ORDOCRYSTAL,
        BLOCK_PERDITIOCRYSTAL,
        BLOCK_PHOSPHORUS,
        BLOCK_QUARTZITE,
        BLOCK_REDGARNET,
        BLOCK_RUBY,

        BLOCK_SAPPHIRE,
        BLOCK_SODALITE,
        BLOCK_TANZANITE,
        BLOCK_TERRACRYSTAL,
        BLOCK_TOPAZ,
        BLOCK_VINTEUM,
        BLOCK_YELLOWGARNET,
        BLOCK_NETHERSTAR,
        BLOCK_CHARCOAL,
        BLOCK_BLAZE,
        BLOCK_CRYOLITE,
        MARBLE_STONE,
        MARBLE_COBBLE,
        BLOCK_NICKELALUMINIUM,
        BLOCK_SILICONSG,
        BLOCK_TRANSCENDENTMETAL,
        BLOCK_UNIVERSIUM,
        BLOCK_ETERNITY,
        BLOCK_MAGMATTER,

        BLOCK_ORIHARUKON,

        BLOCK_WHITEDWARFMATTER,

        BLOCK_BLACKDWARFMATTER,

        MARBLE_COBBLE_MOSSY,
        MARBLE_BRICKS,
        MARBLE_BRICKS_CRACKED,
        MARBLE_BRICKS_MOSSY,
        MARBLE_BRICKS_CHISELED,
        MARBLE_SMOOTH,
        BASALT_STONE,
        BASALT_COBBLE,
        BASALT_COBBLE_MOSSY,
        BASALT_BRICKS,

        BASALT_BRICKS_CRACKED,
        BASALT_BRICKS_MOSSY,
        BASALT_BRICKS_CHISELED,
        BASALT_SMOOTH,
        OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE,
        OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE_GLOW,
        OVERLAY_FRONT_HEAT_EXCHANGER,
        OVERLAY_FRONT_HEAT_EXCHANGER_GLOW,
        OVERLAY_FRONT_PROCESSING_ARRAY_ACTIVE,
        OVERLAY_FRONT_PROCESSING_ARRAY_ACTIVE_GLOW,

        OVERLAY_FRONT_PROCESSING_ARRAY,
        OVERLAY_FRONT_PROCESSING_ARRAY_GLOW,
        OVERLAY_FRONT_OIL_DRILL_ACTIVE,
        OVERLAY_FRONT_OIL_DRILL_ACTIVE_GLOW,
        OVERLAY_FRONT_OIL_DRILL,
        OVERLAY_FRONT_OIL_DRILL_GLOW,
        OVERLAY_FRONT_DIESEL_ENGINE_ACTIVE,
        OVERLAY_FRONT_DIESEL_ENGINE_ACTIVE_GLOW,
        OVERLAY_FRONT_DIESEL_ENGINE,
        OVERLAY_FRONT_DIESEL_ENGINE_GLOW,
        OVERLAY_FRONT_EXTREME_DIESEL_ENGINE_ACTIVE,
        OVERLAY_FRONT_EXTREME_DIESEL_ENGINE_ACTIVE_GLOW,
        OVERLAY_FRONT_EXTREME_DIESEL_ENGINE,
        OVERLAY_FRONT_EXTREME_DIESEL_ENGINE_GLOW,
        OVERLAY_FRONT_PYROLYSE_OVEN_ACTIVE,
        OVERLAY_FRONT_PYROLYSE_OVEN_ACTIVE_GLOW,

        OVERLAY_FRONT_PYROLYSE_OVEN,
        OVERLAY_FRONT_PYROLYSE_OVEN_GLOW,
        OVERLAY_FRONT_OIL_CRACKER_ACTIVE,
        OVERLAY_FRONT_OIL_CRACKER_ACTIVE_GLOW,
        OVERLAY_FRONT_OIL_CRACKER,
        OVERLAY_FRONT_OIL_CRACKER_GLOW,
        OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE,
        OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE_GLOW,
        OVERLAY_FRONT_DISTILLATION_TOWER,
        OVERLAY_FRONT_DISTILLATION_TOWER_GLOW,

        OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE,
        OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE_GLOW,
        OVERLAY_FRONT_ASSEMBLY_LINE,
        OVERLAY_FRONT_ASSEMBLY_LINE_GLOW,
        OVERLAY_FRONT_ORE_DRILL_ACTIVE,
        OVERLAY_FRONT_ORE_DRILL_ACTIVE_GLOW,
        OVERLAY_FRONT_ORE_DRILL,
        OVERLAY_FRONT_ORE_DRILL_GLOW,
        OVERLAY_TOP_CLEANROOM_ACTIVE,
        OVERLAY_TOP_CLEANROOM_ACTIVE_GLOW,
        OVERLAY_TOP_CLEANROOM,
        OVERLAY_TOP_CLEANROOM_GLOW,

        OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR,
        OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR_GLOW,
        OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR_ACTIVE,
        OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR_ACTIVE_GLOW,

        PIPE_RESTRICTOR_UP,
        PIPE_RESTRICTOR_DOWN,
        PIPE_RESTRICTOR_LEFT,
        PIPE_RESTRICTOR_RIGHT,
        PIPE_RESTRICTOR_NU,
        PIPE_RESTRICTOR_ND,
        PIPE_RESTRICTOR_NL,
        PIPE_RESTRICTOR_NR,

        PIPE_RESTRICTOR_UD,
        PIPE_RESTRICTOR_UL,
        PIPE_RESTRICTOR_UR,
        PIPE_RESTRICTOR_DL,
        PIPE_RESTRICTOR_DR,
        PIPE_RESTRICTOR_LR,

        LARGETURBINE_ST_EMPTY1,
        LARGETURBINE_ST_EMPTY2,
        LARGETURBINE_ST_EMPTY3,
        LARGETURBINE_ST_EMPTY4,
        LARGETURBINE_ST_EMPTY5,
        LARGETURBINE_ST_EMPTY6,
        LARGETURBINE_ST_EMPTY7,
        LARGETURBINE_ST_EMPTY8,
        LARGETURBINE_ST_EMPTY9,

        LARGETURBINE_SS_EMPTY1,
        LARGETURBINE_SS_EMPTY2,
        LARGETURBINE_SS_EMPTY3,
        LARGETURBINE_SS_EMPTY4,
        LARGETURBINE_SS_EMPTY5,
        LARGETURBINE_SS_EMPTY6,
        LARGETURBINE_SS_EMPTY7,
        LARGETURBINE_SS_EMPTY8,
        LARGETURBINE_SS_EMPTY9,

        LARGETURBINE_TI_EMPTY1,
        LARGETURBINE_TI_EMPTY2,
        LARGETURBINE_TI_EMPTY3,
        LARGETURBINE_TI_EMPTY4,
        LARGETURBINE_TI_EMPTY5,
        LARGETURBINE_TI_EMPTY6,
        LARGETURBINE_TI_EMPTY7,
        LARGETURBINE_TI_EMPTY8,
        LARGETURBINE_TI_EMPTY9,

        LARGETURBINE_TU_EMPTY1,
        LARGETURBINE_TU_EMPTY2,
        LARGETURBINE_TU_EMPTY3,
        LARGETURBINE_TU_EMPTY4,
        LARGETURBINE_TU_EMPTY5,
        LARGETURBINE_TU_EMPTY6,
        LARGETURBINE_TU_EMPTY7,
        LARGETURBINE_TU_EMPTY8,
        LARGETURBINE_TU_EMPTY9,

        LARGETURBINE_ADVGAS1,
        LARGETURBINE_ADVGAS2,
        LARGETURBINE_ADVGAS3,
        LARGETURBINE_ADVGAS4,
        LARGETURBINE_ADVGAS5,
        LARGETURBINE_ADVGAS6,
        LARGETURBINE_ADVGAS7,
        LARGETURBINE_ADVGAS8,
        LARGETURBINE_ADVGAS9,

        LARGETURBINE_ADVGAS_ACTIVE1,
        LARGETURBINE_ADVGAS_ACTIVE2,
        LARGETURBINE_ADVGAS_ACTIVE3,
        LARGETURBINE_ADVGAS_ACTIVE4,
        LARGETURBINE_ADVGAS_ACTIVE5,
        LARGETURBINE_ADVGAS_ACTIVE6,
        LARGETURBINE_ADVGAS_ACTIVE7,
        LARGETURBINE_ADVGAS_ACTIVE8,
        LARGETURBINE_ADVGAS_ACTIVE9,

        LARGETURBINE_ADVGAS_EMPTY1,
        LARGETURBINE_ADVGAS_EMPTY2,
        LARGETURBINE_ADVGAS_EMPTY3,
        LARGETURBINE_ADVGAS_EMPTY4,
        LARGETURBINE_ADVGAS_EMPTY5,
        LARGETURBINE_ADVGAS_EMPTY6,
        LARGETURBINE_ADVGAS_EMPTY7,
        LARGETURBINE_ADVGAS_EMPTY8,
        LARGETURBINE_ADVGAS_EMPTY9,

        OVERLAY_ME_HATCH,
        OVERLAY_ME_HATCH_ACTIVE,
        OVERLAY_ME_INPUT_HATCH,
        OVERLAY_ME_INPUT_HATCH_ACTIVE,
        OVERLAY_ME_INPUT_FLUID_HATCH,
        OVERLAY_ME_INPUT_FLUID_HATCH_ACTIVE,
        OVERLAY_ME_CRAFTING_INPUT_BUFFER,
        OVERLAY_ME_CRAFTING_INPUT_BUS,
        OVERLAY_ME_CRAFTING_INPUT_SLAVE,
        OVERLAY_ME_CRAFTING_HATCH,
        OVERLAY_ME_CRAFTING_HATCH_ACTIVE,
        OVERLAY_ME_FLUID_HATCH,
        OVERLAY_ME_FLUID_HATCH_ACTIVE,
        OVERLAY_HATCH_PH_SENSOR,
        OVERLAY_HATCH_PH_SENSOR_GLOW,

        STRUCTURE_MARK,

        MV_TOP_CYCLOTRON_SOLENOID,
        MV_SIDE_CYCLOTRON_SOLENOID,
        EV_TOP_CYCLOTRON_SOLENOID,
        EV_SIDE_CYCLOTRON_SOLENOID,
        IV_TOP_CYCLOTRON_SOLENOID,
        IV_SIDE_CYCLOTRON_SOLENOID,
        HV_TOP_CYCLOTRON_SOLENOID,
        HV_SIDE_CYCLOTRON_SOLENOID,
        LuV_TOP_CYCLOTRON_SOLENOID,
        LuV_SIDE_CYCLOTRON_SOLENOID,
        UMV_TOP_CYCLOTRON_SOLENOID,
        UIV_TOP_CYCLOTRON_SOLENOID,
        UEV_TOP_CYCLOTRON_SOLENOID,
        UHV_TOP_CYCLOTRON_SOLENOID,
        UV_TOP_CYCLOTRON_SOLENOID,
        UV_SIDE_CYCLOTRON_SOLENOID,
        UHV_SIDE_CYCLOTRON_SOLENOID,
        UEV_SIDE_CYCLOTRON_SOLENOID,
        UIV_SIDE_CYCLOTRON_SOLENOID,
        UMV_SIDE_CYCLOTRON_SOLENOID,
        ZPM_TOP_CYCLOTRON_SOLENOID,
        ZPM_SIDE_CYCLOTRON_SOLENOID,
        MACHINE_CASING_PCB_TIER_1,
        MACHINE_CASING_PCB_TIER_2,
        MACHINE_CASING_PCB_TIER_3,
        INFINITY_COOLED_CASING,

        MACHINE_CASING_SHIELDED_ACCELERATOR,

        LARGETURBINE_NEW1,
        LARGETURBINE_NEW2,
        LARGETURBINE_NEW3,
        LARGETURBINE_NEW4,
        LARGETURBINE_NEW5,
        LARGETURBINE_NEW6,
        LARGETURBINE_NEW7,
        LARGETURBINE_NEW8,
        LARGETURBINE_NEW9,
        LARGETURBINE_NEW_ACTIVE1,
        LARGETURBINE_NEW_ACTIVE2,
        LARGETURBINE_NEW_ACTIVE3,
        LARGETURBINE_NEW_ACTIVE4,
        LARGETURBINE_NEW_ACTIVE5,
        LARGETURBINE_NEW_ACTIVE6,
        LARGETURBINE_NEW_ACTIVE7,
        LARGETURBINE_NEW_ACTIVE8,
        LARGETURBINE_NEW_ACTIVE9,
        LARGETURBINE_NEW_EMPTY1,
        LARGETURBINE_NEW_EMPTY2,
        LARGETURBINE_NEW_EMPTY3,
        LARGETURBINE_NEW_EMPTY4,
        LARGETURBINE_NEW_EMPTY5,
        LARGETURBINE_NEW_EMPTY6,
        LARGETURBINE_NEW_EMPTY7,
        LARGETURBINE_NEW_EMPTY8,
        LARGETURBINE_NEW_EMPTY9,
        INDUSTRIAL_STRENGTH_CONCRETE,
        GLASS_PH_RESISTANT,
        GLASS_TINTED_INDUSTRIAL_WHITE,
        GLASS_TINTED_INDUSTRIAL_LIGHT_GRAY,
        GLASS_TINTED_INDUSTRIAL_GRAY,
        GLASS_TINTED_INDUSTRIAL_BLACK,
        MACHINE_CASING_INDUSTRIAL_WATER_PLANT,
        WATER_PLANT_CONCRETE_CASING,
        MACHINE_CASING_FLOCCULATION,
        MACHINE_CASING_NAQUADAH_REINFORCED_WATER_PLANT,
        MACHINE_CASING_EXTREME_CORROSION_RESISTANT,
        MACHINE_CASING_HIGH_PRESSURE_RESISTANT,
        MACHINE_CASING_OZONE,
        MACHINE_CASING_PLASMA_HEATER,
        NAQUADRIA_REINFORCED_WATER_PLANT_CASING,
        UV_BACKLIGHT_STERILIZER_CASING,
        NEUTRONIUM_COATED_UV_RESISTANT_GLASS,
        OMNI_PURPOSE_INFINITY_FUSED_GLASS,
        GLASS_QUARK_CONTAINMENT,
        BLOCK_QUARK_PIPE,
        BLOCK_QUARK_RELEASE_CHAMBER,
        BLOCK_QUARK_CONTAINMENT_CASING,;

        /**
         * Icon for Fresh CFoam
         */
        public static final ITexture[] FRESHFOAM = { TextureFactory.of(CFOAM_FRESH) };
        /**
         * Icons for Hardened CFoam 0 = No Color 1 - 16 = Colors
         */
        public static final ITexture[][] HARDENEDFOAMS = {
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.CONSTRUCTION_FOAM.mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[0].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[1].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[2].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[3].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[4].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[5].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[6].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[7].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[8].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[9].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[10].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[11].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[12].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[13].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[14].mRGBa) },
            new ITexture[] { TextureFactory.of(CFOAM_HARDENED, Dyes.VALUES[15].mRGBa) } };
        /**
         * Machine Casings by Tier 0 = 8V, 1 = LV, 2 = MV, 3 = HV, 4 = EV, 5 = IV, 6 = IV, 7 = IV, 8 = IV, 9 = IV
         */
        public static final IIconContainer[] MACHINECASINGS_SIDE = { MACHINE_8V_SIDE, MACHINE_LV_SIDE, MACHINE_MV_SIDE,
            MACHINE_HV_SIDE, MACHINE_EV_SIDE, MACHINE_IV_SIDE, MACHINE_LuV_SIDE, MACHINE_ZPM_SIDE, MACHINE_UV_SIDE,
            MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, MACHINE_UMV_SIDE, MACHINE_UXV_SIDE,
            MACHINE_MAXV_SIDE, },
            MACHINECASINGS_TOP = { MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, MACHINE_EV_TOP,
                MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP,
                MACHINE_UIV_TOP, MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_MAXV_TOP, },
            MACHINECASINGS_BOTTOM = { MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM,
                MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, MACHINE_UV_BOTTOM,
                MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM,
                MACHINE_MAXV_BOTTOM, },
            GRANITES = { GRANITE_BLACK_STONE, GRANITE_BLACK_COBBLE, GRANITE_BLACK_COBBLE_MOSSY, GRANITE_BLACK_BRICKS,
                GRANITE_BLACK_BRICKS_CRACKED, GRANITE_BLACK_BRICKS_MOSSY, GRANITE_BLACK_BRICKS_CHISELED,
                GRANITE_BLACK_SMOOTH, GRANITE_RED_STONE, GRANITE_RED_COBBLE, GRANITE_RED_COBBLE_MOSSY,
                GRANITE_RED_BRICKS, GRANITE_RED_BRICKS_CRACKED, GRANITE_RED_BRICKS_MOSSY, GRANITE_RED_BRICKS_CHISELED,
                GRANITE_RED_SMOOTH, },
            CONCRETES = { CONCRETE_DARK_STONE, CONCRETE_DARK_COBBLE, CONCRETE_DARK_COBBLE_MOSSY, CONCRETE_DARK_BRICKS,
                CONCRETE_DARK_BRICKS_CRACKED, CONCRETE_DARK_BRICKS_MOSSY, CONCRETE_DARK_BRICKS_CHISELED,
                CONCRETE_DARK_SMOOTH, CONCRETE_LIGHT_STONE, CONCRETE_LIGHT_COBBLE, CONCRETE_LIGHT_COBBLE_MOSSY,
                CONCRETE_LIGHT_BRICKS, CONCRETE_LIGHT_BRICKS_CRACKED, CONCRETE_LIGHT_BRICKS_MOSSY,
                CONCRETE_LIGHT_BRICKS_CHISELED, CONCRETE_LIGHT_SMOOTH, },
            STONES = { MARBLE_STONE, MARBLE_COBBLE, MARBLE_COBBLE_MOSSY, MARBLE_BRICKS, MARBLE_BRICKS_CRACKED,
                MARBLE_BRICKS_MOSSY, MARBLE_BRICKS_CHISELED, MARBLE_SMOOTH, BASALT_STONE, BASALT_COBBLE,
                BASALT_COBBLE_MOSSY, BASALT_BRICKS, BASALT_BRICKS_CRACKED, BASALT_BRICKS_MOSSY, BASALT_BRICKS_CHISELED,
                BASALT_SMOOTH, },
            TURBINE = { LARGETURBINE_ST1, LARGETURBINE_ST2, LARGETURBINE_ST3, LARGETURBINE_ST4, LARGETURBINE_ST5,
                LARGETURBINE_ST6, LARGETURBINE_ST7, LARGETURBINE_ST8, LARGETURBINE_ST9 },
            TURBINE_ACTIVE = { LARGETURBINE_ST_ACTIVE1, LARGETURBINE_ST_ACTIVE2, LARGETURBINE_ST_ACTIVE3,
                LARGETURBINE_ST_ACTIVE4, LARGETURBINE_ST_ACTIVE5, LARGETURBINE_ST_ACTIVE6, LARGETURBINE_ST_ACTIVE7,
                LARGETURBINE_ST_ACTIVE8, LARGETURBINE_ST_ACTIVE9 },
            TURBINE_EMPTY = { LARGETURBINE_ST_EMPTY1, LARGETURBINE_ST_EMPTY2, LARGETURBINE_ST_EMPTY3,
                LARGETURBINE_ST_EMPTY4, LARGETURBINE_ST_EMPTY5, LARGETURBINE_ST_EMPTY6, LARGETURBINE_ST_EMPTY7,
                LARGETURBINE_ST_EMPTY8, LARGETURBINE_ST_EMPTY9 },
            TURBINE_NEW = { LARGETURBINE_NEW1, LARGETURBINE_NEW2, LARGETURBINE_NEW3, LARGETURBINE_NEW4,
                LARGETURBINE_NEW5, LARGETURBINE_NEW6, LARGETURBINE_NEW7, LARGETURBINE_NEW8, LARGETURBINE_NEW9 },
            TURBINE_NEW_ACTIVE = { LARGETURBINE_NEW_ACTIVE1, LARGETURBINE_NEW_ACTIVE2, LARGETURBINE_NEW_ACTIVE3,
                LARGETURBINE_NEW_ACTIVE4, LARGETURBINE_NEW_ACTIVE5, LARGETURBINE_NEW_ACTIVE6, LARGETURBINE_NEW_ACTIVE7,
                LARGETURBINE_NEW_ACTIVE8, LARGETURBINE_NEW_ACTIVE9 },
            TURBINE_NEW_EMPTY = { LARGETURBINE_NEW_EMPTY1, LARGETURBINE_NEW_EMPTY2, LARGETURBINE_NEW_EMPTY3,
                LARGETURBINE_NEW_EMPTY4, LARGETURBINE_NEW_EMPTY5, LARGETURBINE_NEW_EMPTY6, LARGETURBINE_NEW_EMPTY7,
                LARGETURBINE_NEW_EMPTY8, LARGETURBINE_NEW_EMPTY9 },
            TURBINE1 = { LARGETURBINE_SS1, LARGETURBINE_SS2, LARGETURBINE_SS3, LARGETURBINE_SS4, LARGETURBINE_SS5,
                LARGETURBINE_SS6, LARGETURBINE_SS7, LARGETURBINE_SS8, LARGETURBINE_SS9 },
            TURBINE_ACTIVE1 = { LARGETURBINE_SS_ACTIVE1, LARGETURBINE_SS_ACTIVE2, LARGETURBINE_SS_ACTIVE3,
                LARGETURBINE_SS_ACTIVE4, LARGETURBINE_SS_ACTIVE5, LARGETURBINE_SS_ACTIVE6, LARGETURBINE_SS_ACTIVE7,
                LARGETURBINE_SS_ACTIVE8, LARGETURBINE_SS_ACTIVE9 },
            TURBINE_EMPTY1 = { LARGETURBINE_SS_EMPTY1, LARGETURBINE_SS_EMPTY2, LARGETURBINE_SS_EMPTY3,
                LARGETURBINE_SS_EMPTY4, LARGETURBINE_SS_EMPTY5, LARGETURBINE_SS_EMPTY6, LARGETURBINE_SS_EMPTY7,
                LARGETURBINE_SS_EMPTY8, LARGETURBINE_SS_EMPTY9 },
            TURBINE2 = { LARGETURBINE_TI1, LARGETURBINE_TI2, LARGETURBINE_TI3, LARGETURBINE_TI4, LARGETURBINE_TI5,
                LARGETURBINE_TI6, LARGETURBINE_TI7, LARGETURBINE_TI8, LARGETURBINE_TI9 },
            TURBINE_ACTIVE2 = { LARGETURBINE_TI_ACTIVE1, LARGETURBINE_TI_ACTIVE2, LARGETURBINE_TI_ACTIVE3,
                LARGETURBINE_TI_ACTIVE4, LARGETURBINE_TI_ACTIVE5, LARGETURBINE_TI_ACTIVE6, LARGETURBINE_TI_ACTIVE7,
                LARGETURBINE_TI_ACTIVE8, LARGETURBINE_TI_ACTIVE9 },
            TURBINE_EMPTY2 = { LARGETURBINE_TI_EMPTY1, LARGETURBINE_TI_EMPTY2, LARGETURBINE_TI_EMPTY3,
                LARGETURBINE_TI_EMPTY4, LARGETURBINE_TI_EMPTY5, LARGETURBINE_TI_EMPTY6, LARGETURBINE_TI_EMPTY7,
                LARGETURBINE_TI_EMPTY8, LARGETURBINE_TI_EMPTY9 },
            TURBINE3 = { LARGETURBINE_TU1, LARGETURBINE_TU2, LARGETURBINE_TU3, LARGETURBINE_TU4, LARGETURBINE_TU5,
                LARGETURBINE_TU6, LARGETURBINE_TU7, LARGETURBINE_TU8, LARGETURBINE_TU9 },
            TURBINE_ACTIVE3 = { LARGETURBINE_TU_ACTIVE1, LARGETURBINE_TU_ACTIVE2, LARGETURBINE_TU_ACTIVE3,
                LARGETURBINE_TU_ACTIVE4, LARGETURBINE_TU_ACTIVE5, LARGETURBINE_TU_ACTIVE6, LARGETURBINE_TU_ACTIVE7,
                LARGETURBINE_TU_ACTIVE8, LARGETURBINE_TU_ACTIVE9 },
            TURBINE_EMPTY3 = { LARGETURBINE_TU_EMPTY1, LARGETURBINE_TU_EMPTY2, LARGETURBINE_TU_EMPTY3,
                LARGETURBINE_TU_EMPTY4, LARGETURBINE_TU_EMPTY5, LARGETURBINE_TU_EMPTY6, LARGETURBINE_TU_EMPTY7,
                LARGETURBINE_TU_EMPTY8, LARGETURBINE_TU_EMPTY9 },
            TURBINEADVGAS = { LARGETURBINE_ADVGAS1, LARGETURBINE_ADVGAS2, LARGETURBINE_ADVGAS3, LARGETURBINE_ADVGAS4,
                LARGETURBINE_ADVGAS5, LARGETURBINE_ADVGAS6, LARGETURBINE_ADVGAS7, LARGETURBINE_ADVGAS8,
                LARGETURBINE_ADVGAS9 },
            TURBINE_ADVGASACTIVE = { LARGETURBINE_ADVGAS_ACTIVE1, LARGETURBINE_ADVGAS_ACTIVE2,
                LARGETURBINE_ADVGAS_ACTIVE3, LARGETURBINE_ADVGAS_ACTIVE4, LARGETURBINE_ADVGAS_ACTIVE5,
                LARGETURBINE_ADVGAS_ACTIVE6, LARGETURBINE_ADVGAS_ACTIVE7, LARGETURBINE_ADVGAS_ACTIVE8,
                LARGETURBINE_ADVGAS_ACTIVE9 },
            TURBINE_ADVGASEMPTY = { LARGETURBINE_ADVGAS_EMPTY1, LARGETURBINE_ADVGAS_EMPTY2, LARGETURBINE_ADVGAS_EMPTY3,
                LARGETURBINE_ADVGAS_EMPTY4, LARGETURBINE_ADVGAS_EMPTY5, LARGETURBINE_ADVGAS_EMPTY6,
                LARGETURBINE_ADVGAS_EMPTY7, LARGETURBINE_ADVGAS_EMPTY8, LARGETURBINE_ADVGAS_EMPTY9 },
            CONNECTED_HULLS = { CONCRETE_DARK_STONE, FUSIONI_1, FUSIONI_2, FUSIONI_3, FUSIONI_4, FUSIONI_5, FUSIONI_6,
                FUSIONI_7, FUSIONI_8, FUSIONI_9, FUSIONI_10, FUSIONI_11, FUSIONI_12, FUSIONII_1, FUSIONII_2, FUSIONII_3,
                FUSIONII_4, FUSIONII_5, FUSIONII_6, FUSIONII_7, FUSIONII_8, FUSIONII_9, FUSIONII_10, FUSIONII_11,
                FUSIONII_12, },
            STORAGE_BLOCKS1 = { BLOCK_ADAMANTIUM, BLOCK_ALUMINIUM, BLOCK_AMERICIUM, BLOCK_ANNEALEDCOPPER,
                BLOCK_ANTIMONY, BLOCK_ARSENIC, BLOCK_ASTRALSILVER, BLOCK_BATTERYALLOY, BLOCK_BERYLLIUM, BLOCK_BISMUTH,
                BLOCK_BISMUTHBRONZE, BLOCK_BLACKBRONZE, BLOCK_BLACKSTEEL, BLOCK_BLUEALLOY, BLOCK_BLUESTEEL,
                BLOCK_BRASS },
            STORAGE_BLOCKS2 = { BLOCK_BRONZE, BLOCK_CAESIUM, BLOCK_CERIUM, BLOCK_CHROME, BLOCK_CHROMIUMDIOXIDE,
                BLOCK_COBALT, BLOCK_COBALTBRASS, BLOCK_COPPER, BLOCK_CUPRONICKEL, BLOCK_DAMASCUSSTEEL, BLOCK_DARKIRON,
                BLOCK_DEEPIRON, BLOCK_DESH, BLOCK_DURANIUM, BLOCK_DYSPROSIUM, BLOCK_ELECTRUM },
            STORAGE_BLOCKS3 = { BLOCK_ELECTRUMFLUX, BLOCK_ENDERIUM, BLOCK_ERBIUM, BLOCK_EUROPIUM, BLOCK_FIERYSTEEL,
                BLOCK_GADOLINIUM, BLOCK_GALLIUM, BLOCK_HOLMIUM, BLOCK_HSLA, BLOCK_INDIUM, BLOCK_INFUSEDGOLD,
                BLOCK_INVAR, BLOCK_IRIDIUM, BLOCK_IRONMAGNETIC, BLOCK_IRONWOOD, BLOCK_KANTHAL },
            STORAGE_BLOCKS4 = { BLOCK_KNIGHTMETAL, BLOCK_LANTHANUM, BLOCK_LEAD, BLOCK_LUTETIUM, BLOCK_MAGNALIUM,
                BLOCK_MAGNESIUM, BLOCK_MANGANESE, BLOCK_METEORICIRON, BLOCK_METEORICSTEEL, BLOCK_TRINIUM, BLOCK_MITHRIL,
                BLOCK_MOLYBDENUM, BLOCK_NAQUADAH, BLOCK_NAQUADAHALLOY, BLOCK_NAQUADAHENRICHED, BLOCK_NAQUADRIA },
            STORAGE_BLOCKS5 = { BLOCK_NEODYMIUM, BLOCK_NEODYMIUMMAGNETIC, BLOCK_NEUTRONIUM, BLOCK_NICHROME,
                BLOCK_NICKEL, BLOCK_NIOBIUM, BLOCK_NIOBIUMNITRIDE, BLOCK_NIOBIUMTITANIUM, BLOCK_OSMIRIDIUM,
                BLOCK_OSMIUM, BLOCK_PALLADIUM, BLOCK_PIGIRON, BLOCK_PLATINUM, BLOCK_PLUTONIUM, BLOCK_PLUTONIUM241,
                BLOCK_PRASEODYMIUM },
            STORAGE_BLOCKS6 = { BLOCK_PROMETHIUM, BLOCK_REDALLOY, BLOCK_REDSTEEL, BLOCK_ROSEGOLD, BLOCK_RUBIDIUM,
                BLOCK_SAMARIUM, BLOCK_SCANDIUM, BLOCK_SHADOWIRON, BLOCK_SHADOWSTEEL, BLOCK_SILICON, BLOCK_SILVER,
                BLOCK_SOLDERINGALLOY, BLOCK_STAINLESSSTEEL, BLOCK_STEEL, BLOCK_STEELMAGNETIC, BLOCK_STERLINGSILVER },
            STORAGE_BLOCKS7 = { BLOCK_SUNNARIUM, BLOCK_TANTALUM, BLOCK_TELLURIUM, BLOCK_TERBIUM, BLOCK_THAUMIUM,
                BLOCK_THORIUM, BLOCK_THULIUM, BLOCK_TIN, BLOCK_TINALLOY, BLOCK_TITANIUM, BLOCK_TRITANIUM,
                BLOCK_TUNGSTEN, BLOCK_TUNGSTENSTEEL, BLOCK_ULTIMET, BLOCK_URANIUM, BLOCK_URANIUM235 },
            STORAGE_BLOCKS8 = { BLOCK_VANADIUM, BLOCK_VANADIUMGALLIUM, BLOCK_WROUGHTIRON, BLOCK_YTTRBIUM, BLOCK_YTTRIUM,
                BLOCK_YTTRIUMBARIUMCUPRATE, BLOCK_ZINC, BLOCK_TUNGSTENCARBIDE, BLOCK_VANADIUMSTEEL, BLOCK_HSSG,
                BLOCK_HSSE, BLOCK_HSSS, BLOCK_STEELEAF, BLOCK_ICHORIUM, BLOCK_FIRESTONE, BLOCK_SHADOW },
            STORAGE_BLOCKS9 = { BLOCK_AERCRYSTAL, BLOCK_AMBER, BLOCK_AMETHYST, BLOCK_AQUACRYSTAL, BLOCK_BLUETOPAZ,
                BLOCK_CERTUSQUARTZ, BLOCK_DILITHIUM, BLOCK_ENDEREYE, BLOCK_ENDERPEARL, BLOCK_FOOLSRUBY, BLOCK_FORCE,
                BLOCK_FORCICIUM, BLOCK_FORCILLIUM, BLOCK_GREENSAPPHIRE, BLOCK_IGNISCRYSTAL, BLOCK_JASPER },
            STORAGE_BLOCKS10 = { BLOCK_LAZURITE, BLOCK_LIGNITE, BLOCK_MONAZITE, BLOCK_NITER, BLOCK_OLIVINE, BLOCK_OPAL,
                BLOCK_ORDOCRYSTAL, BLOCK_PERDITIOCRYSTAL, BLOCK_PHOSPHORUS, BLOCK_QUARTZITE, BLOCK_REDGARNET,
                BLOCK_RUBY, BLOCK_SAPPHIRE, BLOCK_SODALITE, BLOCK_TANZANITE, BLOCK_TERRACRYSTAL },
            STORAGE_BLOCKS11 = { BLOCK_TOPAZ, BLOCK_VINTEUM, BLOCK_YELLOWGARNET, BLOCK_NETHERSTAR, BLOCK_CHARCOAL,
                BLOCK_BLAZE },
            STORAGE_BLOCKS12 = { BLOCK_CRYOLITE, BLOCK_SILICONSG, BLOCK_NICKELALUMINIUM, BLOCK_SPACETIME,
                BLOCK_TRANSCENDENTMETAL, BLOCK_ORIHARUKON, BLOCK_WHITEDWARFMATTER, BLOCK_BLACKDWARFMATTER,
                BLOCK_UNIVERSIUM, BLOCK_ETERNITY, BLOCK_MAGMATTER };

        public static final ITexture[] HIDDEN_TEXTURE = { TextureFactory.builder()
            .addIcon(HIDDEN_FACE)
            .stdOrient()
            .build() };
        public static final ITexture[] ERROR_RENDERING = { TextureFactory.of(RENDERING_ERROR) };
        public static final ITexture[] OVERLAYS_ENERGY_IN = {
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 180, 180, 180, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 220, 220, 220, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 255, 100, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 255, 255, 30, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 128, 128, 128, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 240, 240, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 220, 220, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 200, 200, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 180, 180, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 160, 160, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 140, 140, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 120, 120, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 100, 100, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 80, 80, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 60, 60, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN, new short[] { 40, 40, 245, 0 }), };
        public static ITexture[] OVERLAYS_ENERGY_OUT = {
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 180, 180, 180, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 220, 220, 220, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 255, 100, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 255, 255, 30, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 128, 128, 128, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 240, 240, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 220, 220, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 200, 200, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 180, 180, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 160, 160, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 140, 140, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 120, 120, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 100, 100, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 80, 80, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 60, 60, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT, new short[] { 40, 40, 245, 0 }), };
        public static final ITexture[] OVERLAYS_ENERGY_IN_MULTI = {
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 180, 180, 180, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 220, 220, 220, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 255, 100, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 255, 255, 30, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 128, 128, 128, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 240, 240, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 220, 220, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 200, 200, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 180, 180, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 160, 160, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 140, 140, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 120, 120, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 100, 100, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 80, 80, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 60, 60, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_MULTI, new short[] { 40, 40, 245, 0 }), };

        public static final ITexture[] OVERLAYS_ENERGY_IN_MULTI_WIRELESS_ON = {
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_ON_WIRELESS, new short[] { 255, 255, 255, 0 }), };

        public static final ITexture[] OVERLAYS_ENERGY_IN_MULTI_WIRELESS_OFF = {
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OFF_WIRELESS, new short[] { 0, 0, 0, 0 }), };

        public static final ITexture[] OVERLAYS_ENERGY_OUT_MULTI = {
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 180, 180, 180, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 220, 220, 220, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 255, 100, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 255, 255, 30, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 128, 128, 128, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 240, 240, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 220, 220, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 200, 200, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 180, 180, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 160, 160, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 140, 140, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 120, 120, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 100, 100, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 80, 80, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 60, 60, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_MULTI, new short[] { 40, 40, 245, 0 }), };
        public static final ITexture[] OVERLAYS_ENERGY_IN_POWER = {
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 180, 180, 180, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 220, 220, 220, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 255, 100, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 255, 255, 30, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 128, 128, 128, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 240, 240, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 220, 220, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 200, 200, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 180, 180, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 160, 160, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 140, 140, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 120, 120, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 100, 100, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 80, 80, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 60, 60, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_IN_POWER, new short[] { 40, 40, 245, 0 }), };
        public static final ITexture[] OVERLAYS_ENERGY_OUT_POWER = {
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 180, 180, 180, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 220, 220, 220, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 255, 100, 0, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 255, 255, 30, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 128, 128, 128, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 240, 240, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 220, 220, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 200, 200, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 180, 180, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 160, 160, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 140, 140, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 120, 120, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 100, 100, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 80, 80, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 60, 60, 245, 0 }),
            TextureFactory.of(OVERLAY_ENERGY_OUT_POWER, new short[] { 40, 40, 245, 0 }), };
        public static final ITexture[] LOCKERS = { TextureFactory.of(OVERLAY_LOCKER_000),
            TextureFactory.of(OVERLAY_LOCKER_001), TextureFactory.of(OVERLAY_LOCKER_002),
            TextureFactory.of(OVERLAY_LOCKER_003), TextureFactory.of(OVERLAY_LOCKER_004),
            TextureFactory.of(OVERLAY_LOCKER_005), TextureFactory.of(OVERLAY_LOCKER_006),
            TextureFactory.of(OVERLAY_LOCKER_007), TextureFactory.of(OVERLAY_LOCKER_008),
            TextureFactory.of(OVERLAY_LOCKER_009), TextureFactory.of(OVERLAY_LOCKER_010),
            TextureFactory.of(OVERLAY_LOCKER_011), TextureFactory.of(OVERLAY_LOCKER_012),
            TextureFactory.of(OVERLAY_LOCKER_013), };
        /**
         * USE casingTexturePages[page] instead of CASING_BLOCKS since it is casingTexturePages[0]
         */
        @Deprecated
        public static final ITexture[] CASING_BLOCKS = new ITexture[128]; // original variable still limited to 128

        public static ITexture[][] MACHINE_CASINGS = new ITexture[15][17];
        // spotless:off
        /**
         * by Default pages are null
         * page 0: 0-63 GT casing 1-4, 64-127 GT++
         * page 1: 0-15 GT casing 5, 22-26 GS dyson swarm, 48-57 GT casing 8, 63 EMT, 80-95 GT reinforced blocks, 96 casing 2 meta 6, 97 error casing
         * page 2: 0-15 solenoid coils
         * page 8: 0-111 TecTech, 112-127 GT casing 6
         * page 12: 0-127 GlodBlock
         * page 16: 0-15 GT glass 1, 16-31 GT casing 9, 32-47 GT glass 2, 48-63 GT casing 10, 64-79 GT casing 11
         * page 42: 0-126 glee8e, 127 KekzTech LSC base
         */
        // spotless:on
        public static ITexture[][] casingTexturePages = new ITexture[128][]; // page holder so we don't make an short
                                                                             // long array

        public static final int ERROR_TEXTURE_INDEX = (1 << 7) + 97;
        private static final Map<ITexture, Integer> reverseMap = new HashMap<>();

        static {
            for (byte i = 0; i < MACHINE_CASINGS.length; i++)
                for (byte j = 0; j < MACHINE_CASINGS[i].length; j++) MACHINE_CASINGS[i][j] = TextureFactory.of(
                    MACHINECASINGS_BOTTOM[i],
                    MACHINECASINGS_TOP[i],
                    MACHINECASINGS_SIDE[i],
                    Dyes.getModulation(j - 1, Dyes.MACHINE_METAL.mRGBa));
            casingTexturePages[0] = new ITexture[128];
            // adds some known pages, modders also can do it...
            GT_Utility.addTexturePage((byte) 1);
            GT_Utility.addTexturePage((byte) 2);
            GT_Utility.addTexturePage((byte) 8);
            GT_Utility.addTexturePage((byte) 16);
            setCasingTextureForId(ERROR_TEXTURE_INDEX, ERROR_RENDERING[0]);
        }

        IIcon mIcon;

        BlockIcons() {
            GregTech_API.sGTBlockIconload.add(this);
        }

        public static ITexture getCasingTextureForId(int id) {
            final ITexture[] page = casingTexturePages[(id >> 7) & 0x7f];
            if (page == null) return null;
            return page[id & 0x7f];
        }

        public static void setCasingTextureForId(int id, ITexture iTexture) {
            casingTexturePages[(byte) ((id >> 7) & 0x7f)][(byte) (id & 0x7f)] = iTexture;
            reverseMap.put(iTexture, id);
        }

        public static void setCasingTexture(byte page, byte index, ITexture iTexture) {
            casingTexturePages[page][index] = iTexture;
            reverseMap.put(iTexture, (page << 7) + index);
        }

        public static int getTextureIndex(ITexture texture) {
            Integer id = reverseMap.get(texture);
            return id == null ? ERROR_TEXTURE_INDEX : id;
        }

        @Override
        public IIcon getIcon() {
            return mIcon;
        }

        @Override
        public IIcon getOverlayIcon() {
            return null;
        }

        @Override
        public ResourceLocation getTextureFile() {
            return TextureMap.locationBlocksTexture;
        }

        @Override
        public void run() {
            mIcon = GregTech_API.sBlockIcons.registerIcon(GregTech.getResourcePath("iconsets", this.toString()));
        }

        public static class CustomIcon implements IIconContainer, Runnable {

            protected IIcon mIcon;
            protected String mIconName;

            public CustomIcon(String aIconName) {
                mIconName = !aIconName.contains(":") ? GregTech.getResourcePath(aIconName) : aIconName;
                GregTech_API.sGTBlockIconload.add(this);
            }

            @Override
            public void run() {
                mIcon = GregTech_API.sBlockIcons.registerIcon(mIconName);
            }

            @Override
            public IIcon getIcon() {
                return mIcon;
            }

            @Override
            public IIcon getOverlayIcon() {
                return null;
            }

            @Override
            public ResourceLocation getTextureFile() {
                return TextureMap.locationBlocksTexture;
            }
        }
    }

    public enum ItemIcons implements IIconContainer, Runnable {

        VOID, // The Empty Texture
        RENDERING_ERROR,
        WRENCH,
        MORTAR,
        CROWBAR,
        JACKHAMMER,
        WIRE_CUTTER,
        KNIFE,
        BUTCHERYKNIFE,
        SICKLE,
        SCOOP,
        GRAFTER,
        PLUNGER,
        ROLLING_PIN,
        HANDLE_SWORD,
        HANDLE_FILE,
        HANDLE_SAW,
        HANDLE_SCREWDRIVER,
        HANDLE_BUZZSAW,
        HANDLE_ELECTRIC_SCREWDRIVER,
        HANDLE_SOLDERING,
        POWER_UNIT_LV,
        POWER_UNIT_MV,
        POWER_UNIT_HV,
        DURABILITY_BAR_0,
        DURABILITY_BAR_1,
        DURABILITY_BAR_2,
        DURABILITY_BAR_3,
        DURABILITY_BAR_4,
        DURABILITY_BAR_5,
        DURABILITY_BAR_6,
        DURABILITY_BAR_7,
        DURABILITY_BAR_8,
        ENERGY_BAR_0,
        ENERGY_BAR_1,
        ENERGY_BAR_2,
        ENERGY_BAR_3,
        ENERGY_BAR_4,
        ENERGY_BAR_5,
        ENERGY_BAR_6,
        ENERGY_BAR_7,
        ENERGY_BAR_8,
        TURBINE,
        TURBINE_SMALL,
        TURBINE_LARGE,
        TURBINE_HUGE,
        POCKET_MULTITOOL_CLOSED,
        POCKET_MULTITOOL_BRANCHCUTTER,
        POCKET_MULTITOOL_FILE,
        POCKET_MULTITOOL_KNIFE,
        POCKET_MULTITOOL_SAW,
        POCKET_MULTITOOL_SCREWDRIVER,
        POCKET_MULTITOOL_WIRECUTTER,
        HALO,
        HALO_FUZZY;

        public static final IIconContainer[] DURABILITY_BAR = { DURABILITY_BAR_0, DURABILITY_BAR_1, DURABILITY_BAR_2,
            DURABILITY_BAR_3, DURABILITY_BAR_4, DURABILITY_BAR_5, DURABILITY_BAR_6, DURABILITY_BAR_7,
            DURABILITY_BAR_8, },
            ENERGY_BAR = { ENERGY_BAR_0, ENERGY_BAR_1, ENERGY_BAR_2, ENERGY_BAR_3, ENERGY_BAR_4, ENERGY_BAR_5,
                ENERGY_BAR_6, ENERGY_BAR_7, ENERGY_BAR_8, };

        public static final ITexture[] ERROR_RENDERING = { TextureFactory.of(RENDERING_ERROR) };

        IIcon mIcon, mOverlay;

        ItemIcons() {
            GregTech_API.sGTItemIconload.add(this);
        }

        @Override
        public IIcon getIcon() {
            return mIcon;
        }

        @Override
        public IIcon getOverlayIcon() {
            return mOverlay;
        }

        @Override
        public ResourceLocation getTextureFile() {
            return TextureMap.locationItemsTexture;
        }

        @Override
        public void run() {
            mIcon = GregTech_API.sItemIcons.registerIcon(GregTech.getResourcePath("iconsets", this.toString()));
            mOverlay = GregTech_API.sItemIcons.registerIcon(GregTech.getResourcePath("iconsets", this + "_OVERLAY"));
        }

        public static class CustomIcon implements IIconContainer, Runnable {

            protected IIcon mIcon, mOverlay;
            protected String mIconName;

            public CustomIcon(String aIconName) {
                mIconName = aIconName;
                GregTech_API.sGTItemIconload.add(this);
            }

            @Override
            public IIcon getIcon() {
                return mIcon;
            }

            @Override
            public IIcon getOverlayIcon() {
                return mOverlay;
            }

            @Override
            public ResourceLocation getTextureFile() {
                return TextureMap.locationItemsTexture;
            }

            @Override
            public void run() {
                mIcon = GregTech_API.sItemIcons.registerIcon(GregTech.getResourcePath(mIconName));
                mOverlay = GregTech_API.sItemIcons.registerIcon(GregTech.getResourcePath(mIconName + "_OVERLAY"));
            }
        }
    }
}