aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/enums
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-12 19:38:06 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-12-12 19:38:06 +0100
commit311ab89f93558233a40079f7cb16605b141b5346 (patch)
treec5f44ef47f441a57c5f57aa801f639c7879ed760 /src/main/java/gtPlusPlus/xmod/gregtech/api/enums
parent896143b96132f5ac54aa8d8f7386f27487e5e530 (diff)
downloadGT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.tar.gz
GT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.tar.bz2
GT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.zip
Move sources and resources
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/enums')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java81
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java112
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java903
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOreDictNames.java39
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java941
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextureSet.java144
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextures.java203
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java7
8 files changed, 2430 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java
new file mode 100644
index 0000000000..554983c41c
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java
@@ -0,0 +1,81 @@
+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;
+
+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
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java
new file mode 100644
index 0000000000..9647b00578
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java
@@ -0,0 +1,112 @@
+package gtPlusPlus.xmod.gregtech.api.enums;
+
+import static gregtech.api.enums.GT_Values.B;
+
+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);
+
+ 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
new file mode 100644
index 0000000000..8c814489f2
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
@@ -0,0 +1,903 @@
+package gtPlusPlus.xmod.gregtech.api.enums;
+
+import static gregtech.api.enums.GT_Values.W;
+
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.xmod.gregtech.api.interfaces.GregtechItemContainer;
+import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+/**
+ * Class containing all non-OreDict Items of GregTech.
+ */
+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,
+
+ //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, */
+ Casing_Turbine_Shaft,
+ Casing_Turbine_LP, Casing_Turbine_HP,
+ Casing_Turbine_Gas, Casing_Turbine_Plasma,
+
+ // 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,
+
+ // Big Steam Macerator
+ Controller_SteamMaceratorMulti,
+
+ // 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,
+
+ //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,
+
+
+
+
+ //----------------------------------------------------------------------------
+
+
+
+
+
+ /**
+ * 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 Workbenches
+ GT4_Workbench_Bronze,
+ GT4_Workbench_Advanced,
+
+
+ //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,
+
+ //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_U