From 7d1f51a8937e0a86486267437d444696e81e8aa0 Mon Sep 17 00:00:00 2001 From: Jakub <53441451+kuba6000@users.noreply.github.com> Date: Mon, 29 Aug 2022 16:04:28 +0200 Subject: Buildscript + Spotless (#318) * Convert AES.java to readable class * Buildscript * Spotless --- .../xmod/gregtech/api/enums/CustomGtTextures.java | 142 +- .../xmod/gregtech/api/enums/CustomOrePrefix.java | 230 +- .../xmod/gregtech/api/enums/GregtechItemList.java | 2068 ++++++------ .../gregtech/api/enums/GregtechOreDictNames.java | 33 +- .../gregtech/api/enums/GregtechOrePrefixes.java | 3476 ++++++++++++++------ .../gregtech/api/enums/GregtechTextureSet.java | 298 +- .../xmod/gregtech/api/enums/GregtechTextures.java | 351 +- .../gregtech/api/enums/GregtechToolDictNames.java | 11 +- 8 files changed, 4227 insertions(+), 2382 deletions(-) (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/enums') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java index 554983c41c..a31e728e23 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java @@ -1,81 +1,79 @@ package gtPlusPlus.xmod.gregtech.api.enums; -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.objects.GT_RenderedTexture; - import gtPlusPlus.core.lib.CORE; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; public class CustomGtTextures { - public enum ItemIcons implements IIconContainer, Runnable { - VOID, // The Empty Texture - RENDERING_ERROR, - PUMP, - SKOOKUMCHOOCHER; - - public static final ITexture[] ERROR_RENDERING = new ITexture[]{new GT_RenderedTexture(RENDERING_ERROR)}; - - protected IIcon mIcon, mOverlay; - - private ItemIcons() { - GregTech_API.sGTItemIconload.add(this); - } - - @Override - public IIcon getIcon() { - return this.mIcon; - } - - @Override - public IIcon getOverlayIcon() { - return this.mOverlay; - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationItemsTexture; - } - - @Override - public void run() { - this.mIcon = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + "iconsets/" + this); - this.mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + "iconsets/" + this + "_OVERLAY"); - } - - public static class CustomIcon implements IIconContainer, Runnable { - protected IIcon mIcon, mOverlay; - protected String mIconName; - - public CustomIcon(final String aIconName) { - this.mIconName = aIconName; - GregTech_API.sGTItemIconload.add(this); - } - - @Override - public IIcon getIcon() { - return this.mIcon; - } - - @Override - public IIcon getOverlayIcon() { - return this.mOverlay; - } - - @Override - public void run() { - this.mIcon = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + this.mIconName); - this.mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + this.mIconName + "_OVERLAY"); - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationItemsTexture; - } - } - } -} \ No newline at end of file + public enum ItemIcons implements IIconContainer, Runnable { + VOID, // The Empty Texture + RENDERING_ERROR, + PUMP, + SKOOKUMCHOOCHER; + + public static final ITexture[] ERROR_RENDERING = new ITexture[] {new GT_RenderedTexture(RENDERING_ERROR)}; + + protected IIcon mIcon, mOverlay; + + private ItemIcons() { + GregTech_API.sGTItemIconload.add(this); + } + + @Override + public IIcon getIcon() { + return this.mIcon; + } + + @Override + public IIcon getOverlayIcon() { + return this.mOverlay; + } + + @Override + public ResourceLocation getTextureFile() { + return TextureMap.locationItemsTexture; + } + + @Override + public void run() { + this.mIcon = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + "iconsets/" + this); + this.mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + "iconsets/" + this + "_OVERLAY"); + } + + public static class CustomIcon implements IIconContainer, Runnable { + protected IIcon mIcon, mOverlay; + protected String mIconName; + + public CustomIcon(final String aIconName) { + this.mIconName = aIconName; + GregTech_API.sGTItemIconload.add(this); + } + + @Override + public IIcon getIcon() { + return this.mIcon; + } + + @Override + public IIcon getOverlayIcon() { + return this.mOverlay; + } + + @Override + public void run() { + this.mIcon = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + this.mIconName); + this.mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + this.mIconName + "_OVERLAY"); + } + + @Override + public ResourceLocation getTextureFile() { + return TextureMap.locationItemsTexture; + } + } + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java index 9647b00578..c0c4e6a5c8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java @@ -6,107 +6,135 @@ import gregtech.api.enums.OrePrefixes; import net.minecraftforge.common.util.EnumHelper; public enum CustomOrePrefix { + milled( + "Milled Ores", + "Milled ", + " Ore", + true, + true, + false, + false, + false, + false, + false, + false, + false, + true, + B[3], + -1, + 64, + -1); - milled("Milled Ores", "Milled ", " Ore", true, true, false, false, false, false, false, false, false, true, B[3], -1, 64, -1); - - private final String mRegularLocalName; - private final String mLocalizedMaterialPre; - private final String mLocalizedMaterialPost; - private final boolean mIsUnificatable; - private final boolean mIsMaterialBased; - private final boolean mIsSelfReferencing; - private final boolean mIsContainer; - private final boolean mDontUnificateActively; - private final boolean mIsUsedForBlocks; - private final boolean mAllowNormalRecycling; - private final boolean mGenerateDefaultItem; - private final boolean mIsEnchantable; - private final boolean mIsUsedForOreProcessing; - private final int mMaterialGenerationBits; - private final long mMaterialAmount; - private final int mDefaultStackSize; - private final int mTextureindex; - - private OrePrefixes mSelfReference; - - private CustomOrePrefix( - String aRegularLocalName, - String aLocalizedMaterialPre, - String aLocalizedMaterialPost, - boolean aIsUnificatable, - boolean aIsMaterialBased, - boolean aIsSelfReferencing, - boolean aIsContainer, - boolean aDontUnificateActively, - boolean aIsUsedForBlocks, - boolean aAllowNormalRecycling, - boolean aGenerateDefaultItem, - boolean aIsEnchantable, - boolean aIsUsedForOreProcessing, - int aMaterialGenerationBits, - long aMaterialAmount, - int aDefaultStackSize, - int aTextureindex) { - - mRegularLocalName = aRegularLocalName; - mLocalizedMaterialPre = aLocalizedMaterialPre; - mLocalizedMaterialPost = aLocalizedMaterialPost; - mIsUnificatable = aIsUnificatable; - mIsMaterialBased = aIsMaterialBased; - mIsSelfReferencing = aIsSelfReferencing; - mIsContainer = aIsContainer; - mDontUnificateActively = aDontUnificateActively; - mIsUsedForBlocks = aIsUsedForBlocks; - mAllowNormalRecycling = aAllowNormalRecycling; - mGenerateDefaultItem = aGenerateDefaultItem; - mIsEnchantable = aIsEnchantable; - mIsUsedForOreProcessing = aIsUsedForOreProcessing; - mMaterialGenerationBits = aMaterialGenerationBits; - mMaterialAmount = aMaterialAmount; - mDefaultStackSize = aDefaultStackSize; - mTextureindex = aTextureindex; - - } - - public final boolean addToEnum() { - - mSelfReference = EnumHelper.addEnum(OrePrefixes.class, this.name(), - new Class[] { - String.class, - String.class, String.class, boolean.class, - boolean.class, boolean.class, boolean.class, - boolean.class, boolean.class, boolean.class, - boolean.class, boolean.class, boolean.class, - int.class, long.class, int.class, int.class - }, - new Object[] { - mRegularLocalName, - mLocalizedMaterialPre, - mLocalizedMaterialPost, - mIsUnificatable, - mIsMaterialBased, - mIsSelfReferencing, - mIsContainer, - mDontUnificateActively, - mIsUsedForBlocks, - mAllowNormalRecycling, - mGenerateDefaultItem, - mIsEnchantable, - mIsUsedForOreProcessing, - mMaterialGenerationBits, - mMaterialAmount, - mDefaultStackSize, - mTextureindex}); - - return mSelfReference != null; - } - - public static final boolean checkEntryWasAdded(CustomOrePrefix aCustomPrefixObject) { - return aCustomPrefixObject.mSelfReference != null; - } - - public OrePrefixes get() { - return mSelfReference; - } + private final String mRegularLocalName; + private final String mLocalizedMaterialPre; + private final String mLocalizedMaterialPost; + private final boolean mIsUnificatable; + private final boolean mIsMaterialBased; + private final boolean mIsSelfReferencing; + private final boolean mIsContainer; + private final boolean mDontUnificateActively; + private final boolean mIsUsedForBlocks; + private final boolean mAllowNormalRecycling; + private final boolean mGenerateDefaultItem; + private final boolean mIsEnchantable; + private final boolean mIsUsedForOreProcessing; + private final int mMaterialGenerationBits; + private final long mMaterialAmount; + private final int mDefaultStackSize; + private final int mTextureindex; + private OrePrefixes mSelfReference; + + private CustomOrePrefix( + String aRegularLocalName, + String aLocalizedMaterialPre, + String aLocalizedMaterialPost, + boolean aIsUnificatable, + boolean aIsMaterialBased, + boolean aIsSelfReferencing, + boolean aIsContainer, + boolean aDontUnificateActively, + boolean aIsUsedForBlocks, + boolean aAllowNormalRecycling, + boolean aGenerateDefaultItem, + boolean aIsEnchantable, + boolean aIsUsedForOreProcessing, + int aMaterialGenerationBits, + long aMaterialAmount, + int aDefaultStackSize, + int aTextureindex) { + + mRegularLocalName = aRegularLocalName; + mLocalizedMaterialPre = aLocalizedMaterialPre; + mLocalizedMaterialPost = aLocalizedMaterialPost; + mIsUnificatable = aIsUnificatable; + mIsMaterialBased = aIsMaterialBased; + mIsSelfReferencing = aIsSelfReferencing; + mIsContainer = aIsContainer; + mDontUnificateActively = aDontUnificateActively; + mIsUsedForBlocks = aIsUsedForBlocks; + mAllowNormalRecycling = aAllowNormalRecycling; + mGenerateDefaultItem = aGenerateDefaultItem; + mIsEnchantable = aIsEnchantable; + mIsUsedForOreProcessing = aIsUsedForOreProcessing; + mMaterialGenerationBits = aMaterialGenerationBits; + mMaterialAmount = aMaterialAmount; + mDefaultStackSize = aDefaultStackSize; + mTextureindex = aTextureindex; + } + + public final boolean addToEnum() { + + mSelfReference = EnumHelper.addEnum( + OrePrefixes.class, + this.name(), + new Class[] { + String.class, + String.class, + String.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + int.class, + long.class, + int.class, + int.class + }, + new Object[] { + mRegularLocalName, + mLocalizedMaterialPre, + mLocalizedMaterialPost, + mIsUnificatable, + mIsMaterialBased, + mIsSelfReferencing, + mIsContainer, + mDontUnificateActively, + mIsUsedForBlocks, + mAllowNormalRecycling, + mGenerateDefaultItem, + mIsEnchantable, + mIsUsedForOreProcessing, + mMaterialGenerationBits, + mMaterialAmount, + mDefaultStackSize, + mTextureindex + }); + + return mSelfReference != null; + } + + public static final boolean checkEntryWasAdded(CustomOrePrefix aCustomPrefixObject) { + return aCustomPrefixObject.mSelfReference != null; + } + + public OrePrefixes get() { + return mSelfReference; + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index 32c3f9f271..cee5131f67 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -16,970 +16,1104 @@ import net.minecraft.item.ItemStack; */ public enum GregtechItemList implements GregtechItemContainer { - /** - * Items - */ - - // Advanced Hazmat Suit - Armour_Hazmat_Advanced_Helmet, - Armour_Hazmat_Advanced_Chest, - Armour_Hazmat_Advanced_Legs, - Armour_Hazmat_Advanced_Boots, - - //Gregtech Machine Parts - Electric_Motor_LuV, Electric_Motor_ZPM, Electric_Motor_UV, Electric_Motor_MAX, - Electric_Pump_LuV, Electric_Pump_ZPM, Electric_Pump_UV, Electric_Pump_MAX, - Conveyor_Module_LuV, Conveyor_Module_ZPM, Conveyor_Module_UV, Conveyor_Module_MAX, - Electric_Piston_LuV, Electric_Piston_ZPM, Electric_Piston_UV, Electric_Piston_MAX, - Robot_Arm_LuV, Robot_Arm_ZPM, Robot_Arm_UV, Robot_Arm_MAX, - Field_Generator_LuV, Field_Generator_ZPM, Field_Generator_UV, Field_Generator_MAX, - Emitter_LuV, Emitter_ZPM, Emitter_UV, Emitter_MAX, - Sensor_LuV, Sensor_ZPM, Sensor_UV, Sensor_MAX, - - //ULV Components - Electric_Motor_ULV, - Electric_Pump_ULV, - Conveyor_Module_ULV, - Electric_Piston_ULV, - Robot_Arm_ULV, - Field_Generator_ULV, - Emitter_ULV, - Sensor_ULV, - - // Mixed Components - TransmissionComponent_ULV, TransmissionComponent_LV, - TransmissionComponent_MV, TransmissionComponent_HV, - TransmissionComponent_EV, TransmissionComponent_IV, - TransmissionComponent_LuV, TransmissionComponent_ZPM, - TransmissionComponent_UV, TransmissionComponent_MAX, - - //Recipe Circuit - Circuit_BioRecipeSelector, - Circuit_T3RecipeSelector, - - //Circuits - Old_Circuit_Primitive, Old_Circuit_Basic, Old_Circuit_Good, - Old_Circuit_Advanced, Old_Circuit_Data, Old_Circuit_Elite, - Old_Circuit_Master, Old_Tool_DataOrb, Old_Circuit_Ultimate, Old_Tool_DataStick, - Circuit_IV, Circuit_LuV, Circuit_ZPM, - - //Circuit Parts - Circuit_Board_IV, Circuit_Board_LuV, Circuit_Board_ZPM, - Circuit_Parts_Crystal_Chip_IV, Circuit_Parts_Crystal_Chip_LuV, Circuit_Parts_Crystal_Chip_ZPM, - Circuit_Parts_IV, Circuit_Parts_LuV, Circuit_Parts_ZPM, - Circuit_Parts_Wiring_IV, Circuit_Parts_Wiring_LuV, Circuit_Parts_Wiring_ZPM, - - //Old Style Circuits - Old_Circuit_Board_Basic, Old_Circuit_Board_Advanced, Old_Circuit_Board_Elite, - Old_Circuit_Parts_Crystal_Chip_Elite, Old_Circuit_Parts_Crystal_Chip_Master, Old_Circuit_Parts_Advanced, - Old_Circuit_Parts_Wiring_Basic, Old_Circuit_Parts_Wiring_Advanced, Old_Circuit_Parts_Wiring_Elite, - Old_Empty_Board_Basic, Old_Empty_Board_Elite, - - //Batteries - Battery_RE_EV_Sodium, - Battery_RE_EV_Cadmium, - Battery_RE_EV_Lithium, - - //Shapes for Extruder - Shape_Extruder_WindmillShaft, - Shape_Extruder_SmallGear, - - //Cooked Raisin Toast for ImQ009 - Food_Baked_Raisin_Bread, - - - //Fluid Cells to regulate flows. - Fluid_Cell_1L, Fluid_Cell_16L, - Fluid_Cell_36L, Fluid_Cell_144L, - - //Debug - TESTITEM, - - // Larger Volumetric Flasks - VOLUMETRIC_FLASK_8k, - VOLUMETRIC_FLASK_32k, - - //RTG Fuels - Pellet_RTG_PU238, Pellet_RTG_SR90, - Pellet_RTG_PO210, Pellet_RTG_AM241, - - //Computer Cube - Gregtech_Computer_Cube, - Gregtech_Computer_Cube_Machine, - - //Casings for batteries - Battery_Casing_Gem_1, Battery_Casing_Gem_2, - Battery_Casing_Gem_3, Battery_Casing_Gem_4, - - //Custom Batteries - Battery_Gem_1, Battery_Gem_2, - Battery_Gem_3, Battery_Gem_4, - - //Compressed Fusion MK3 - Compressed_Fusion_Reactor, - - //Carbon Materials - NanoTube_Base_Substrate, - NanoTube_Finished, - Carbyne_Tube_Finished, - Carbyne_Sheet_Finished, - - //End Game Laser Engraver Lens - Laser_Lens_WoodsGlass, - Laser_Lens_Special, - - //Bombs - Bomb_Cast, Bomb_Cast_Molten, - Bomb_Cast_Set, Bomb_Cast_Broken, - Bomb_Cast_Mold, - - // Pellet Mold - Pellet_Mold, - - //Charged Items for Tree Farms - Farm_Processor_EV, - Farm_Processor_IV, - Farm_Processor_LuV, - Farm_Processor_ZPM, - Farm_Processor_UV, - - // Upgrade chip for Distillus - Distillus_Upgrade_Chip, - - - // Chips used to nerf my multis via custom behavioural attachments - Chip_MultiNerf_NoOutputBonus, - Chip_MultiNerf_NoSpeedBonus, - Chip_MultiNerf_NoEuBonus, - - // Milling Balls - Milling_Ball_Alumina, - Milling_Ball_Soapstone, - - - //---------------------------------------------------------------------------- - - - - /** - * MultiBlocks - */ - - - // Tier GT++ Casings - GTPP_Casing_ULV, GTPP_Casing_LV, - GTPP_Casing_MV, GTPP_Casing_HV, - GTPP_Casing_EV, GTPP_Casing_IV, - GTPP_Casing_LuV, GTPP_Casing_ZPM, - GTPP_Casing_UV, GTPP_Casing_MAX, - - //IronBlastFurnace Machine_Bronze_BlastFurnace - Machine_Iron_BlastFurnace, - Casing_IronPlatedBricks, - - //Large Centrifuge - Industrial_Centrifuge, - Casing_Centrifuge1, - - // Large Alloy Smelter - Industrial_AlloySmelter, - - //Coke Oven - Industrial_CokeOven, - Casing_CokeOven, - Casing_CokeOven_Coil1, - Casing_CokeOven_Coil2, - - //Bending Maching // Plate Press // Press - Industrial_PlatePress, - Casing_MaterialPress, - - //Matter Fab - Industrial_MassFab, - Casing_MatterGen, - Casing_MatterFab, - - //ABS - Industrial_AlloyBlastSmelter, - Casing_Coil_BlastSmelter, - Casing_BlastSmelter, - - //Industrial Electrolyzer - Industrial_Electrolyzer, - Casing_Electrolyzer, - - //Industrial Maceration Stack - Industrial_MacerationStack, - Casing_MacerationStack, - - //Industrial Wire Factory - Industrial_WireFactory, - Casing_WireFactory, - - //Power sub-station for mass storage. 3 hatches for input and output, whatever voltages you desire. - PowerSubStation, - Casing_Vanadium_Redox, - Casing_Vanadium_Redox_IV, - Casing_Vanadium_Redox_LuV, - Casing_Vanadium_Redox_ZPM, - Casing_Vanadium_Redox_UV, - Casing_Vanadium_Redox_MAX, - Casing_Power_SubStation, - - - //LFTR - ThoriumReactor, - Casing_Reactor_I, - Casing_Reactor_II, - - //Multitank - /*Industrial_MultiTank,*/ - Industrial_MultiTankDense, - Casing_MultitankExterior, - - - //Fission Fuel Refinery - Industrial_FuelRefinery, - Casing_Refinery_External, - Casing_Refinery_Structural, - Casing_Refinery_Internal, - - - //Industrial Sifter - Industrial_Sifter, - Casing_Sifter, - Casing_SifterGrate, - - - //Large Thermal Centrifuge - Industrial_ThermalCentrifuge, - Casing_ThermalCentrifuge, - - - //Cyclotron - COMET_Cyclotron, - Casing_Cyclotron_Coil, - Casing_Cyclotron_External, - - //Thermal Boiler - GT4_Thermal_Boiler, - Casing_ThermalContainment, - - - //Tree Farm - Industrial_TreeFarm, - TreeFarmer_Structural, - Casing_PLACEHOLDER_TreeFarmer, - - - //Fish Pond - Industrial_FishingPond, - Casing_FishPond, - - //Algae - AlgaeFarm_Controller, - - //Chemical Plant - ChemicalPlant_Controller, - - //GT4 autoCrafter - GT4_Multi_Crafter, - Casing_Autocrafter, - - - //industrial Ore-Washer - Industrial_WashPlant, - Casing_WashPlant, - - - //Generator Array - Generator_Array_Controller, - - - //Cutting Factory Controller - Industrial_CuttingFactoryController, - Casing_CuttingFactoryFrame, - - - //Tesla Tower - TelsaTower, - Casing_TeslaTower, - - - //Large Extruder - Industrial_Extruder, - Casing_Extruder, - - - //Multi-Machine - Industrial_MultiMachine, - Casing_Multi_Use, - - - //Bedrock Mining Platforms - /*BedrockMiner_MKI, */ - /*BedrockMiner_MKII, */ - /*BedrockMiner_MKIII, */ - Casing_BedrockMiner, - - - //Large Packager - Amazon_Warehouse_Controller, - Casing_AmazonWarehouse, - - - //Advanced GT vanilla Multis - Machine_Adv_BlastFurnace, - Casing_Adv_BlastFurnace, - Machine_Adv_ImplosionCompressor, - Machine_Adv_DistillationTower, - - //Advanced Assembly Line - Machine_Adv_AssemblyLine, - - //Advanced Vacuum Freezer - Industrial_Cryogenic_Freezer, - Casing_AdvancedVacuum, - - - //FusionTek MK IV - FusionComputer_UV2, - Casing_Fusion_External, - Casing_Fusion_Internal, - - - //large mixer - Industrial_Mixer, - - - //Naq Reactor - Casing_Naq_Reactor_A, - Casing_Naq_Reactor_B, - Casing_Naq_Reactor_C, - /*Controller_Naq_Reactor, */ - Casing_Containment, - - //Arc Furnace - Industrial_Arc_Furnace, - Casing_Industrial_Arc_Furnace, - - //Solar Tower - Industrial_Solar_Tower, - Casing_SolarTower_Structural, - Casing_SolarTower_SaltContainment, - Casing_SolarTower_HeatContainment, - - //Larger Turbines - Large_Steam_Turbine, Large_HPSteam_Turbine, - Large_Gas_Turbine, Large_Plasma_Turbine, - Casing_Turbine_Shaft, - Casing_Turbine_LP, Casing_Turbine_HP, - Casing_Turbine_Gas, Casing_Turbine_Plasma, - XL_HeatExchanger, Casing_XL_HeatExchanger, - - // Large Engine - Casing_Reinforced_Engine_Casing, - - //Large Vacuum Furnace - Casing_Vacuum_Furnace, - Controller_Vacuum_Furnace, - - // Large Rocket Engine - Casing_RocketEngine, - Controller_RocketEngine, - - // Large Semi-Fluid - Controller_LargeSemifluidGenerator, - - // IsaMill - Controller_IsaMill, - Casing_IsaMill_Casing, - Casing_IsaMill_Gearbox, - Casing_IsaMill_Pipe, - - // Flotation Cell - Controller_Flotation_Cell, - Casing_Flotation_Cell, - - // Sparge Tower - Controller_Sparge_Tower, - Casing_Sparge_Tower_Exterior, - Casing_Sparge_Tower_Interior, - - // Elemental Duplicator - Controller_ElementalDuplicator, - Casing_ElementalDuplicator, - - // Forge Hammer - Controller_IndustrialForgeHammer, - Casing_IndustrialForgeHammer, - - // Molecular Transformer - Controller_MolecularTransformer, - Casing_Molecular_Transformer_1, - Casing_Molecular_Transformer_2, - Casing_Molecular_Transformer_3, - - // Big Steam Macerator - Controller_SteamMaceratorMulti, - // Big Steam Compressor - Controller_SteamCompressorMulti, - - // Industrial Rock Breaker - Controller_IndustrialRockBreaker, - - // Industrial Chisel - Controller_IndustrialAutoChisel, - Casing_IndustrialAutoChisel, - - // Industrial Fluid Heater - Controller_IndustrialFluidHeater, - - // Custom Machine Casings - Casing_Machine_Custom_1, - Casing_Machine_Custom_2, - Casing_Machine_Custom_3, - Casing_Machine_Custom_4, - Casing_Machine_Custom_5, - Casing_Machine_Custom_6, - - - //---------------------------------------------------------------------------- - - /** - * Custom hatches/Busses - */ - - //Buffer Dynamos - Hatch_Buffer_Dynamo_ULV, Hatch_Buffer_Dynamo_LV, Hatch_Buffer_Dynamo_MV, Hatch_Buffer_Dynamo_HV, Hatch_Buffer_Dynamo_EV, - Hatch_Buffer_Dynamo_IV, Hatch_Buffer_Dynamo_LuV, Hatch_Buffer_Dynamo_ZPM, Hatch_Buffer_Dynamo_UV, Hatch_Buffer_Dynamo_MAX, - - //Air Intake hatch - Hatch_Air_Intake, - Hatch_Air_Intake_Extreme, - - //Reservoir Hatch - Hatch_Reservoir, - - //XL Turbine Rotor Hatch - Hatch_Turbine_Rotor, - - //Standard Turbine Rotor Hatch - Hatch_Input_TurbineHousing, - - //Control Core - Hatch_Control_Core, - - // Milling Ball Bus - Bus_Milling_Balls, - - // Catalyst Bus - Bus_Catalysts, - - //Custom Fluid Hatches - Hatch_Input_Cryotheum, - Hatch_Input_Pyrotheum, - Hatch_Input_Naquadah, - Hatch_Input_Steam, - - //Steam Multi Buses - Hatch_Input_Bus_Steam, - Hatch_Output_Bus_Steam, - - //Elemental Duplicator Data Orb Bus - Hatch_Input_Elemental_Duplicator, - - //RTG Hatch - Hatch_RTG_LV, - Hatch_RTG_MV, - Hatch_RTG_HV, - - //Battery hatches for PSS - Hatch_Input_Battery_MV, - Hatch_Input_Battery_EV, - Hatch_Output_Battery_MV, - Hatch_Output_Battery_EV, - - //Advanced Mufflers - Hatch_Muffler_Adv_LV, Hatch_Muffler_Adv_MV, Hatch_Muffler_Adv_HV, - Hatch_Muffler_Adv_EV, Hatch_Muffler_Adv_IV, Hatch_Muffler_Adv_LuV, - Hatch_Muffler_Adv_ZPM, Hatch_Muffler_Adv_UV, Hatch_Muffler_Adv_MAX, - - //Super Input Busses - Hatch_SuperBus_Input_ULV, Hatch_SuperBus_Input_LV, Hatch_SuperBus_Input_MV, - Hatch_SuperBus_Input_HV, Hatch_SuperBus_Input_EV, Hatch_SuperBus_Input_IV, - Hatch_SuperBus_Input_LuV, Hatch_SuperBus_Input_ZPM, Hatch_SuperBus_Input_UV, - Hatch_SuperBus_Input_MAX, - - //Super Output Busses - Hatch_SuperBus_Output_ULV, Hatch_SuperBus_Output_LV, Hatch_SuperBus_Output_MV, - Hatch_SuperBus_Output_HV, Hatch_SuperBus_Output_EV, Hatch_SuperBus_Output_IV, - Hatch_SuperBus_Output_LuV, Hatch_SuperBus_Output_ZPM, Hatch_SuperBus_Output_UV, - Hatch_SuperBus_Output_MAX, - - - //---------------------------------------------------------------------------- - - - /** - * Blocks - */ - - - ResonanceChamber_I, - ResonanceChamber_II, - ResonanceChamber_III, - ResonanceChamber_IV, - - Modulator_I, - Modulator_II, - Modulator_III, - Modulator_IV, - - //---------------------------------------------------------------------------- - - - /** - * Single Block Tile Entities - */ - - //ULV Generators - Generator_Diesel_ULV, Generator_Gas_Turbine_ULV, Generator_Steam_Turbine_ULV, - - //Crate Box - CrateStorage, - - //Auto TC Research Creator - Thaumcraft_Researcher, - - //Threaded Buffers - Automation_Threaded_SuperBuffer_ULV, Automation_Threaded_SuperBuffer_LV, Automation_Threaded_SuperBuffer_MV, Automation_Threaded_SuperBuffer_HV, Automation_Threaded_SuperBuffer_EV, - Automation_Threaded_SuperBuffer_IV, Automation_Threaded_SuperBuffer_LuV, Automation_Threaded_SuperBuffer_ZPM, Automation_Threaded_SuperBuffer_UV, Automation_Threaded_SuperBuffer_MAX, - - //infinite Items - Infinite_Item_Chest, - - //GT4 Redstone - GT4_Redstone_Lamp, - GT4_Redstone_Button_Panel, - GT4_Redstone_Scale, - GT4_Redstone_Display, - GT4_Redstone_Circuit, - - //Gt4 Workbenches - GT4_Workbench_Bronze, - GT4_Workbench_Advanced, - - //GT4 automation - GT4_Electric_Auto_Workbench_LV, - GT4_Electric_Auto_Workbench_MV, - GT4_Electric_Auto_Workbench_HV, - GT4_Electric_Auto_Workbench_EV, - GT4_Electric_Auto_Workbench_IV, - GT4_Electric_Auto_Workbench_LuV, - GT4_Electric_Auto_Workbench_ZPM, - GT4_Electric_Auto_Workbench_UV, - GT4_Electric_Inventory_Manager_LV, - GT4_Electric_Inventory_Manager_MV, - GT4_Electric_Inventory_Manager_HV, - GT4_Electric_Inventory_Manager_EV, - GT4_Electric_Inventory_Manager_IV, - GT4_Electric_Inventory_Manager_LuV, - GT4_Electric_Inventory_Manager_ZPM, - GT4_Electric_Inventory_Manager_UV, - - //GT4 Crop Harvester - GT4_Crop_Harvester_LV, - GT4_Crop_Harvester_MV, - GT4_Crop_Harvester_HV, - GT4_Crop_Harvester_EV, - GT4_Crop_Harvester_IV, - GT4_Crop_Harvester_LuV, - GT4_Crop_Harvester_ZPM, - GT4_Crop_Harvester_UV, - - - //Geothermal Engines - Geothermal_Engine_EV, - Geothermal_Engine_IV, - Geothermal_Engine_LuV, - - - //Tesseracts - GT4_Tesseract_Generator, - GT4_Tesseract_Terminal, - - - //Advanced Boilers - Boiler_Advanced_LV, - Boiler_Advanced_MV, - Boiler_Advanced_HV, - - - //Fancy Pollution Devices - Pollution_Detector, - Pollution_Cleaner_ULV, Pollution_Cleaner_LV, - Pollution_Cleaner_MV, Pollution_Cleaner_HV, - Pollution_Cleaner_EV, Pollution_Cleaner_IV, - Pollution_Cleaner_LuV, Pollution_Cleaner_ZPM, - Pollution_Cleaner_UV, Pollution_Cleaner_MAX, - - - //Debug machine - Pollution_Creator, - Garbage_Collector_Debug_Machine, - - - //Basically is an automatic Cauldron - SimpleDustWasher_ULV, - SimpleDustWasher_MV, - SimpleDustWasher_EV, - SimpleDustWasher_LuV, - SimpleDustWasher_UV, - - //Solar Tower Reflector - Solar_Tower_Reflector, - - //Super Tier Chests - Super_Chest_LV, Super_Chest_MV, Super_Chest_HV, Super_Chest_EV, Super_Chest_IV, - - //Chunkloader - GT_Chunkloader_HV, GT_Chunkloader_ZPM, GT_Chunkloader_IV, - - - //Wireless Chargers - Charger_LV, Charger_MV, Charger_HV, - Charger_EV, Charger_IV, Charger_LuV, - Charger_ZPM, Charger_UV, Charger_MAX, - - - //Tiny Fusion - /*Miniature_Fusion, */ - - - //Component Makers - Machine_LV_Component_Maker, - Machine_MV_Component_Maker, - Machine_HV_Component_Maker, - Machine_EV_Component_Maker, - Machine_IV_Component_Maker, - Machine_LuV_Component_Maker, - Machine_ZPM_Component_Maker, - Machine_UV_Component_Maker, - - // Reactor Processing Unit - ReactorProcessingUnit_IV, - ReactorProcessingUnit_ZPM, - - // Cold Trap - ColdTrap_IV, - ColdTrap_ZPM, - - //Breakers - BreakerBox_ULV, BreakerBox_LV, BreakerBox_MV, - BreakerBox_HV, BreakerBox_EV, BreakerBox_IV, - BreakerBox_LuV, BreakerBox_ZPM, BreakerBox_UV, - BreakerBox_MAX, - - - //Solar Generators - GT_Solar_ULV, GT_Solar_LV, GT_Solar_MV, - GT_Solar_HV, GT_Solar_EV, GT_Solar_IV, - GT_Solar_LuV, GT_Solar_ZPM, GT_Solar_UV, GT_Solar_MAX, - - - //512v Creative Buffer - Energy_Buffer_CREATIVE, - //Variable voltage RF convertor - Energy_Buffer_RF_Convertor, - //Energy Buffers - Energy_Buffer_1by1_ULV, Energy_Buffer_1by1_LV, - Energy_Buffer_1by1_MV, Energy_Buffer_1by1_HV, - Energy_Buffer_1by1_EV, Energy_Buffer_1by1_IV, - Energy_Buffer_1by1_LuV, Energy_Buffer_1by1_ZPM, - Energy_Buffer_1by1_UV, Energy_Buffer_1by1_MAX, - - - //Cobble Generators - Cobble_Generator_ULV, Cobble_Generator_LV, - Cobble_Generator_MV, Cobble_Generator_HV, - Cobble_Generator_EV, Cobble_Generator_IV, - Cobble_Generator_LuV, Cobble_Generator_ZPM, - Cobble_Generator_UV, Cobble_Generator_MAX, - - - //The max Steam condenser - Condensor_MAX, - - - //Player owned Safes - GT_Safe_ULV, GT_Safe_LV, - GT_Safe_MV, GT_Safe_HV, - GT_Safe_EV, GT_Safe_IV, - GT_Safe_LuV, GT_Safe_ZPM, - GT_Safe_UV, GT_Safe_MAX, - - - //Rocket Engines - Rocket_Engine_EV, - Rocket_Engine_IV, - Rocket_Engine_LuV, - - - //GT4 Shelves - GT4_Shelf, GT4_Shelf_Iron, - GT4_Shelf_FileCabinet, GT4_Shelf_Desk, - GT4_Shelf_Compartment, GT4_Shelf_Large, - - - //Hi Amp Transformers - Transformer_HA_LV_ULV, Transformer_HA_MV_LV, Transformer_HA_HV_MV, - Transformer_HA_EV_HV, Transformer_HA_IV_EV, Transformer_HA_LuV_IV, - Transformer_HA_ZPM_LuV, Transformer_HA_UV_ZPM, Transformer_HA_MAX_UV, - - - //Semi-Fluid generators - Generator_SemiFluid_LV, - Generator_SemiFluid_MV, - Generator_SemiFluid_HV, - - - //Advanced Mixer 4x4 - Machine_Advanced_LV_Mixer, Machine_Advanced_MV_Mixer, Machine_Advanced_HV_Mixer, - Machine_Advanced_EV_Mixer, Machine_Advanced_IV_Mixer, Machine_Advanced_LuV_Mixer, - Machine_Advanced_ZPM_Mixer, Machine_Advanced_UV_Mixer, - - - //Block that enables uplink to a superconductor network - SuperConductorInputNode, - - //Heat Pipes - HeatPipe_Tier_1, - HeatPipe_Tier_2, - HeatPipe_Tier_3, - - - //Chemical Dehydrators for nuclear fuels - GT_Dehydrator_MV, GT_Dehydrator_HV, - GT_Dehydrator_EV, GT_Dehydrator_IV, - GT_Dehydrator_LuV, GT_Dehydrator_ZPM, - - - //Fluid Storage Tanks - GT_FluidTank_ULV, GT_FluidTank_LV, - GT_FluidTank_MV, GT_FluidTank_HV, - GT_FluidTank_EV, GT_FluidTank_IV, - GT_FluidTank_LuV, GT_FluidTank_ZPM, - GT_FluidTank_UV, GT_FluidTank_MAX, - - //Tick Accelerators from GTNH - AcceleratorLV, AcceleratorMV, - AcceleratorHV, AcceleratorEV, - AcceleratorIV, AcceleratorLuV, - AcceleratorZPM, AcceleratorUV, - - //GT RTG - RTG, - - - // Chisel Machines - GT_Chisel_LV, - GT_Chisel_MV, - GT_Chisel_HV, - - //Plasma Tank - /*Plasma_Tank,*/ - - - //---------------------------------------------------------------------------- - - - /** - * Covers - */ - - //Fluid Void Covers - Cover_Overflow_ULV, Cover_Overflow_LV, Cover_Overflow_MV, Cover_Overflow_HV, Cover_Overflow_EV, Cover_Overflow_IV, - - //Item Void Covers - Cover_Overflow_Item_ULV, Cover_Overflow_Item_LV, Cover_Overflow_Item_MV, Cover_Overflow_Item_HV, Cover_Overflow_Item_EV, Cover_Overflow_Item_IV, - - //Fake Hull Covers - FakeMachineCasingPlate_ULV, FakeMachineCasingPlate_LV, - FakeMachineCasingPlate_MV, FakeMachineCasingPlate_HV, - FakeMachineCasingPlate_EV, FakeMachineCasingPlate_IV, - FakeMachineCasingPlate_LuV, FakeMachineCasingPlate_ZPM, - FakeMachineCasingPlate_UV, FakeMachineCasingPlate_MAX, - - - - - //---------------------------------------------------------------------------- - - ; - - public static final GregtechItemList[] - DYE_ONLY_ITEMS = { - Energy_Buffer_1by1_EV, Energy_Buffer_1by1_EV }; - private ItemStack mStack; - private boolean mHasNotBeenSet = true; - - - @Override - public GregtechItemList set(final Item aItem) { - this.mHasNotBeenSet = false; - if (aItem == null) { - return this; - } - final ItemStack aStack = new ItemStack(aItem, 1, 0); - this.mStack = GT_Utility.copyAmount(1, aStack); - return this; - } - - @Override - public GregtechItemList set(final ItemStack aStack) { - this.mHasNotBeenSet = false; - this.mStack = GT_Utility.copyAmount(1, aStack); - return this; - } - - @Override - public Item getItem() { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return null; - } - return this.mStack.getItem(); - } - - @Override - public Block getBlock() { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - return getBlockFromStack(this.getItem()); - } - - @Override - public final boolean hasBeenSet() { - return !this.mHasNotBeenSet; - } - - @Override - public boolean isStackEqual(final Object aStack) { - return this.isStackEqual(aStack, false, false); - } - - @Override - public boolean isStackEqual(final Object aStack, final boolean aWildcard, final boolean aIgnoreNBT) { - if (GT_Utility.isStackInvalid(aStack)) { - return false; - } - return GT_Utility.areUnificationsEqual((ItemStack)aStack, aWildcard?this.getWildcard(1):this.get(1), aIgnoreNBT); - } - - public static Block getBlockFromStack(Object aStack) { - if (GT_Utility.isStackInvalid(aStack)) - return Blocks.air; - return Block.getBlockFromItem(((ItemStack) aStack).getItem()); - } - - @Override - public ItemStack get(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getWildcard(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, W, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getUndamaged(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getAlmostBroken(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, this.mStack.getMaxDamage()-1, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getWithName(final long aAmount, final String aDisplayName, final Object... aReplacements) { - final ItemStack rStack = this.get(1, aReplacements); - if (GT_Utility.isStackInvalid(rStack)) { - return null; - } - rStack.setStackDisplayName(aDisplayName); - return GT_Utility.copyAmount(aAmount, rStack); - } - - @Override - public ItemStack getWithCharge(final long aAmount, final int aEnergy, final Object... aReplacements) { - final ItemStack rStack = this.get(1, aReplacements); - if (GT_Utility.isStackInvalid(rStack)) { - return null; - } - GT_ModHandler.chargeElectricItem(rStack, aEnergy, Integer.MAX_VALUE, true, false); - return GT_Utility.copyAmount(aAmount, rStack); - } - - @Override - public ItemStack getWithDamage(final long aAmount, final long aMetaValue, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, aMetaValue, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public GregtechItemList registerOre(final Object... aOreNames) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - for (final Object tOreName : aOreNames) { - GT_OreDictUnificator.registerOre(tOreName, this.get(1)); - } - return this; - } - - @Override - public GregtechItemList registerWildcardAsOre(final Object... aOreNames) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - for (final Object tOreName : aOreNames) { - GT_OreDictUnificator.registerOre(tOreName, this.getWildcard(1)); - } - return this; - } -} \ No newline at end of file + /** + * Items + */ + + // Advanced Hazmat Suit + Armour_Hazmat_Advanced_Helmet, + Armour_Hazmat_Advanced_Chest, + Armour_Hazmat_Advanced_Legs, + Armour_Hazmat_Advanced_Boots, + + // Gregtech Machine Parts + Electric_Motor_LuV, + Electric_Motor_ZPM, + Electric_Motor_UV, + Electric_Motor_MAX, + Electric_Pump_LuV, + Electric_Pump_ZPM, + Electric_Pump_UV, + Electric_Pump_MAX, + Conveyor_Module_LuV, + Conveyor_Module_ZPM, + Conveyor_Module_UV, + Conveyor_Module_MAX, + Electric_Piston_LuV, + Electric_Piston_ZPM, + Electric_Piston_UV, + Electric_Piston_MAX, + Robot_Arm_LuV, + Robot_Arm_ZPM, + Robot_Arm_UV, + Robot_Arm_MAX, + Field_Generator_LuV, + Field_Generator_ZPM, + Field_Generator_UV, + Field_Generator_MAX, + Emitter_LuV, + Emitter_ZPM, + Emitter_UV, + Emitter_MAX, + Sensor_LuV, + Sensor_ZPM, + Sensor_UV, + Sensor_MAX, + + // ULV Components + Electric_Motor_ULV, + Electric_Pump_ULV, + Conveyor_Module_ULV, + Electric_Piston_ULV, + Robot_Arm_ULV, + Field_Generator_ULV, + Emitter_ULV, + Sensor_ULV, + + // Mixed Components + TransmissionComponent_ULV, + TransmissionComponent_LV, + TransmissionComponent_MV, + TransmissionComponent_HV, + TransmissionComponent_EV, + TransmissionComponent_IV, + TransmissionComponent_LuV, + TransmissionComponent_ZPM, + TransmissionComponent_UV, + TransmissionComponent_MAX, + + // Recipe Circuit + Circuit_BioRecipeSelector, + Circuit_T3RecipeSelector, + + // Circuits + Old_Circuit_Primitive, + Old_Circuit_Basic, + Old_Circuit_Good, + Old_Circuit_Advanced, + Old_Circuit_Data, + Old_Circuit_Elite, + Old_Circuit_Master, + Old_Tool_DataOrb, + Old_Circuit_Ultimate, + Old_Tool_DataStick, + Circuit_IV, + Circuit_LuV, + Circuit_ZPM, + + // Circuit Parts + Circuit_Board_IV, + Circuit_Board_LuV, + Circuit_Board_ZPM, + Circuit_Parts_Crystal_Chip_IV, + Circuit_Parts_Crystal_Chip_LuV, + Circuit_Parts_Crystal_Chip_ZPM, + Circuit_Parts_IV, + Circuit_Parts_LuV, + Circuit_Parts_ZPM, + Circuit_Parts_Wiring_IV, + Circuit_Parts_Wiring_LuV, + Circuit_Parts_Wiring_ZPM, + + // Old Style Circuits + Old_Circuit_Board_Basic, + Old_Circuit_Board_Advanced, + Old_Circuit_Board_Elite, + Old_Circuit_Parts_Crystal_Chip_Elite, + Old_Circuit_Parts_Crystal_Chip_Master, + Old_Circuit_Parts_Advanced, + Old_Circuit_Parts_Wiring_Basic, + Old_Circuit_Parts_Wiring_Advanced, + Old_Circuit_Parts_Wiring_Elite, + Old_Empty_Board_Basic, + Old_Empty_Board_Elite, + + // Batteries + Battery_RE_EV_Sodium, + Battery_RE_EV_Cadmium, + Battery_RE_EV_Lithium, + + // Shapes for Extruder + Shape_Extruder_WindmillShaft, + Shape_Extruder_SmallGear, + + // Cooked Raisin Toast for ImQ009 + Food_Baked_Raisin_Bread, + + // Fluid Cells to regulate flows. + Fluid_Cell_1L, + Fluid_Cell_16L, + Fluid_Cell_36L, + Fluid_Cell_144L, + + // Debug + TESTITEM, + + // Larger Volumetric Flasks + VOLUMETRIC_FLASK_8k, + VOLUMETRIC_FLASK_32k, + + // RTG Fuels + Pellet_RTG_PU238, + Pellet_RTG_SR90, + Pellet_RTG_PO210, + Pellet_RTG_AM241, + + // Computer Cube + Gregtech_Computer_Cube, + Gregtech_Computer_Cube_Machine, + + // Casings for batteries + Battery_Casing_Gem_1, + Battery_Casing_Gem_2, + Battery_Casing_Gem_3, + Battery_Casing_Gem_4, + + // Custom Batteries + Battery_Gem_1, + Battery_Gem_2, + Battery_Gem_3, + Battery_Gem_4, + + // Compressed Fusion MK3 + Compressed_Fusion_Reactor, + + // Carbon Materials + NanoTube_Base_Substrate, + NanoTube_Finished, + Carbyne_Tube_Finished, + Carbyne_Sheet_Finished, + + // End Game Laser Engraver Lens + Laser_Lens_WoodsGlass, + Laser_Lens_Special, + + // Bombs + Bomb_Cast, + Bomb_Cast_Molten, + Bomb_Cast_Set, + Bomb_Cast_Broken, + Bomb_Cast_Mold, + + // Pellet Mold + Pellet_Mold, + + // Charged Items for Tree Farms + Farm_Processor_EV, + Farm_Processor_IV, + Farm_Processor_LuV, + Farm_Processor_ZPM, + Farm_Processor_UV, + + // Upgrade chip for Distillus + Distillus_Upgrade_Chip, + + // Chips used to nerf my multis via custom behavioural attachments + Chip_MultiNerf_NoOutputBonus, + Chip_MultiNerf_NoSpeedBonus, + Chip_MultiNerf_NoEuBonus, + + // Milling Balls + Milling_Ball_Alumina, + Milling_Ball_Soapstone, + + // ---------------------------------------------------------------------------- + + /** + * MultiBlocks + */ + + // Tier GT++ Casings + GTPP_Casing_ULV, + GTPP_Casing_LV, + GTPP_Casing_MV, + GTPP_Casing_HV, + GTPP_Casing_EV, + GTPP_Casing_IV, + GTPP_Casing_LuV, + GTPP_Casing_ZPM, + GTPP_Casing_UV, + GTPP_Casing_MAX, + + // IronBlastFurnace Machine_Bronze_BlastFurnace + Machine_Iron_BlastFurnace, + Casing_IronPlatedBricks, + + // Large Centrifuge + Industrial_Centrifuge, + Casing_Centrifuge1, + + // Large Alloy Smelter + Industrial_AlloySmelter, + + // Coke Oven + Industrial_CokeOven, + Casing_CokeOven, + Casing_CokeOven_Coil1, + Casing_CokeOven_Coil2, + + // Bending Maching // Plate Press // Press + Industrial_PlatePress, + Casing_MaterialPress, + + // Matter Fab + Industrial_MassFab, + Casing_MatterGen, + Casing_MatterFab, + + // ABS + Industrial_AlloyBlastSmelter, + Casing_Coil_BlastSmelter, + Casing_BlastSmelter, + + // Industrial Electrolyzer + Industrial_Electrolyzer, + Casing_Electrolyzer, + + // Industrial Maceration Stack + Industrial_MacerationStack, + Casing_MacerationStack, + + // Industrial Wire Factory + Industrial_WireFactory, + Casing_WireFactory, + + // Power sub-station for mass storage. 3 hatches for input and output, whatever voltages you desire. + PowerSubStation, + Casing_Vanadium_Redox, + Casing_Vanadium_Redox_IV, + Casing_Vanadium_Redox_LuV, + Casing_Vanadium_Redox_ZPM, + Casing_Vanadium_Redox_UV, + Casing_Vanadium_Redox_MAX, + Casing_Power_SubStation, + + // LFTR + ThoriumReactor, + Casing_Reactor_I, + Casing_Reactor_II, + + // Multitank + /*Industrial_MultiTank,*/ + Industrial_MultiTankDense, + Casing_MultitankExterior, + + // Fission Fuel Refinery + Industrial_FuelRefinery, + Casing_Refinery_External, + Casing_Refinery_Structural, + Casing_Refinery_Internal, + + // Industrial Sifter + Industrial_Sifter, + Casing_Sifter, + Casing_SifterGrate, + + // Large Thermal Centrifuge + Industrial_ThermalCentrifuge, + Casing_ThermalCentrifuge, + + // Cyclotron + COMET_Cyclotron, + Casing_Cyclotron_Coil, + Casing_Cyclotron_External, + + // Thermal Boiler + GT4_Thermal_Boiler, + Casing_ThermalContainment, + + // Tree Farm + Industrial_TreeFarm, + TreeFarmer_Structural, + Casing_PLACEHOLDER_TreeFarmer, + + // Fish Pond + Industrial_FishingPond, + Casing_FishPond, + + // Algae + AlgaeFarm_Controller, + + // Chemical Plant + ChemicalPlant_Controller, + + // GT4 autoCrafter + GT4_Multi_Crafter, + Casing_Autocrafter, + + // industrial Ore-Washer + Industrial_WashPlant, + Casing_WashPlant, + + // Generator Array + Generator_Array_Controller, + + // Cutting Factory Controller + Industrial_CuttingFactoryController, + Casing_CuttingFactoryFrame, + + // Tesla Tower + TelsaTower, + Casing_TeslaTower, + + // Large Extruder + Industrial_Extruder, + Casing_Extruder, + + // Multi-Machine + Industrial_MultiMachine, + Casing_Multi_Use, + + // Bedrock Mining Platforms + /*BedrockMiner_MKI, */ + /*BedrockMiner_MKII, */ + /*BedrockMiner_MKIII, */ + Casing_BedrockMiner, + + // Large Packager + Amazon_Warehouse_Controller, + Casing_AmazonWarehouse, + + // Advanced GT vanilla Multis + Machine_Adv_BlastFurnace, + Casing_Adv_BlastFurnace, + Machine_Adv_ImplosionCompressor, + Machine_Adv_DistillationTower, + + // Advanced Assembly Line + Machine_Adv_AssemblyLine, + + // Advanced Vacuum Freezer + Industrial_Cryogenic_Freezer, + Casing_AdvancedVacuum, + + // FusionTek MK IV + FusionComputer_UV2, + Casing_Fusion_External, + Casing_Fusion_Internal, + + // large mixer + Industrial_Mixer, + + // Naq Reactor + Casing_Naq_Reactor_A, + Casing_Naq_Reactor_B, + Casing_Naq_Reactor_C, + /*Controller_Naq_Reactor, */ + Casing_Containment, + + // Arc Furnace + Industrial_Arc_Furnace, + Casing_Industrial_Arc_Furnace, + + // Solar Tower + Industrial_Solar_Tower, + Casing_SolarTower_Structural, + Casing_SolarTower_SaltContainment, + Casing_SolarTower_HeatContainment, + + // Larger Turbines + Large_Steam_Turbine, + Large_HPSteam_Turbine, + Large_Gas_Turbine, + Large_Plasma_Turbine, + Casing_Turbine_Shaft, + Casing_Turbine_LP, + Casing_Turbine_HP, + Casing_Turbine_Gas, + Casing_Turbine_Plasma, + XL_HeatExchanger, + Casing_XL_HeatExchanger, + + // Large Engine + Casing_Reinforced_Engine_Casing, + + // Large Vacuum Furnace + Casing_Vacuum_Furnace, + Controller_Vacuum_Furnace, + + // Large Rocket Engine + Casing_RocketEngine, + Controller_RocketEngine, + + // Large Semi-Fluid + Controller_LargeSemifluidGenerator, + + // IsaMill + Controller_IsaMill, + Casing_IsaMill_Casing, + Casing_IsaMill_Gearbox, + Casing_IsaMill_Pipe, + + // Flotation Cell + Controller_Flotation_Cell, + Casing_Flotation_Cell, + + // Sparge Tower + Controller_Sparge_Tower, + Casing_Sparge_Tower_Exterior, + Casing_Sparge_Tower_Interior, + + // Elemental Duplicator + Controller_ElementalDuplicator, + Casing_ElementalDuplicator, + + // Forge Hammer + Controller_IndustrialForgeHammer, + Casing_IndustrialForgeHammer, + + // Molecular Transformer + Controller_MolecularTransformer, + Casing_Molecular_Transformer_1, + Casing_Molecular_Transformer_2, + Casing_Molecular_Transformer_3, + + // Big Steam Macerator + Controller_SteamMaceratorMulti, + // Big Steam Compressor + Controller_SteamCompressorMulti, + + // Industrial Rock Breaker + Controller_IndustrialRockBreaker, + + // Industrial Chisel + Controller_IndustrialAutoChisel, + Casing_IndustrialAutoChisel, + + // Industrial Fluid Heater + Controller_IndustrialFluidHeater, + + // Custom Machine Casings + Casing_Machine_Custom_1, + Casing_Machine_Custom_2, + Casing_Machine_Custom_3, + Casing_Machine_Custom_4, + Casing_Machine_Custom_5, + Casing_Machine_Custom_6, + + // ---------------------------------------------------------------------------- + + /** + * Custom hatches/Busses + */ + + // Buffer Dynamos + Hatch_Buffer_Dynamo_ULV, + Hatch_Buffer_Dynamo_LV, + Hatch_Buffer_Dynamo_MV, + Hatch_Buffer_Dynamo_HV, + Hatch_Buffer_Dynamo_EV, + Hatch_Buffer_Dynamo_IV, + Hatch_Buffer_Dynamo_LuV, + Hatch_Buffer_Dynamo_ZPM, + Hatch_Buffer_Dynamo_UV, + Hatch_Buffer_Dynamo_MAX, + + // Air Intake hatch + Hatch_Air_Intake, + Hatch_Air_Intake_Extreme, + + // Reservoir Hatch + Hatch_Reservoir, + + // XL Turbine Rotor Hatch + Hatch_Turbine_Rotor, + + // Standard Turbine Rotor Hatch + Hatch_Input_TurbineHousing, + + // Control Core + Hatch_Control_Core, + + // Milling Ball Bus + Bus_Milling_Balls, + + // Catalyst Bus + Bus_Catalysts, + + // Custom Fluid Hatches + Hatch_Input_Cryotheum, + Hatch_Input_Pyrotheum, + Hatch_Input_Naquadah, + Hatch_Input_Steam, + + // Steam Multi Buses + Hatch_Input_Bus_Steam, + Hatch_Output_Bus_Steam, + + // Elemental Duplicator Data Orb Bus + Hatch_Input_Elemental_Duplicator, + + // RTG Hatch + Hatch_RTG_LV, + Hatch_RTG_MV, + Hatch_RTG_HV, + + // Battery hatches for PSS + Hatch_Input_Battery_MV, + Hatch_Input_Battery_EV, + Hatch_Output_Battery_MV, + Hatch_Output_Battery_EV, + + // Advanced Mufflers + Hatch_Muffler_Adv_LV, + Hatch_Muffler_Adv_MV, + Hatch_Muffler_Adv_HV, + Hatch_Muffler_Adv_EV, + Hatch_Muffler_Adv_IV, + Hatch_Muffler_Adv_LuV, + Hatch_Muffler_Adv_ZPM, + Hatch_Muffler_Adv_UV, + Hatch_Muffler_Adv_MAX, + + // Super Input Busses + Hatch_SuperBus_Input_ULV, + Hatch_SuperBus_Input_LV, + Hatch_SuperBus_Input_MV, + Hatch_SuperBus_Input_HV, + Hatch_SuperBus_Input_EV, + Hatch_SuperBus_Input_IV, + Hatch_SuperBus_Input_LuV, + Hatch_SuperBus_Input_ZPM, + Hatch_SuperBus_Input_UV, + Hatch_SuperBus_Input_MAX, + + // Super Output Busses + Hatch_SuperBus_Output_ULV, + Hatch_SuperBus_Output_LV, + Hatch_SuperBus_Output_MV, + Hatch_SuperBus_Output_HV, + Hatch_SuperBus_Output_EV, + Hatch_SuperBus_Output_IV, + Hatch_SuperBus_Output_LuV, + Hatch_SuperBus_Output_ZPM, + Hatch_SuperBus_Output_UV, + Hatch_SuperBus_Output_MAX, + + // ---------------------------------------------------------------------------- + + /** + * Blocks + */ + ResonanceChamber_I, + ResonanceChamber_II, + ResonanceChamber_III, + ResonanceChamber_IV, + + Modulator_I, + Modulator_II, + Modulator_III, + Modulator_IV, + + // ---------------------------------------------------------------------------- + + /** + * Single Block Tile Entities + */ + + // ULV Generators + Generator_Diesel_ULV, + Generator_Gas_Turbine_ULV, + Generator_Steam_Turbine_ULV, + + // Crate Box + CrateStorage, + + // Auto TC Research Creator + Thaumcraft_Researcher, + + // Threaded Buffers + Automation_Threaded_SuperBuffer_ULV, + Automation_Threaded_SuperBuffer_LV, + Automation_Threaded_SuperBuffer_MV, + Automation_Threaded_SuperBuffer_HV, + Automation_Threaded_SuperBuffer_EV, + Automation_Threaded_SuperBuffer_IV, + Automation_Threaded_SuperBuffer_LuV, + Automation_Threaded_SuperBuffer_ZPM, + Automation_Threaded_SuperBuffer_UV, + Automation_Threaded_SuperBuffer_MAX, + + // infinite Items + Infinite_Item_Chest, + + // GT4 Redstone + GT4_Redstone_Lamp, + GT4_Redstone_Button_Panel, + GT4_Redstone_Scale, + GT4_Redstone_Display, + GT4_Redstone_Circuit, + + // Gt4 Workbenches + GT4_Workbench_Bronze, + GT4_Workbench_Advanced, + + // GT4 automation + GT4_Electric_Auto_Workbench_LV, + GT4_Electric_Auto_Workbench_MV, + GT4_Electric_Auto_Workbench_HV, + GT4_Electric_Auto_Workbench_EV, + GT4_Electric_Auto_Workbench_IV, + GT4_Electric_Auto_Workbench_LuV, + GT4_Electric_Auto_Workbench_ZPM, + GT4_Electric_Auto_Workbench_UV, + GT4_Electric_Inventory_Manager_LV, + GT4_Electric_Inventory_Manager_MV, + GT4_Electric_Inventory_Manager_HV, + GT4_Electric_Inventory_Manager_EV, + GT4_Electric_Inventory_Manager_IV, + GT4_Electric_Inventory_Manager_LuV, + GT4_Electric_Inventory_Manager_ZPM, + GT4_Electric_Inventory_Manager_UV, + + // GT4 Crop Harvester + GT4_Crop_Harvester_LV, + GT4_Crop_Harvester_MV, + GT4_Crop_Harvester_HV, + GT4_Crop_Harvester_EV, + GT4_Crop_Harvester_IV, + GT4_Crop_Harvester_LuV, + GT4_Crop_Harvester_ZPM, + GT4_Crop_Harvester_UV, + + // Geothermal Engines + Geothermal_Engine_EV, + Geothermal_Engine_IV, + Geothermal_Engine_LuV, + + // Tesseracts + GT4_Tesseract_Generator, + GT4_Tesseract_Terminal, + + // Advanced Boilers + Boiler_Advanced_LV, + Boiler_Advanced_MV, + Boiler_Advanced_HV, + + // Fancy Pollution Devices + Pollution_Detector, + Pollution_Cleaner_ULV, + Pollution_Cleaner_LV, + Pollution_Cleaner_MV, + Pollution_Cleaner_HV, + Pollution_Cleaner_EV, + Pollution_Cleaner_IV, + Pollution_Cleaner_LuV, + Pollution_Cleaner_ZPM, + Pollution_Cleaner_UV, + Pollution_Cleaner_MAX, + + // Debug machine + Pollution_Creator, + Garbage_Collector_Debug_Machine, + + // Basically is an automatic Cauldron + SimpleDustWasher_ULV, + SimpleDustWasher_MV, + SimpleDustWasher_EV, + SimpleDustWasher_LuV, + SimpleDustWasher_UV, + + // Solar Tower Reflector + Solar_Tower_Reflector, + + // Super Tier Chests + Super_Chest_LV, + Super_Chest_MV, + Super_Chest_HV, + Super_Chest_EV, + Super_Chest_IV, + + // Chunkloader + GT_Chunkloader_HV, + GT_Chunkloader_ZPM, + GT_Chunkloader_IV, + + // Wireless Chargers + Charger_LV, + Charger_MV, + Charger_HV, + Charger_EV, + Charger_IV, + Charger_LuV, + Charger_ZPM, + Charger_UV, + Charger_MAX, + + // Tiny Fusion + /*Miniature_Fusion, */ + + // Component Makers + Machine_LV_Component_Maker, + Machine_MV_Component_Maker, + Machine_HV_Component_Maker, + Machine_EV_Component_Maker, + Machine_IV_Component_Maker, + Machine_LuV_Component_Maker, + Machine_ZPM_Component_Maker, + Machine_UV_Component_Maker, + + // Reactor Processing Unit + ReactorProcessingUnit_IV, + ReactorProcessingUnit_ZPM, + + // Cold Trap + ColdTrap_IV, + ColdTrap_ZPM, + + // Breakers + BreakerBox_ULV, + BreakerBox_LV, + BreakerBox_MV, + BreakerBox_HV, + BreakerBox_EV, + BreakerBox_IV, + BreakerBox_LuV, + BreakerBox_ZPM, + BreakerBox_UV, + BreakerBox_MAX, + + // Solar Generators + GT_Solar_ULV, + GT_Solar_LV, + GT_Solar_MV, + GT_Solar_HV, + GT_Solar_EV, + GT_Solar_IV, + GT_Solar_LuV, + GT_Solar_ZPM, + GT_Solar_UV, + GT_Solar_MAX, + + // 512v Creative Buffer + Energy_Buffer_CREATIVE, + // Variable voltage RF convertor + Energy_Buffer_RF_Convertor, + // Energy Buffers + Energy_Buffer_1by1_ULV, + Energy_Buffer_1by1_LV, + Energy_Buffer_1by1_MV, + Energy_Buffer_1by1_HV, + Energy_Buffer_1by1_EV, + Energy_Buffer_1by1_IV, + Energy_Buffer_1by1_LuV, + Energy_Buffer_1by1_ZPM, + Energy_Buffer_1by1_UV, + Energy_Buffer_1by1_MAX, + + // Cobble Generators + Cobble_Generator_ULV, + Cobble_Generator_LV, + Cobble_Generator_MV, + Cobble_Generator_HV, + Cobble_Generator_EV, + Cobble_Generator_IV, + Cobble_Generator_LuV, + Cobble_Generator_ZPM, + Cobble_Generator_UV, + Cobble_Generator_MAX, + + // The max Steam condenser + Condensor_MAX, + + // Player owned Safes + GT_Safe_ULV, + GT_Safe_LV, + GT_Safe_MV, + GT_Safe_HV, + GT_Safe_EV, + GT_Safe_IV, + GT_Safe_LuV, + GT_Safe_ZPM, + GT_Safe_UV, + GT_Safe_MAX, + + // Rocket Engines + Rocket_Engine_EV, + Rocket_Engine_IV, + Rocket_Engine_LuV, + + // GT4 Shelves + GT4_Shelf, + GT4_Shelf_Iron, + GT4_Shelf_FileCabinet, + GT4_Shelf_Desk, + GT4_Shelf_Compartment, + GT4_Shelf_Large, + + // Hi Amp Transformers + Transformer_HA_LV_ULV, + Transformer_HA_MV_LV, + Transformer_HA_HV_MV, + Transformer_HA_EV_HV, + Transformer_HA_IV_EV, + Transformer_HA_LuV_IV, + Transformer_HA_ZPM_LuV, + Transformer_HA_UV_ZPM, + Transformer_HA_MAX_UV, + + // Semi-Fluid generators + Generator_SemiFluid_LV, + Generator_SemiFluid_MV, + Generator_SemiFluid_HV, + + // Advanced Mixer 4x4 + Machine_Advanced_LV_Mixer, + Machine_Advanced_MV_Mixer, + Machine_Advanced_HV_Mixer, + Machine_Advanced_EV_Mixer, + Machine_Advanced_IV_Mixer, + Machine_Advanced_LuV_Mixer, + Machine_Advanced_ZPM_Mixer, + Machine_Advanced_UV_Mixer, + + // Block that enables uplink to a superconductor network + SuperConductorInputNode, + + // Heat Pipes + HeatPipe_Tier_1, + HeatPipe_Tier_2, + HeatPipe_Tier_3, + + // Chemical Dehydrators for nuclear fuels + GT_Dehydrator_MV, + GT_Dehydrator_HV, + GT_Dehydrator_EV, + GT_Dehydrator_IV, + GT_Dehydrator_LuV, + GT_Dehydrator_ZPM, + + // Fluid Storage Tanks + GT_FluidTank_ULV, + GT_FluidTank_LV, + GT_FluidTank_MV, + GT_FluidTank_HV, + GT_FluidTank_EV, + GT_FluidTank_IV, + GT_FluidTank_LuV, + GT_FluidTank_ZPM, + GT_FluidTank_UV, + GT_FluidTank_MAX, + + // Tick Accelerators from GTNH + AcceleratorLV, + AcceleratorMV, + AcceleratorHV, + AcceleratorEV, + AcceleratorIV, + AcceleratorLuV, + AcceleratorZPM, + AcceleratorUV, + + // GT RTG + RTG, + + // Chisel Machines + GT_Chisel_LV, + GT_Chisel_MV, + GT_Chisel_HV, + + // Plasma Tank + /*Plasma_Tank,*/ + + // ---------------------------------------------------------------------------- + + /** + * Covers + */ + + // Fluid Void Covers + Cover_Overflow_ULV, + Cover_Overflow_LV, + Cover_Overflow_MV, + Cover_Overflow_HV, + Cover_Overflow_EV, + Cover_Overflow_IV, + + // Item Void Covers + Cover_Overflow_Item_ULV, + Cover_Overflow_Item_LV, + Cover_Overflow_Item_MV, + Cover_Overflow_Item_HV, + Cover_Overflow_Item_EV, + Cover_Overflow_Item_IV, + + // Fake Hull Covers + FakeMachineCasingPlate_ULV, + FakeMachineCasingPlate_LV, + FakeMachineCasingPlate_MV, + FakeMachineCasingPlate_HV, + FakeMachineCasingPlate_EV, + FakeMachineCasingPlate_IV, + FakeMachineCasingPlate_LuV, + FakeMachineCasingPlate_ZPM, + FakeMachineCasingPlate_UV, + FakeMachineCasingPlate_MAX, + +// ---------------------------------------------------------------------------- + +; + + public static final GregtechItemList[] DYE_ONLY_ITEMS = {Energy_Buffer_1by1_EV, Energy_Buffer_1by1_EV}; + private ItemStack mStack; + private boolean mHasNotBeenSet = true; + + @Override + public GregtechItemList set(final Item aItem) { + this.mHasNotBeenSet = false; + if (aItem == null) { + return this; + } + final ItemStack aStack = new ItemStack(aItem, 1, 0); + this.mStack = GT_Utility.copyAmount(1, aStack); + return this; + } + + @Override + public GregtechItemList set(final ItemStack aStack) { + this.mHasNotBeenSet = false; + this.mStack = GT_Utility.copyAmount(1, aStack); + return this; + } + + @Override + public Item getItem() { + if (this.mHasNotBeenSet) { + throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); + } + if (GT_Utility.isStackInvalid(this.mStack)) { + return null; + } + return this.mStack.getItem(); + } + + @Override + public Block getBlock() { + if (this.mHasNotBeenSet) { + throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); + } + return getBlockFromStack(this.getItem()); + } + + @Override + public final boolean hasBeenSet() { + return !this.mHasNotBeenSet; + } + + @Override + public boolean isStackEqual(final Object aStack) { + return this.isStackEqual(aStack, false, false); + } + + @Override + public boolean isStackEqual(final Object aStack, final boolean aWildcard, final boolean aIgnoreNBT) { + if (GT_Utility.isStackInvalid(aStack)) { + return false; + } + return GT_Utility.areUnificationsEqual( + (ItemStack) aStack, aWildcard ? this.getWildcard(1) : this.get(1), aIgnoreNBT); + } + + public static Block getBlockFromStack(Object aStack) { + if (GT_Utility.isStackInvalid(aStack)) return Blocks.air; + return Block.getBlockFromItem(((ItemStack) aStack).getItem()); + } + + @Override + public ItemStack get(final long aAmount, final Object... aReplacements) { + if (this.mHasNotBeenSet) { + throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); + } + if (GT_Utility.isStackInvalid(this.mStack)) { + return GT_Utility.copyAmount(aAmount, aReplacements); + } + return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(this.mStack)); + } + + @Override + public ItemStack getWildcard(final long aAmount, final Object... aReplacements) { + if (this.mHasNotBeenSet) { + throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); + } + if (GT_Utility.isStackInvalid(this.mStack)) { + return GT_Utility.copyAmount(aAmount, aReplacements); + } + return GT_Utility.copyAmountAndMetaData(aAmount, W, GT_OreDictUnificator.get(this.mStack)); + } + + @Override + public ItemStack getUndamaged(final long aAmount, final Object... aReplacements) { + if (this.mHasNotBeenSet) { + throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); + } + if (GT_Utility.isStackInvalid(this.mStack)) { + return GT_Utility.copyAmount(aAmount, aReplacements); + } + return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(this.mStack)); + } + + @Override + public ItemStack getAlmostBroken(final long aAmount, final Object... aReplacements) { + if (this.mHasNotBeenSet) { + throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); + } + if (GT_Utility.isStackInvalid(this.mStack)) { + return GT_Utility.copyAmount(aAmount, aReplacements); + } + return GT_Utility.copyAmountAndM