From 1185424fa7c692f9932623b965a99392d969e3c5 Mon Sep 17 00:00:00 2001 From: Shawn Buckley Date: Wed, 21 Oct 2015 20:46:52 -0400 Subject: Move source files --- .../java/gregtech/api/enums/ConfigCategories.java | 64 + src/main/java/gregtech/api/enums/Dyes.java | 105 ++ src/main/java/gregtech/api/enums/Element.java | 311 ++++ src/main/java/gregtech/api/enums/GT_Values.java | 160 ++ src/main/java/gregtech/api/enums/ItemList.java | 785 +++++++++ src/main/java/gregtech/api/enums/Materials.java | 1669 ++++++++++++++++++++ src/main/java/gregtech/api/enums/OreDictNames.java | 78 + src/main/java/gregtech/api/enums/OrePrefixes.java | 798 ++++++++++ src/main/java/gregtech/api/enums/SubTag.java | 306 ++++ src/main/java/gregtech/api/enums/TC_Aspects.java | 108 ++ src/main/java/gregtech/api/enums/TextureSet.java | 184 +++ src/main/java/gregtech/api/enums/Textures.java | 453 ++++++ src/main/java/gregtech/api/enums/Tier.java | 91 ++ .../java/gregtech/api/enums/ToolDictNames.java | 32 + 14 files changed, 5144 insertions(+) create mode 100644 src/main/java/gregtech/api/enums/ConfigCategories.java create mode 100644 src/main/java/gregtech/api/enums/Dyes.java create mode 100644 src/main/java/gregtech/api/enums/Element.java create mode 100644 src/main/java/gregtech/api/enums/GT_Values.java create mode 100644 src/main/java/gregtech/api/enums/ItemList.java create mode 100644 src/main/java/gregtech/api/enums/Materials.java create mode 100644 src/main/java/gregtech/api/enums/OreDictNames.java create mode 100644 src/main/java/gregtech/api/enums/OrePrefixes.java create mode 100644 src/main/java/gregtech/api/enums/SubTag.java create mode 100644 src/main/java/gregtech/api/enums/TC_Aspects.java create mode 100644 src/main/java/gregtech/api/enums/TextureSet.java create mode 100644 src/main/java/gregtech/api/enums/Textures.java create mode 100644 src/main/java/gregtech/api/enums/Tier.java create mode 100644 src/main/java/gregtech/api/enums/ToolDictNames.java (limited to 'src/main/java/gregtech/api/enums') diff --git a/src/main/java/gregtech/api/enums/ConfigCategories.java b/src/main/java/gregtech/api/enums/ConfigCategories.java new file mode 100644 index 0000000000..ba61c759da --- /dev/null +++ b/src/main/java/gregtech/api/enums/ConfigCategories.java @@ -0,0 +1,64 @@ +package gregtech.api.enums; + +public enum ConfigCategories { + news, + general, + machineconfig, + specialunificationtargets; + + public enum IDs { + crops, + enchantments; + } + + public enum Materials { + heatdamage, + oreprocessingoutputmultiplier, + blastfurnacerequirements, + blastinductionsmelter,; + } + + public enum Recipes { + researches, + harderrecipes, + gregtechrecipes, + disabledrecipes, + recipereplacements, + storageblockcrafting, + storageblockdecrafting; + } + + public enum Machines { + smelting, + squeezer, + liquidtransposer, + liquidtransposerfilling, + liquidtransposeremptying, + extractor, + sawmill, + compression, + thermalcentrifuge, + orewashing, + inductionsmelter, + rcblastfurnace, + scrapboxdrops, + massfabamplifier, + maceration, + rockcrushing, + pulverization; + } + + public enum Fuels { + boilerfuels; + } + + public enum Tools { + mortar, + hammerplating, + hammermultiingot, + hammerdoubleplate, + hammertripleplate, + hammerquadrupleplate, + hammerquintupleplate; + } +} \ No newline at end of file diff --git a/src/main/java/gregtech/api/enums/Dyes.java b/src/main/java/gregtech/api/enums/Dyes.java new file mode 100644 index 0000000000..e37648dbef --- /dev/null +++ b/src/main/java/gregtech/api/enums/Dyes.java @@ -0,0 +1,105 @@ +package gregtech.api.enums; + +import gregtech.api.interfaces.IColorModulationContainer; +import gregtech.api.objects.GT_ArrayList; +import gregtech.api.util.GT_Utility; + +import java.util.ArrayList; + +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; + +public enum Dyes implements IColorModulationContainer { + /** The valid Colors, see VALUES Array below */ + dyeBlack ( 0, 32, 32, 32, "Black"), + dyeRed ( 1, 255, 0, 0, "Red"), + dyeGreen ( 2, 0, 255, 0, "Green"), + dyeBrown ( 3, 96, 64, 0, "Brown"), + dyeBlue ( 4, 0, 0, 255, "Blue"), + dyePurple ( 5, 128, 0, 128, "Purple"), + dyeCyan ( 6, 0, 255, 255, "Cyan"), + dyeLightGray ( 7, 192, 192, 192, "Light Gray"), + dyeGray ( 8, 128, 128, 128, "Gray"), + dyePink ( 9, 255, 192, 192, "Pink"), + dyeLime (10, 128, 255, 128, "Lime"), + dyeYellow (11, 255, 255, 0, "Yellow"), + dyeLightBlue (12, 128, 128, 255, "Light Blue"), + dyeMagenta (13, 255, 0, 255, "Magenta"), + dyeOrange (14, 255, 128, 0, "Orange"), + dyeWhite (15, 255, 255, 255, "White"), + /** The NULL Color */ + _NULL (-1, 255, 255, 255, "INVALID COLOR"), + /** Additional Colors only used for direct Color referencing */ + CABLE_INSULATION (-1, 64, 64, 64, "Cable Insulation"), + CONSTRUCTION_FOAM (-1, 64, 64, 64, "Construction Foam"), + MACHINE_METAL (-1, 220, 220, 255, "Machine Metal"); + + public static final Dyes VALUES[] = {dyeBlack, dyeRed, dyeGreen, dyeBrown, dyeBlue, dyePurple, dyeCyan, dyeLightGray, dyeGray, dyePink, dyeLime, dyeYellow, dyeLightBlue, dyeMagenta, dyeOrange, dyeWhite}; + + public final byte mIndex; + public final String mName; + public final short[] mRGBa; + private final ArrayList mFluidDyes = new GT_ArrayList(false, 1); + + private Dyes(int aIndex, int aR, int aG, int aB, String aName) { + mIndex = (byte)aIndex; + mName = aName; + mRGBa = new short[] {(short)aR, (short)aG, (short)aB, 0}; + } + + public static Dyes get(int aColor) { + if (aColor >= 0 && aColor < 16) return VALUES[aColor]; + return _NULL; + } + + public static short[] getModulation(int aColor, short[] aDefaultModulation) { + if (aColor >= 0 && aColor < 16) return VALUES[aColor].mRGBa; + return aDefaultModulation; + } + + public static Dyes get(String aColor) { + Object tObject = GT_Utility.getFieldContent(Dyes.class, aColor, false, false); + if (tObject != null && tObject instanceof Dyes) return (Dyes)tObject; + return _NULL; + } + + public static boolean isAnyFluidDye(FluidStack aFluid) { + return aFluid != null && isAnyFluidDye(aFluid.getFluid()); + } + + public static boolean isAnyFluidDye(Fluid aFluid) { + if (aFluid != null) for (Dyes tDye : VALUES) if (tDye.isFluidDye(aFluid)) return true; + return false; + } + + public boolean isFluidDye(FluidStack aFluid) { + return aFluid != null && isFluidDye(aFluid.getFluid()); + } + + public boolean isFluidDye(Fluid aFluid) { + return aFluid != null && mFluidDyes.contains(aFluid); + } + + public boolean addFluidDye(Fluid aDye) { + if (aDye == null || mFluidDyes.contains(aDye)) return false; + mFluidDyes.add(aDye); + return true; + } + + public int getSizeOfFluidList() { + return mFluidDyes.size(); + } + + /** + * @param aAmount 1 Fluid Material Unit (144) = 1 Dye Item + */ + public FluidStack getFluidDye(int aIndex, long aAmount) { + if (aIndex >= mFluidDyes.size() || aIndex < 0) return null; + return new FluidStack(mFluidDyes.get(aIndex), (int)aAmount); + } + + @Override + public short[] getRGBA() { + return mRGBa; + } +} \ No newline at end of file diff --git a/src/main/java/gregtech/api/enums/Element.java b/src/main/java/gregtech/api/enums/Element.java new file mode 100644 index 0000000000..b9ff795320 --- /dev/null +++ b/src/main/java/gregtech/api/enums/Element.java @@ -0,0 +1,311 @@ +package gregtech.api.enums; + +import gregtech.api.util.GT_Utility; + +import java.util.ArrayList; + +/** + * This is some kind of Periodic Table, which I use to determine Properties of the Materials. + */ +public enum Element { + _NULL ( 0, 0, 0, -1, null , "" , false), + H ( 1, 0, 0, -1, null , "Hydrogen" , false), + D ( 1, 1, 0, -1, "H" , "Deuterium" , true), + T ( 1, 2, 0, -1, "D" , "Tritium" , true), + He ( 2, 2, 0, -1, null , "Helium" , false), + He_3 ( 2, 1, 0, -1, "H&D" , "Helium-3" , true), + Li ( 3, 4, 0, -1, null , "Lithium" , false), + Be ( 4, 5, 0, -1, null , "Beryllium" , false), + B ( 5, 5, 0, -1, null , "Boron" , false), + C ( 6, 6, 0, -1, null , "Carbon" , false), + N ( 7, 7, 0, -1, null , "Nitrogen" , false), + O ( 8, 8, 0, -1, null , "Oxygen" , false), + F ( 9, 9, 0, -1, null , "Fluorine" , false), + Ne ( 10, 10, 0, -1, null , "Neon" , false), + Na ( 11, 11, 0, -1, null , "Sodium" , false), + Mg ( 12, 12, 0, -1, null , "Magnesium" , false), + Al ( 13, 13, 0, -1, null , "Aluminium" , false), + Si ( 14, 14, 0, -1, null , "Silicon" , false), + P ( 15, 15, 0, -1, null , "Phosphorus" , false), + S ( 16, 16, 0, -1, null , "Sulfur" , false), + Cl ( 17, 18, 0, -1, null , "Chlorine" , false), + Ar ( 18, 22, 0, -1, null , "Argon" , false), + K ( 19, 20, 0, -1, null , "Potassium" , false), + Ca ( 20, 20, 0, -1, null , "Calcium" , false), + Sc ( 21, 24, 0, -1, null , "Scandium" , false), + Ti ( 22, 26, 0, -1, null , "Titanium" , false), + V ( 23, 28, 0, -1, null , "Vanadium" , false), + Cr ( 24, 28, 0, -1, null , "Chrome" , false), + Mn ( 25, 30, 0, -1, null , "Manganese" , false), + Fe ( 26, 30, 0, -1, null , "Iron" , false), + Co ( 27, 32, 0, -1, null , "Cobalt" , false), + Ni ( 28, 30, 0, -1, null , "Nickel" , false), + Cu ( 29, 34, 0, -1, null , "Copper" , false), + Zn ( 30, 35, 0, -1, null , "Zinc" , false), + Ga ( 31, 39, 0, -1, null , "Gallium" , false), + Ge ( 32, 40, 0, -1, null , "Germanium" , false), + As ( 33, 42, 0, -1, null , "Arsenic" , false), + Se ( 34, 45, 0, -1, null , "Selenium" , false), + Br ( 35, 45, 0, -1, null , "Bromine" , false), + Kr ( 36, 48, 0, -1, null , "Krypton" , false), + Rb ( 37, 48, 0, -1, null , "Rubidium" , false), + Sr ( 38, 49, 0, -1, null , "Strontium" , false), + Y ( 39, 50, 0, -1, null , "Yttrium" , false), + Zr ( 40, 51, 0, -1, null , "Zirconium" , false), + Nb ( 41, 53, 0, -1, null , "Niobium" , false), + Mo ( 42, 53, 0, -1, null , "Molybdenum" , false), + Tc ( 43, 55, 0, -1, null , "Technetium" , false), + Ru ( 44, 57, 0, -1, null , "Ruthenium" , false), + Rh ( 45, 58, 0, -1, null , "Rhodium" , false), + Pd ( 46, 60, 0, -1, null , "Palladium" , false), + Ag ( 47, 60, 0, -1, null , "Silver" , false), + Cd ( 48, 64, 0, -1, null , "Cadmium" , false), + In ( 49, 65, 0, -1, null , "Indium" , false), + Sn ( 50, 68, 0, -1, null , "Tin" , false), + Sb ( 51, 70, 0, -1, null , "Antimony" , false), + Te ( 52, 75, 0, -1, null , "Tellurium" , false), + I ( 53, 74, 0, -1, null , "Iodine" , false), + Xe ( 54, 77, 0, -1, null , "Xenon" , false), + Cs ( 55, 77, 0, -1, null , "Caesium" , false), + Ba ( 56, 81, 0, -1, null , "Barium" , false), + La ( 57, 81, 0, -1, null , "Lantanium" , false), + Ce ( 58, 82, 0, -1, null , "Cerium" , false), + Pr ( 59, 81, 0, -1, null , "Praseodymium" , false), + Nd ( 60, 84, 0, -1, null , "Neodymium" , false), + Pm ( 61, 83, 0, -1, null , "Promethium" , false), + Sm ( 62, 88, 0, -1, null , "Samarium" , false), + Eu ( 63, 88, 0, -1, null , "Europium" , false), + Gd ( 64, 93, 0, -1, null , "Gadolinium" , false), + Tb ( 65, 93, 0, -1, null , "Terbium" , false), + Dy ( 66, 96, 0, -1, null , "Dysprosium" , false), + Ho ( 67, 97, 0, -1, null , "Holmium" , false), + Er ( 68, 99, 0, -1, null , "Erbium" , false), + Tm ( 69, 99, 0, -1, null , "Thulium" , false), + Yb ( 70, 103, 0, -1, null , "Ytterbium" , false), + Lu ( 71, 103, 0, -1, null , "Lutetium" , false), + Hf ( 72, 106, 0, -1, null , "Hafnium" , false), + Ta ( 73, 107, 0, -1, null , "Tantalum" , false), + W ( 74, 109, 0, -1, null , "Wolframium" , false), + Re ( 75, 111, 0, -1, null , "Rhenium" , false), + Os ( 76, 114, 0, -1, null , "Osmium" , false), + Ir ( 77, 115, 0, -1, null , "Iridium" , false), + Pt ( 78, 117, 0, -1, null , "Platinum" , false), + Au ( 79, 117, 0, -1, null , "Gold" , false), + Hg ( 80, 120, 0, -1, null , "Mercury" , false), + Tl ( 81, 123, 0, -1, null , "Thallium" , false), + Pb ( 82, 125, 0, -1, null , "Lead" , false), + Bi ( 83, 125, 0, -1, null , "Bismuth" , false), + Po ( 84, 124, 0, -1, null , "Polonium" , false), + At ( 85, 124, 0, -1, null , "Astatine" , false), + Rn ( 86, 134, 0, -1, null , "Radon" , false), + Fr ( 87, 134, 0, -1, null , "Francium" , false), + Ra ( 88, 136, 0, -1, null , "Radium" , false), + Ac ( 89, 136, 0, -1, null , "Actinium" , false), + Th ( 90, 140, 0, -1, null , "Thorium" , false), + Pa ( 91, 138, 0, -1, null , "Protactinium" , false), + U ( 92, 146, 0, -1, null , "Uranium" , false), + U_235 ( 92, 143, 0, -1, null , "Uranium-235" , true), + Np ( 93, 144, 0, -1, null , "Neptunium" , false), + Pu ( 94, 152, 0, -1, null , "Plutonium" , false), + Pu_241 ( 94, 149, 0, -1, null , "Plutonium-241" , true), + Am ( 95, 150, 0, -1, null , "Americium" , false), + Cm ( 96, 153, 0, -1, null , "Curium" , false), + Bk ( 97, 152, 0, -1, null , "Berkelium" , false), + Cf ( 98, 153, 0, -1, null , "Californium" , false), + Es ( 99, 153, 0, -1, null , "Einsteinium" , false), + Fm ( 100, 157, 0, -1, null , "Fermium" , false), + Md ( 101, 157, 0, -1, null , "Mendelevium" , false), + No ( 102, 157, 0, -1, null , "Nobelium" , false), + Lr ( 103, 159, 0, -1, null , "Lawrencium" , false), + Rf ( 104, 161, 0, -1, null , "Rutherfordium" , false), + Db ( 105, 163, 0, -1, null , "Dubnium" , false), + Sg ( 106, 165, 0, -1, null , "Seaborgium" , false), + Bh ( 107, 163, 0, -1, null , "Bohrium" , false), + Hs ( 108, 169, 0, -1, null , "Hassium" , false), + Mt ( 109, 167, 0, -1, null , "Meitnerium" , false), + Ds ( 110, 171, 0, -1, null , "Darmstadtium" , false), + Rg ( 111, 169, 0, -1, null , "Roentgenium" , false), + Cn ( 112, 173, 0, -1, null , "Copernicium" , false), + Uut ( 113, 171, 0, -1, null , "Ununtrium" , false), + Fl ( 114, 175, 0, -1, null , "Flerovium" , false), + Uup ( 115, 173, 0, -1, null , "Ununpentium" , false), + Lv ( 116, 177, 0, -1, null , "Livermorium" , false), + Fa ( 117, 177, 0, -1, null , "Farnsium" , false), // Uus, Ununseptium + Uuo ( 118, 176, 0, -1, null , "Ununoctium" , false), + + Ma ( 0, 0, 100, -1, null , "Magic" , false), + Nt ( 0,100000, 0, -1, null , "Neutronium" , false), + + $H (- 1,- 0, 0, -1, null , "Anti-Hydrogen" , false), + $D (- 1,- 1, 0, -1, "H" , "Anti-Deuterium" , true), + $T (- 1,- 2, 0, -1, "D" , "Anti-Tritium" , true), + $He (- 2,- 2, 0, -1, null , "Anti-Helium" , false), + $He_3 (- 2,- 1, 0, -1, "H&D" , "Anti-Helium-3" , true), + $Li (- 3,- 4, 0, -1, null , "Anti-Lithium" , false), + $Be (- 4,- 5, 0, -1, null , "Anti-Beryllium" , false), + $B (- 5,- 5, 0, -1, null , "Anti-Boron" , false), + $C (- 6,- 6, 0, -1, null , "Anti-Carbon" , false), + $N (- 7,- 7, 0, -1, null , "Anti-Nitrogen" , false), + $O (- 8,- 8, 0, -1, null , "Anti-Oxygen" , false), + $F (- 9,- 9, 0, -1, null , "Anti-Fluorine" , false), + $Ne (- 10,- 10, 0, -1, null , "Anti-Neon" , false), + $Na (- 11,- 11, 0, -1, null , "Anti-Sodium" , false), + $Mg (- 12,- 12, 0, -1, null , "Anti-Magnesium" , false), + $Al (- 13,- 13, 0, -1, null , "Anti-Aluminium" , false), + $Si (- 14,- 14, 0, -1, null , "Anti-Silicon" , false), + $P (- 15,- 15, 0, -1, null , "Anti-Phosphorus" , false), + $S (- 16,- 16, 0, -1, null , "Anti-Sulfur" , false), + $Cl (- 17,- 18, 0, -1, null , "Anti-Chlorine" , false), + $Ar (- 18,- 22, 0, -1, null , "Anti-Argon" , false), + $K (- 19,- 20, 0, -1, null , "Anti-Potassium" , false), + $Ca (- 20,- 20, 0, -1, null , "Anti-Calcium" , false), + $Sc (- 21,- 24, 0, -1, null , "Anti-Scandium" , false), + $Ti (- 22,- 26, 0, -1, null , "Anti-Titanium" , false), + $V (- 23,- 28, 0, -1, null , "Anti-Vanadium" , false), + $Cr (- 24,- 28, 0, -1, null , "Anti-Chrome" , false), + $Mn (- 25,- 30, 0, -1, null , "Anti-Manganese" , false), + $Fe (- 26,- 30, 0, -1, null , "Anti-Iron" , false), + $Co (- 27,- 32, 0, -1, null , "Anti-Cobalt" , false), + $Ni (- 28,- 30, 0, -1, null , "Anti-Nickel" , false), + $Cu (- 29,- 34, 0, -1, null , "Anti-Copper" , false), + $Zn (- 30,- 35, 0, -1, null , "Anti-Zinc" , false), + $Ga (- 31,- 39, 0, -1, null , "Anti-Gallium" , false), + $Ge (- 32,- 40, 0, -1, null , "Anti-Germanium" , false), + $As (- 33,- 42, 0, -1, null , "Anti-Arsenic" , false), + $Se (- 34,- 45, 0, -1, null , "Anti-Selenium" , false), + $Br (- 35,- 45, 0, -1, null , "Anti-Bromine" , false), + $Kr (- 36,- 48, 0, -1, null , "Anti-Krypton" , false), + $Rb (- 37,- 48, 0, -1, null , "Anti-Rubidium" , false), + $Sr (- 38,- 49, 0, -1, null , "Anti-Strontium" , false), + $Y (- 39,- 50, 0, -1, null , "Anti-Yttrium" , false), + $Zr (- 40,- 51, 0, -1, null , "Anti-Zirconium" , false), + $Nb (- 41,- 53, 0, -1, null , "Anti-Niobium" , false), + $Mo (- 42,- 53, 0, -1, null , "Anti-Molybdenum" , false), + $Tc (- 43,- 55, 0, -1, null , "Anti-Technetium" , false), + $Ru (- 44,- 57, 0, -1, null , "Anti-Ruthenium" , false), + $Rh (- 45,- 58, 0, -1, null , "Anti-Rhodium" , false), + $Pd (- 46,- 60, 0, -1, null , "Anti-Palladium" , false), + $Ag (- 47,- 60, 0, -1, null , "Anti-Silver" , false), + $Cd (- 48,- 64, 0, -1, null , "Anti-Cadmium" , false), + $In (- 49,- 65, 0, -1, null , "Anti-Indium" , false), + $Sn (- 50,- 68, 0, -1, null , "Anti-Tin" , false), + $Sb (- 51,- 70, 0, -1, null , "Anti-Antimony" , false), + $Te (- 52,- 75, 0, -1, null , "Anti-Tellurium" , false), + $I (- 53,- 74, 0, -1, null , "Anti-Iodine" , false), + $Xe (- 54,- 77, 0, -1, null , "Anti-Xenon" , false), + $Cs (- 55,- 77, 0, -1, null , "Anti-Caesium" , false), + $Ba (- 56,- 81, 0, -1, null , "Anti-Barium" , false), + $La (- 57,- 81, 0, -1, null , "Anti-Lantanium" , false), + $Ce (- 58,- 82, 0, -1, null , "Anti-Cerium" , false), + $Pr (- 59,- 81, 0, -1, null , "Anti-Praseodymium" , false), + $Nd (- 60,- 84, 0, -1, null , "Anti-Neidymium" , false), + $Pm (- 61,- 83, 0, -1, null , "Anti-Promethium" , false), + $Sm (- 62,- 88, 0, -1, null , "Anti-Samarium" , false), + $Eu (- 63,- 88, 0, -1, null , "Anti-Europium" , false), + $Gd (- 64,- 93, 0, -1, null , "Anti-Gadolinium" , false), + $Tb (- 65,- 93, 0, -1, null , "Anti-Terbium" , false), + $Dy (- 66,- 96, 0, -1, null , "Anti-Dysprosium" , false), + $Ho (- 67,- 97, 0, -1, null , "Anti-Holmium" , false), + $Er (- 68,- 99, 0, -1, null , "Anti-Erbium" , false), + $Tm (- 69,- 99, 0, -1, null , "Anti-Thulium" , false), + $Yb (- 70,-103, 0, -1, null , "Anti-Ytterbium" , false), + $Lu (- 71,-103, 0, -1, null , "Anti-Lutetium" , false), + $Hf (- 72,-106, 0, -1, null , "Anti-Hafnium" , false), + $Ta (- 73,-107, 0, -1, null , "Anti-Tantalum" , false), + $W (- 74,-109, 0, -1, null , "Anti-Wolframium" , false), + $Re (- 75,-111, 0, -1, null , "Anti-Rhenium" , false), + $Os (- 76,-114, 0, -1, null , "Anti-Osmium" , false), + $Ir (- 77,-115, 0, -1, null , "Anti-Iridium" , false), + $Pt (- 78,-117, 0, -1, null , "Anti-Platinum" , false), + $Au (- 79,-117, 0, -1, null , "Anti-Gold" , false), + $Hg (- 80,-120, 0, -1, null , "Anti-Mercury" , false), + $Tl (- 81,-123, 0, -1, null , "Anti-Thallium" , false), + $Pb (- 82,-125, 0, -1, null , "Anti-Lead" , false), + $Bi (- 83,-125, 0, -1, null , "Anti-Bismuth" , false), + $Po (- 84,-124, 0, -1, null , "Anti-Polonium" , false), + $At (- 85,-124, 0, -1, null , "Anti-Astatine" , false), + $Rn (- 86,-134, 0, -1, null , "Anti-Radon" , false), + $Fr (- 87,-134, 0, -1, null , "Anti-Francium" , false), + $Ra (- 88,-136, 0, -1, null , "Anti-Radium" , false), + $Ac (- 89,-136, 0, -1, null , "Anti-Actinium" , false), + $Th (- 90,-140, 0, -1, null , "Anti-Thorium" , false), + $Pa (- 91,-138, 0, -1, null , "Anti-Protactinium" , false), + $U (- 92,-146, 0, -1, null , "Anti-Uranium" , false), + $U_235 (- 92,-143, 0, -1, null , "Anti-Uranium-235" , true), + $Np (- 93,-144, 0, -1, null , "Anti-Neptunium" , false), + $Pu (- 94,-152, 0, -1, null , "Anti-Plutonium" , false), + $Pu_241 (- 94,-149, 0, -1, null , "Anti-Plutonium-241" , true), + $Am (- 95,-150, 0, -1, null , "Anti-Americum" , false), + $Cm (- 96,-153, 0, -1, null , "Anti-Curium" , false), + $Bk (- 97,-152, 0, -1, null , "Anti-Berkelium" , false), + $Cf (- 98,-153, 0, -1, null , "Anti-Californium" , false), + $Es (- 99,-153, 0, -1, null , "Anti-Einsteinium" , false), + $Fm (-100,-157, 0, -1, null , "Anti-Fermium" , false), + $Md (-101,-157, 0, -1, null , "Anti-Mendelevium" , false), + $No (-102,-157, 0, -1, null , "Anti-Nobelium" , false), + $Lr (-103,-159, 0, -1, null , "Anti-Lawrencium" , false), + $Rf (-104,-161, 0, -1, null , "Anti-Rutherfordium" , false), + $Db (-105,-163, 0, -1, null , "Anti-Dubnium" , false), + $Sg (-106,-165, 0, -1, null , "Anti-Seaborgium" , false), + $Bh (-107,-163, 0, -1, null , "Anti-Bohrium" , false), + $Hs (-108,-169, 0, -1, null , "Anti-Hassium" , false), + $Mt (-109,-167, 0, -1, null , "Anti-Meitnerium" , false), + $Ds (-110,-171, 0, -1, null , "Anti-Darmstadtium" , false), + $Rg (-111,-169, 0, -1, null , "Anti-Roentgenium" , false), + $Cn (-112,-173, 0, -1, null , "Anti-Copernicium" , false), + $Uut (-113,-171, 0, -1, null , "Anti-Ununtrium" , false), + $Fl (-114,-175, 0, -1, null , "Anti-Flerovium" , false), + $Uup (-115,-173, 0, -1, null , "Anti-Ununpentium" , false), + $Lv (-116,-177, 0, -1, null , "Anti-Livermorium" , false), + $Uus (-117,-177, 0, -1, null , "Anti-Ununseptium" , false), + $Uuo (-118,-176, 0, -1, null , "Anti-Ununoctium" , false), + + $Ma ( 0, 0,-100, -1, null , "Anti-Magic" , false), + $Nt (0, -10000, 0, -1, null , "Anti-Neutronium" , false); + + public static Element get(String aMaterialName) { + Object tObject = GT_Utility.getFieldContent(Element.class, aMaterialName, false, false); + if (tObject != null && tObject instanceof Element) return (Element)tObject; + return _NULL; + } + + public final long mProtons, mNeutrons, mAdditionalMass, mHalfLifeSeconds; + public final String mName, mDecayTo; + public final boolean mIsIsotope; + + /** + * Links to every pure Material containing just this Element. + */ + public ArrayList mLinkedMaterials = new ArrayList(); + + /** + * @param aProtons Amount of Protons. Antiprotons if negative. + * @param aNeutrons Amount of Neutrons. Antineutrons if negative. (I could have made mistakes with the Neutron amount calculation, please tell me if I did something wrong) + * @param aHalfLifeSeconds Amount of Half Life this Material has in Seconds. -1 for stable Materials. + * @param aDecayTo String representing the Elements it decays to. Separated by an '&' Character. + * @param aName Name of the Element + */ + private Element(long aProtons, long aNeutrons, long aAdditionalMass, long aHalfLifeSeconds, String aDecayTo, String aName, boolean aIsIsotope) { + mProtons = aProtons; + mNeutrons = aNeutrons; + mAdditionalMass = aAdditionalMass; + mHalfLifeSeconds = aHalfLifeSeconds; + mDecayTo = aDecayTo; + mName = aName; + mIsIsotope = aIsIsotope; + } + + public long getProtons() { + return mProtons; + } + + public long getNeutrons() { + return mNeutrons; + } + + public long getMass() { + return mProtons + mNeutrons + mAdditionalMass; + } + + public static volatile int VERSION = 508; +} \ No newline at end of file diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java new file mode 100644 index 0000000000..e04b2be941 --- /dev/null +++ b/src/main/java/gregtech/api/enums/GT_Values.java @@ -0,0 +1,160 @@ +package gregtech.api.enums; + +import gregtech.api.interfaces.internal.IGT_Mod; +import gregtech.api.interfaces.internal.IGT_RecipeAdder; +import gregtech.api.net.IGT_NetworkHandler; + +import java.util.Arrays; +import java.util.HashSet; + +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; + +/** + * Made for static imports, this Class is just a Helper. + * + * I am doing this to have a better Table alike view on my Code, so I can change things faster using the Block Selection Mode of eclipse. + * + * Go to "Window > Preferences > Java > Editor > Content Assist > Favorites" to set static importable Constant Classes such as this one as AutoCompleteable. + */ +public class GT_Values { + // unused: A, C, D, G, H, I, J, K, N, O, Q, R, S, T + + // TODO: Rename Material Units to 'U' + // TODO: Rename OrePrefixes Class to 'P' + // TODO: Rename Materials Class to 'M' + + /** Because "true" and "false" are too long. Some Programmers might wanna kill me for that, but this looks much better than true and false, and also it is better to have something that is not 4 and 5 Characters long, because of symmetry */ + public static final boolean T = true, F = false; + + /** Empty String for an easier Call Hierarchy */ + public static final String E = ""; + + /** Character Set with all Numbers */ + public static final HashSet CN = new HashSet(Arrays.asList('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')); + /** Character Set with all lowercased Characters */ + public static final HashSet CL = new HashSet(Arrays.asList('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z')); + /** Character Set with all uppercased Characters */ + public static final HashSet CU = new HashSet(Arrays.asList('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z')); + + /** The first 32 Bits */ + public static final int[] B = new int[] {1<<0,1<<1,1<<2,1<<3,1<<4,1<<5,1<<6,1<<7,1<<8,1<<9,1<<10,1<<11,1<<12,1<<13,1<<14,1<<15,1<<16,1<<17,1<<18,1<<19,1<<20,1<<21,1<<22,1<<23,1<<24,1<<25,1<<26,1<<27,1<<28,1<<29,1<<30,1<<31}; + + /** + * Renamed from "MATERIAL_UNIT" to just "M" + * + * This is worth exactly one normal Item. + * This Constant can be divided by many commonly used Numbers such as + * 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, ... 64 or 81 + * without loosing precision and is for that reason used as Unit of Amount. + * But it is also small enough to be multiplied with larger Numbers. + * + * This is used to determine the amount of Material contained inside a prefixed Ore. + * For example Nugget = M / 9 as it contains out of 1/9 of an Ingot. + */ + public static final long M = 3628800; + + /** + * Renamed from "FLUID_MATERIAL_UNIT" to just "L" + * + * Fluid per Material Unit (Prime Factors: 3 * 3 * 2 * 2 * 2 * 2) + */ + public static final long L = 144; + + /** The Item WildCard Tag. Even shorter than the "-1" of the past */ + public static final short W = OreDictionary.WILDCARD_VALUE; + + /** The Voltage Tiers. Use this Array instead of the old named Voltage Variables */ + public static final long[] V = new long[] {8, 32, 128, 512, 2048, 8192, 32768, 131072, 524288, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE}; + + /** The short Names for the Voltages */ + public static final String[] VN = new String[] {"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "MAX", "MAX", "MAX", "MAX", "MAX", "MAX", "MAX"}; + + /** The long Names for the Voltages */ + public static final String[] VOLTAGE_NAMES = new String[] {"Ultra Low Voltage", "Low Voltage", "Medium Voltage", "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage"}; + + /** The Mod Object itself. That is the GT_Mod-Object. It's needed to open GUI's and similar. */ + public static IGT_Mod GT; + + /** Use this Object to add Recipes. (Recipe Adder) */ + public static IGT_RecipeAdder RA; + + /** For Internal Usage (Network) */ + public static IGT_NetworkHandler NW; + + /** This way it is possible to have a Call Hierarchy of NullPointers in ItemStack based Functions, and also because most of the time I don't know what kind of Data Type the "null" stands for */ + public static final ItemStack NI = null; + + /** This way it is possible to have a Call Hierarchy of NullPointers in FluidStack based Functions, and also because most of the time I don't know what kind of Data Type the "null" stands for */ + public static final FluidStack NF = null; + + /** Not really Constants, but they set using the Config and therefore should be constant (those are for the Debug Mode) */ + public static boolean D1 = false, D2 = false; + + /** If you have to give something a World Parameter but there is no World... (Dummy World) */ + public static World DW; + + /** + * MOD ID Strings, since they are very common Parameters. + */ + public static final String + MOD_ID = "gregtech" + + , MOD_ID_IC2 = "IC2" + , MOD_ID_NC = "IC2NuclearControl" + + , MOD_ID_TC = "Thaumcraft" + + , MOD_ID_TF = "TwilightForest" + + , MOD_ID_RC = "Railcraft" + + , MOD_ID_TE = "ThermalExpansion" + + , MOD_ID_AE = "appliedenergistics2" + + , MOD_ID_TFC = "terrafirmacraft" + + , MOD_ID_PFAA = "PFAAGeologica" + + , MOD_ID_FR = "Forestry" + , MOD_ID_HaC = "harvestcraft" + , MOD_ID_APC = "AppleCore" + , MOD_ID_MaCr = "magicalcrops" + , MOD_ID_GaEn = "ganysend" + , MOD_ID_GaSu = "ganyssurface" + , MOD_ID_GaNe = "ganysnether" + + , MOD_ID_BC_SILICON = "BuildCraft|Silicon" + , MOD_ID_BC_TRANSPORT = "BuildCraft|Transport" + , MOD_ID_BC_FACTORY = "BuildCraft|Factory" + , MOD_ID_BC_ENERGY = "BuildCraft|Energy" + , MOD_ID_BC_BUILDERS = "BuildCraft|Builders" + , MOD_ID_BC_CORE = "BuildCraft|Core" + + , MOD_ID_GC_CORE = "GalacticraftCore" + , MOD_ID_GC_MARS = "GalacticraftMars" + , MOD_ID_GC_PLANETS = "GalacticraftPlanets" + ; + + /** File Paths and Resource Paths */ + public static final String + TEX_DIR = "textures/" + , TEX_DIR_GUI = TEX_DIR + "gui/" + , TEX_DIR_ITEM = TEX_DIR + "items/" + , TEX_DIR_BLOCK = TEX_DIR + "blocks/" + , TEX_DIR_ENTITY = TEX_DIR + "entity/" + , TEX_DIR_ASPECTS = TEX_DIR + "aspects/" + + , RES_PATH = MOD_ID + ":" + TEX_DIR + , RES_PATH_GUI = MOD_ID + ":" + TEX_DIR_GUI + , RES_PATH_ITEM = MOD_ID + ":" + , RES_PATH_BLOCK = MOD_ID + ":" + , RES_PATH_ENTITY = MOD_ID + ":" + TEX_DIR_ENTITY + , RES_PATH_ASPECTS = MOD_ID + ":" + TEX_DIR_ASPECTS + + , RES_PATH_IC2 = MOD_ID_IC2.toLowerCase() + ":" + ; +} \ No newline at end of file diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java new file mode 100644 index 0000000000..2085071249 --- /dev/null +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -0,0 +1,785 @@ +package gregtech.api.enums; + +import static gregtech.api.enums.GT_Values.W; +import gregtech.api.interfaces.IItemContainer; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; + +/** + * Class containing all non-OreDict Items of GregTech. + */ +public enum ItemList implements IItemContainer { + Display_ITS_FREE, + Display_Fluid, + TE_Slag, + TE_Slag_Rich, + TE_Rockwool, + TE_Hardened_Glass, + FR_Lemon, + FR_Mulch, + FR_Fertilizer, + FR_Compost, + FR_Silk, + FR_Wax, + FR_RefractoryWax, + FR_WaxCapsule, + FR_RefractoryCapsule, + FR_Stick, + FR_Casing_Impregnated, + FR_Casing_Sturdy, + FR_Casing_Hardened, + FR_Bee_Drone, + FR_Bee_Princess, + FR_Bee_Queen, + FR_Tree_Sapling, + FR_Butterfly, + FR_Larvae, + FR_Serum, + FR_Caterpillar, + FR_PollenFertile, + TF_LiveRoot, + TF_Vial_FieryBlood, + TF_Vial_FieryTears, + RC_ShuntingWire, + RC_ShuntingWireFrame, + RC_Rail_Reinforced, + RC_Rail_Electric, + RC_Rail_Standard, + RC_Rail_Wooden, + RC_Rail_Adv, + RC_Rail_HS, + RC_Tie_Wood, + RC_Tie_Stone, + RC_Bed_Wood, + RC_Bed_Stone, + RC_Rebar, + IC2_Item_Casing_Tin, + IC2_Item_Casing_Copper, + IC2_Item_Casing_Iron, + IC2_Item_Casing_Steel, + IC2_Item_Casing_Lead, + IC2_Item_Casing_Bronze, + IC2_Item_Casing_Gold, + IC2_Spray_WeedEx, + IC2_Scrap, + IC2_Scrapbox, + IC2_Fertilizer, + IC2_Mixed_Metal_Ingot, + IC2_Hops, + IC2_Resin, + IC2_Plantball, + IC2_PlantballCompressed, + IC2_CoffeeBeans, + IC2_CoffeePowder, + IC2_Crop_Seeds, + IC2_Grin_Powder, + IC2_Energium_Dust, + IC2_Compressed_Coal_Ball, + IC2_Compressed_Coal_Chunk, + IC2_Fuel_Rod_Empty, + IC2_Fuel_Can_Empty, + IC2_Fuel_Can_Filled, + IC2_Food_Can_Empty, + IC2_Food_Can_Filled, + IC2_Food_Can_Spoiled, + IC2_ShaftIron, + IC2_ShaftSteel, + IC2_Industrial_Diamond, + IC2_ForgeHammer, + IC2_WireCutter, + IC2_SuBattery, + IC2_ReBattery, + IC2_AdvBattery, + IC2_EnergyCrystal, + IC2_LapotronCrystal, + Arrow_Head_Glass_Emtpy, + Arrow_Head_Glass_Poison, + Arrow_Head_Glass_Poison_Long, + Arrow_Head_Glass_Poison_Strong, + Arrow_Head_Glass_Slowness, + Arrow_Head_Glass_Slowness_Long, + Arrow_Head_Glass_Weakness, + Arrow_Head_Glass_Weakness_Long, + Arrow_Head_Glass_Holy_Water, + Arrow_Wooden_Glass_Emtpy, + Arrow_Wooden_Glass_Poison, + Arrow_Wooden_Glass_Poison_Long, + Arrow_Wooden_Glass_Poison_Strong, + Arrow_Wooden_Glass_Slowness, + Arrow_Wooden_Glass_Slowness_Long, + Arrow_Wooden_Glass_Weakness, + Arrow_Wooden_Glass_Weakness_Long, + Arrow_Wooden_Glass_Holy_Water, + Arrow_Plastic_Glass_Emtpy, + Arrow_Plastic_Glass_Poison, + Arrow_Plastic_Glass_Poison_Long, + Arrow_Plastic_Glass_Poison_Strong, + Arrow_Plastic_Glass_Slowness, + Arrow_Plastic_Glass_Slowness_Long, + Arrow_Plastic_Glass_Weakness, + Arrow_Plastic_Glass_Weakness_Long, + Arrow_Plastic_Glass_Holy_Water, + Shape_Empty, + Shape_Mold_Bottle, + Shape_Mold_Plate, + Shape_Mold_Ingot, + Shape_Mold_Casing, + Shape_Mold_Gear, + Shape_Mold_Gear_Small, + Shape_Mold_Credit, + Shape_Mold_Nugget, + Shape_Mold_Block, + Shape_Mold_Ball, + Shape_Mold_Bun, + Shape_Mold_Bread, + Shape_Mold_Baguette, + Shape_Mold_Cylinder, + Shape_Mold_Anvil, + Shape_Mold_Arrow, + Shape_Mold_Name, + Shape_Slicer_Flat, + Shape_Slicer_Stripes, + Shape_Extruder_Bottle, + Shape_Extruder_Plate, + Shape_Extruder_Cell, + Shape_Extruder_Ring, + Shape_Extruder_Rod, + Shape_Extruder_Bolt, + Shape_Extruder_Ingot, + Shape_Extruder_Wire, + Shape_Extruder_Casing, + Shape_Extruder_Pipe_Tiny, + Shape_Extruder_Pipe_Small, + Shape_Extruder_Pipe_Medium, + Shape_Extruder_Pipe_Large, + Shape_Extruder_Pipe_Huge, + Shape_Extruder_Block, + Shape_Extruder_Sword, + Shape_Extruder_Pickaxe, + Shape_Extruder_Shovel, + Shape_Extruder_Axe, + Shape_Extruder_Hoe, + Shape_Extruder_Hammer, + Shape_Extruder_File, + Shape_Extruder_Saw, + Shape_Extruder_Gear, + Crate_Empty, + Credit_Copper, + Credit_Iron, + Credit_Silver, + Credit_Gold, + Credit_Platinum, + Credit_Osmium, + Credit_Greg_Copper, + Credit_Greg_Cupronickel, + Credit_Greg_Silver, + Credit_Greg_Gold, + Credit_Greg_Platinum, + Credit_Greg_Osmium, + Credit_Greg_Naquadah, + Credit_Greg_Neutronium, + Coin_Gold_Ancient, + Coin_Doge, + Coin_Chocolate, + Cell_Universal_Fluid, + Cell_Empty, + Cell_Water, + Cell_Lava, + Cell_Air, + Large_Fluid_Cell_Steel, + Large_Fluid_Cell_TungstenSteel, + ThermosCan_Empty, + ThermosCan_Dark_Coffee, + ThermosCan_Dark_Cafe_au_lait, + ThermosCan_Coffee, + ThermosCan_Cafe_au_lait, + ThermosCan_Lait_au_cafe, + ThermosCan_Dark_Chocolate_Milk, + ThermosCan_Chocolate_Milk, + ThermosCan_Tea, + ThermosCan_Sweet_Tea, + ThermosCan_Ice_Tea, + Bottle_Empty, + Bottle_Milk, + Bottle_Holy_Water, + Bottle_Purple_Drink, + Bottle_Grape_Juice, + Bottle_Wine, + Bottle_Vinegar, + Bottle_Potato_Juice, + Bottle_Vodka, + Bottle_Leninade, + Bottle_Mineral_Water, + Bottle_Salty_Water, + Bottle_Reed_Water, + Bottle_Rum, + Bottle_Pirate_Brew, + Bottle_Hops_Juice, + Bottle_Dark_Beer, + Bottle_Dragon_Blood, + Bottle_Wheaty_Juice, + Bottle_Scotch, + Bottle_Glen_McKenner, + Bottle_Wheaty_Hops_Juice, + Bottle_Beer, + Bottle_Chilly_Sauce, + Bottle_Hot_Sauce, + Bottle_Diabolo_Sauce, + Bottle_Diablo_Sauce, + Bottle_Snitches_Glitch_Sauce, + Bottle_Apple_Juice, + Bottle_Cider, + Bottle_Golden_Apple_Juice, + Bottle_Golden_Cider, + Bottle_Iduns_Apple_Juice, + Bottle_Notches_Brew, + Bottle_Lemon_Juice, + Bottle_Limoncello, + Bottle_Lemonade, + Bottle_Alcopops, + Bottle_Cave_Johnsons_Grenade_Juice, + Food_Potato_On_Stick, + Food_Potato_On_Stick_Roasted, + Food_Fries, + Food_ChiliChips, + Food_PotatoChips, + Food_Baked_Potato, + Food_Poisonous_Potato, + Food_Cheese, + Food_Chum, + Food_Chum_On_Stick, + Food_Dough, + Food_Dough_Sugar, + Food_Dough_Chocolate, + Food_Raw_Cookie, + Food_Flat_Dough, + Food_Burger_Veggie, + Food_Burger_Cheese, + Food_Burger_Meat, + Food_Burger_Chum, + Food_Sandwich_Veggie, + Food_Sandwich_Cheese, + Food_Sandwich_Bacon, + Food_Sandwich_Steak, + Food_Large_Sandwich_Veggie, + Food_Large_Sandwich_Cheese, + Food_Large_Sandwich_Bacon, + Food_Large_Sandwich_Steak, + Food_Sliced_Lemon, + Food_Sliced_Tomato, + Food_Sliced_Onion, + Food_Sliced_Cucumber, + Food_Sliced_Cheese, + Food_Sliced_Bread, + Food_Sliced_Bun, + Food_Sliced_Baguette, + Food_Sliced_Breads, + Food_Sliced_Buns, + Food_Sliced_Baguettes, + Food_Packaged_Fries, + Food_Packaged_PotatoChips, + Food_Packaged_ChiliChips, + Food_Raw_Potato, + Food_Raw_Fries, + Food_Raw_PotatoChips, + Food_Raw_Bread, + Food_Raw_Bun, + Food_Raw_Baguette, + Food_Raw_Cake, + Food_Raw_Pizza_Veggie, + Food_Raw_Pizza_Cheese, + Food_Raw_Pizza_Meat, + Food_Baked_Bread, + Food_Baked_Bun, + Food_Baked_Baguette, + Food_Baked_Cake, + Food_Baked_Pizza_Veggie, + Food_Baked_Pizza_Cheese, + Food_Baked_Pizza_Meat, + Crop_Drop_Argentia, + Crop_Drop_Plumbilia, + Crop_Drop_Indigo, + Crop_Drop_Ferru, + Crop_Drop_Aurelia, + Crop_Drop_OilBerry, + Crop_Drop_MilkWart, + Crop_Drop_BobsYerUncleRanks, + Crop_Drop_Coppon, + Crop_Drop_Tine, + Crop_Drop_Chilly, + Crop_Drop_Lemon, + Crop_Drop_Onion, + Crop_Drop_Tomato, + Crop_Drop_MTomato, + Crop_Drop_Grapes, + Crop_Drop_TeaLeaf, + Crop_Drop_Cucumber, + Schematic, + Schematic_Crafting, + Schematic_1by1, + Schematic_2by2, + Schematic_3by3, + Schematic_Dust, + Circuit_Integrated, + Circuit_Board_Basic, + Circuit_Board_Advanced, + Circuit_Board_Elite, + Circuit_Parts_Advanced, + Circuit_Parts_Wiring_Basic, + Circuit_Parts_Wiring_Advanced, + Circuit_Parts_Wiring_Elite, + Circuit_Parts_Crystal_Chip_Elite, + Circuit_Parts_Crystal_Chip_Master, + Circuit_Primitive, + Circuit_Basic, + Circuit_Good, + Circuit_Advanced, + Circuit_Data, + Circuit_Elite, + Circuit_Master, + Circuit_Ultimate, + Rotor_LV, Rotor_MV, Rotor_HV, Rotor_EV, Rotor_IV, Rotor_LuV, Rotor_ZPM, Rotor_UV, + Electric_Motor_LV, Electric_Motor_MV, Electric_Motor_HV, Electric_Motor_EV, Electric_Motor_IV, Electric_Motor_LuV, Electric_Motor_ZPM, Electric_Motor_UV, + Electric_Pump_LV, Electric_Pump_MV, Electric_Pump_HV, Electric_Pump_EV, Electric_Pump_IV, Electric_Pump_LuV, Electric_Pump_ZPM, Electric_Pump_UV, + Conveyor_Module_LV, Conveyor_Module_MV, Conveyor_Module_HV, Conveyor_Module_EV, Conveyor_Module_IV, Conveyor_Module_LuV, Conveyor_Module_ZPM, Conveyor_Module_UV, + Electric_Piston_LV, Electric_Piston_MV, Electric_Piston_HV, Electric_Piston_EV, Electric_Piston_IV, Electric_Piston_LuV, Electric_Piston_ZPM, Electric_Piston_UV, + Field_Generator_LV, Field_Generator_MV, Field_Generator_HV, Field_Generator_EV, Field_Generator_IV, Field_Generator_LuV, Field_Generator_ZPM, Field_Generator_UV, + Robot_Arm_LV, Robot_Arm_MV, Robot_Arm_HV, Robot_Arm_EV, Robot_Arm_IV, Robot_Arm_LuV, Robot_Arm_ZPM, Robot_Arm_UV, + Emitter_LV, Emitter_MV, Emitter_HV, Emitter_EV, Emitter_IV, Emitter_LuV, Emitter_ZPM, Emitter_UV, + Sensor_LV, Sensor_MV, Sensor_HV, Sensor_EV, Sensor_IV, Sensor_LuV, Sensor_ZPM, Sensor_UV, + Battery_Hull_LV, Battery_Hull_MV, Battery_Hull_HV, + Battery_SU_LV_SulfuricAcid, + Battery_SU_LV_Mercury, + Battery_SU_MV_SulfuricAcid, + Battery_SU_MV_Mercury, + Battery_SU_HV_SulfuricAcid, + Battery_SU_HV_Mercury, + Battery_RE_ULV_Tantalum, + Battery_RE_LV_Cadmium, + Battery_RE_LV_Lithium, + Battery_RE_LV_Sodium, + Battery_RE_MV_Cadmium, + Battery_RE_MV_Lithium, + Battery_RE_MV_Sodium, + Battery_RE_HV_Cadmium, + Battery_RE_HV_Lithium, + Battery_RE_HV_Sodium, + ZPM, + Fuel_Can_Plastic_Empty, + Fuel_Can_Plastic_Filled, + Upgrade_Battery, + Upgrade_Overclocker, + Upgrade_Muffler, + Upgrade_SteamEngine, + Upgrade_Lock, + Cover_Controller, + Cover_ActivityDetector, + Cover_FluidDetector, + Cover_ItemDetector, + Cover_EnergyDetector, + Cover_Drain, + Cover_Shutter, + Cover_Crafting, + Cover_Screen, + Cover_SolarPanel, + Cover_SolarPanel_8V, + Cover_SolarPanel_LV, + Cover_SolarPanel_MV, + Cover_SolarPanel_HV, + Cover_SolarPanel_EV, + Cover_SolarPanel_IV, + Cover_SolarPanel_LuV, + Cover_SolarPanel_ZPM, + Cover_SolarPanel_UV, + Ingot_IridiumAlloy, + Plank_Oak, + Plank_Spruce, + Plank_Birch, + Plank_Jungle, + Plank_Acacia, + Plank_DarkOak, + Plank_Larch, + Plank_Teak, + Plank_Acacia_Green, + Plank_Lime, + Plank_Chestnut, + Plank_Wenge, + Plank_Baobab, + Plank_Sequoia, + Plank_Kapok, + Plank_Ebony, + Plank_Mahagony, + Plank_Balsa, + Plank_Willow, + Plank_Walnut, + Plank_Greenheart, + Plank_Cherry, + Plank_Mahoe, + Plank_Poplar, + Plank_Palm, + Plank_Papaya, + Plank_Pine, + Plank_Plum, + Plank_Maple, + Plank_Citrus, + Dye_Indigo, + Dye_SquidInk, + Dye_Bonemeal, + Dye_Cocoa, + Duct_Tape, + Book_Written_00, + Book_Written_01, + Book_Written_02, + Book_Written_03, + Paper_Printed_Pages, + Paper_Magic_Empty, + Paper_Magic_Page, + Paper_Magic_Pages, + Paper_Punch_Card_Empty, + Paper_Punch_Card_Encoded, + McGuffium_239, + NC_SensorCard, + NC_SensorKit, + Tool_Matches, + Tool_MatchBox_Used, + Tool_MatchBox_Full, + Tool_Lighter_Invar_Empty, + Tool_Lighter_Invar_Used, + Tool_Lighter_Invar_Full, + Tool_Lighter_Platinum_Empty, + Tool_Lighter_Platinum_Used, + Tool_Lighter_Platinum_Full, + Tool_Cheat, + Tool_Scanner, + Tool_DataOrb, + Tool_DataStick, + Tool_Sonictron, + Tool_Sword_Bronze, + Tool_Pickaxe_Bronze, + Tool_Shovel_Bronze, + Tool_Axe_Bronze, + Tool_Hoe_Bronze, + Tool_Sword_Steel, + Tool_Pickaxe_Steel, + Tool_Shovel_Steel, + Tool_Axe_Steel, + Tool_Hoe_Steel, + + Spray_Empty, Spray_Bug, Spray_Ice, Spray_Hardener, Spray_CFoam, Spray_Pepper, Spray_Hydration, + Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15, + Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15, + Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15, + + Armor_Cheat, + Armor_Cloaking, + Armor_Lamp, + Armor_LithiumPack, + Armor_LapotronicPack, + Armor_ForceField, + Energy_LapotronicOrb, + Reactor_NeutronReflector, + Component_Turbine_Bronze, + Component_Turbine_Steel, + Component_Turbine_Magnalium, + Component_Turbine_TungstenSteel, + Component_Turbine_Carbon, + Component_LavaFilter, + Component_Sawblade_Diamond, + Component_Grinder_Diamond, + Component_Grinder_Tungsten, + Component_Filter, + Component_Minecart_Wheels_Iron, + Component_Minecart_Wheels_Steel, + + Generator_Diesel_LV, + Generator_Diesel_MV, + Generator_Diesel_HV, + Generator_Gas_Turbine_LV, + Generator_Gas_Turbine_MV, + Generator_Gas_Turbine_HV, + Generator_Steam_Turbine_LV, + Generator_Steam_Turbine_MV, + Generator_Steam_Turbine_HV, + Generator_Naquadah_Mark_I, + Generator_Naquadah_Mark_II, + Generator_Naquadah_Fluid, + + Machine_Bronze_Boiler, + Machine_Bronze_Boiler_Solar, + Machine_Bronze_CraftingTable, + Machine_Bronze_Furnace, + Machine_Bronze_Macerator, + Machine_Bronze_Extractor, + Machine_Bronze_Hammer, + Machine_Bronze_Compressor, + Machine_Bronze_AlloySmelter, + Machine_Bronze_BlastFurnace, + Machine_Steel_Boiler_Lava, + Machine_Steel_Boiler, + Machine_Steel_Furnace, + Machine_Steel_Macerator, + Machine_Steel_Extractor, + Machine_Steel_Hammer, + Machine_Steel_Compressor, + Machine_Steel_AlloySmelter, + + Hull_Bronze, Hull_Steel, Hull_Bronze_Bricks, Hull_Steel_Bricks, + + Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV, + + Casing_ULV, Casing_LV, Casing_MV, Casing_HV, Casing_EV, Casing_IV, Casing_LuV, Casing_ZPM, Casing_UV, Casing_MAX, Casing_BronzePlatedBricks, Casing_HeatProof, Casing_Coil_Cupronickel, Casing_Coil_Kanthal, Casing_Coil_Nichrome, Casing_Coil_Superconductor, + Casing_SolidSteel, Casing_FrostProof, Casing_Gearbox_Bronze, Casing_Gearbox_Steel, Casing_Gearbox_Titanium, Casing_Gearbox_TungstenSteel, Casing_Processor, Casing_DataDrive, Casing_ContainmentField, Casing_Assembler, Casing_Pump, Casing_Motor, Casing_Pipe_Bronze, Casing_Pipe_Steel, Casing_Pipe_Titanium, Casing_Pipe_TungstenSteel, + Casing_Stripes_A, Casing_Stripes_B, Casing_RadioactiveHazard, Casing_BioHazard, Casing_ExplosionHazard, Casing_FireHazard, Casing_AcidHazard, Casing_MagicHazard, Casing_FrostHazard, Casing_NoiseHazard, Casing_Grate, Casing_Vent, Casing_RadiationProof, Casing_Firebox_Bronze, Casing_Firebox_Steel, Casing_Firebox_TungstenSteel, + Casing_RobustTungstenSteel, Casing_CleanStainlessSteel, Casing_StableTitanium, Casing_Firebox_Titanium, + Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX, + + Automation_Filter_ULV, Automation_Filter_LV, Automation_Filter_MV, Automation_Filter_HV, Automation_Filter_EV, Automation_Filter_IV, Automation_Filter_LuV, Automation_Filter_ZPM, Automation_Filter_UV, Automation_Filter_MAX, + Automation_TypeFilter_ULV, Automation_TypeFilter_LV, Automation_TypeFilter_MV, Automation_TypeFilter_HV, Automation_TypeFilter_EV, Automation_TypeFilter_IV, Automation_TypeFilter_LuV, Automation_TypeFilter_ZPM, Automation_TypeFilter_UV, Automation_TypeFilter_MAX, + Automation_ChestBuffer_ULV, Automation_ChestBuffer_LV, Automation_ChestBuffer_MV, Automation_ChestBuffer_HV, Automation_ChestBuffer_EV, Automation_ChestBuffer_IV, Automation_ChestBuffer_LuV, Automation_ChestBuffer_ZPM, Automation_ChestBuffer_UV, Automation_ChestBuffer_MAX, + Automation_SuperBuffer_ULV, Automation_SuperBuffer_LV, Automation_SuperBuffer_MV, Automation_SuperBuffer_HV, Automation_SuperBuffer_EV, Automation_SuperBuffer_IV, Automation_SuperBuffer_LuV, Automation_SuperBuffer_ZPM, Automation_SuperBuffer_UV, Automation_SuperBuffer_MAX, + Automation_Regulator_ULV, Automation_Regulator_LV, Automation_Regulator_MV, Automation_Regulator_HV, Automation_Regulator_EV, Automation_Regulator_IV, Automation_Regulator_LuV, Automation_Regulator_ZPM, Automation_Regulator_UV, Automation_Regulator_MAX, + + Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX, + Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX, + Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX, + Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX, + Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX, + Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX, + Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX, + Hatch_Maintenance, + + Battery_Buffer_1by1_ULV, Battery_Buffer_1by1_LV, Battery_Buffer_1by1_MV, Battery_Buffer_1by1_HV, Battery_Buffer_1by1_EV, Battery_Buffer_1by1_IV, Battery_Buffer_1by1_LuV, Battery_Buffer_1by1_ZPM, Battery_Buffer_1by1_UV, Battery_Buffer_1by1_MAX, + Battery_Buffer_2by2_ULV, Battery_Buffer_2by2_LV, Battery_Buffer_2by2_MV, Battery_Buffer_2by2_HV, Battery_Buffer_2by2_EV, Battery_Buffer_2by2_IV, Battery_Buffer_2by2_LuV, Battery_Buffer_2by2_ZPM, Battery_Buffer_2by2_UV, Battery_Buffer_2by2_MAX, + Battery_Buffer_3by3_ULV, Battery_Buffer_3by3_LV, Battery_Buffer_3by3_MV, Battery_Buffer_3by3_HV, Battery_Buffer_3by3_EV, Battery_Buffer_3by3_IV, Battery_Buffer_3by3_LuV, Battery_Buffer_3by3_ZPM, Battery_Buffer_3by3_UV, Battery_Buffer_3by3_MAX, + Battery_Buffer_4by4_ULV, Battery_Buffer_4by4_LV, Battery_Buffer_4by4_MV, Battery_Buffer_4by4_HV, Battery_Buffer_4by4_EV, Battery_Buffer_4by4_IV, Battery_Buffer_4by4_LuV, Battery_Buffer_4by4_ZPM, Battery_Buffer_4by4_UV, Battery_Buffer_4by4_MAX, + + Locker_ULV, Locker_LV, Locker_MV, Locker_HV, Locker_EV, Locker_IV, Locker_LuV, Locker_ZPM, Locker_UV, Locker_MAX, + + Machine_Multi_LargeBoiler_Bronze, Machine_Multi_LargeBoiler_Steel, Machine_Multi_LargeBoiler_Titanium, Machine_Multi_LargeBoiler_TungstenSteel, Machine_Multi_BlastFurnace, Machine_Multi_ImplosionCompressor, Machine_Multi_VacuumFreezer, Machine_Multi_Furnace, + Machine_LV_AlloySmelter, Machine_MV_AlloySmelter, Machine_HV_AlloySmelter, Machine_EV_AlloySmelter, Machine_IV_AlloySmelter, + Machine_LV_Assembler, Machine_MV_Assembler, Machine_HV_Assembler, Machine_EV_Assembler, Machine_IV_Assembler, + Machine_LV_Bender, Machine_MV_Bender, Machine_HV_Bender, Machine_EV_Bender, Machine_IV_Bender, + Machine_LV_Canner, Machine_MV_Canner, Machine_HV_Canner, Machine_EV_Canner, Machine_IV_Canner, + Machine_LV_Compressor, Machine_MV_Compressor, Machine_HV_Compressor, Machine_EV_Compressor, Machine_IV_Compressor, + Machine_LV_Cutter, Machine_MV_Cutter, Machine_HV_Cutter, Machine_EV_Cutter, Machine_IV_Cutter, + Machine_LV_Slicer, Machine_MV_Slicer, Machine_HV_Slicer, Machine_EV_Slicer, Machine_IV_Slicer, + Machine_LV_Sifter, Machine_MV_Sifter, Machine_HV_Sifter, Machine_EV_Sifter, Machine_IV_Sifter, + Machine_LV_ArcFurnace, Machine_MV_ArcFurnace, Machine_HV_ArcFurnace, Machine_EV_ArcFurnace, Machine_IV_ArcFurnace, + Machine_LV_PlasmaArcFurnace, Machine_MV_PlasmaArcFurnace, Machine_HV_PlasmaArcFurnace, Machine_EV_PlasmaArcFurnace, Machine_IV_PlasmaArcFurnace, + Machine_LV_Oven, Machine_MV_Oven, Machine_HV_Oven, Machine_EV_Oven, Machine_IV_Oven, + Machine_LV_E_Furnace, Machine_MV_E_Furnace, Machine_HV_E_Furnace, Machine_EV_E_Furnace, Machine_IV_E_Furnace, + Machine_LV_Extractor, Machine_MV_Extractor, Machine_HV_Extractor, Machine_EV_Extractor, Machine_IV_Extractor, + Machine_LV_Extruder, Machine_MV_Extruder, Machine_HV_Extruder, Machine_EV_Extruder, Machine_IV_Extruder, + Machine_LV_Lathe, Machine_MV_Lathe, Machine_HV_Lathe, Machine_EV_Lathe, Machine_IV_Lathe, + Machine_LV_Macerator, Machine_MV_Macerator, Machine_HV_Macerator, Machine_EV_Macerator, Machine_IV_Macerator, + Machine_LV_Microwave, Machine_MV_Microwave, Machine_HV_Microwave, Machine_EV_Microwave, Machine_IV_Microwave, + Machine_LV_Printer, Machine_MV_Printer, Machine_HV_Printer, Machine_EV_Printer, Machine_IV_Printer, + Machine_LV_Recycler, Machine_MV_Recycler, Machine_HV_Recycler, Machine_EV_Recycler, Machine_IV_Recycler, + Machine_LV_Scanner, Machine_MV_Scanner, Machine_HV_Scanner, Machine_EV_Scanner, Machine_IV_Scanner, + Machine_LV_Wiremill, Machine_MV_Wiremill, Machine_HV_Wiremill, Machine_EV_Wiremill, Machine_IV_Wiremill, + Machine_LV_Electrolyzer, Machine_MV_Electrolyzer, Machine_HV_Electrolyzer, Machine_EV_Electrolyzer, Machine_IV_Electrolyzer, + Machine_LV_Centrifuge, Machine_MV_Centrifuge, Machine_HV_Centrifuge, Machine_EV_Centrifuge, Machine_IV_Centrifuge, + Machine_LV_ThermalCentrifuge, Machine_MV_ThermalCentrifuge, Machine_HV_ThermalCentrifuge, Machine_EV_ThermalCentrifuge, Machine_IV_ThermalCentrifuge, + Machine_LV_OreWasher, Machine_MV_OreWasher, Machine_HV_OreWasher, Machine_EV_OreWasher, Machine_IV_OreWasher, + Machine_LV_RockBreaker, Machine_MV_RockBreaker, Machine_HV_RockBreaker, Machine_EV_RockBreaker, Machine_IV_RockBreaker, + Machine_LV_Boxinator, Machine_MV_Boxinator, Machine_HV_Boxinator, Machine_EV_Boxinator, Machine_IV_Boxinator, + Machine_LV_Unboxinator, Machine_MV_Unboxinator, Machine_HV_Unboxinator, Machine_EV_Unboxinator, Machine_IV_Unboxinator, + Machine_LV_ChemicalReactor, Machine_MV_ChemicalReactor, Machine_HV_ChemicalReactor, Machine_EV_ChemicalReactor, Machine_IV_ChemicalReactor, + Machine_LV_FluidCanner, Machine_MV_FluidCanner, Machine_HV_FluidCanner, Machine_EV_FluidCanner, Machine_IV_FluidCanner, + Machine_LV_Disassembler, Machine_MV_Disassembler, Machine_HV_Disassembler, Machine_EV_Disassembler, Machine_IV_Disassembler, + Machine_LV_Bundler, Machine_MV_Bundler, Machine_HV_Bundler, Machine_EV_Bundler, Machine_IV_Bundler, + Machine_LV_Massfab, Machine_MV_Massfab, Machine_HV_Massfab, Machine_EV_Massfab, Machine_IV_Massfab, + Machine_LV_Amplifab, Machine_MV_Amplifab, Machine_HV_Amplifab, Machine_EV_Amplifab, Machine_IV_Amplifab, + Machine_LV_Replicator, Machine_MV_Replicator, Machine_HV_Replicator, Machine_EV_Replicator, Machine_IV_Replicator, + Machine_LV_Brewery, Machine_MV_Brewery, Machine_HV_Brewery, Machine_EV_Brewery, Machine_IV_Brewery, + Machine_LV_Fermenter, Machine_MV_Fermenter, Machine_HV_Fermenter, Machine_EV_Fermenter, Machine_IV_Fermenter, + Machine_LV_FluidExtractor, Machine_MV_FluidExtractor, Machine_HV_FluidExtractor, Machine_EV_FluidExtractor, Machine_IV_FluidExtractor, + Machine_LV_FluidSolidifier, Machine_MV_FluidSolidifier, Machine_HV_FluidSolidifier, Machine_EV_FluidSolidifier, Machine_IV_FluidSolidifier, + Machine_LV_Distillery, Machine_MV_Distillery, Machine_HV_Distillery, Machine_EV_Distillery, Machine_IV_Distillery, + Machine_LV_ChemicalBath, Machine_MV_ChemicalBath, Machine_HV_ChemicalBath, Machine_EV_ChemicalBath, Machine_IV_ChemicalBath, + Machine_LV_Polarizer, Machine_MV_Polarizer, Machine_HV_Polarizer, Machine_EV_Polarizer, Machine_IV_Polarizer, + Machine_LV_ElectromagneticSeparator, Machine_MV_ElectromagneticSeparator, Machine_HV_ElectromagneticSeparator, Machine_EV_ElectromagneticSeparator, Machine_IV_ElectromagneticSeparator, + Machine_LV_Autoclave, Machine_MV_Autoclave, Machine_HV_Autoclave, Machine_EV_Autoclave, Machine_IV_Autoclave, + Machine_LV_Mixer, Machine_MV_Mixer, Machine_HV_Mixer, Machine_EV_Mixer, Machine_IV_Mixer, + Machine_LV_LaserEngraver, Machine_MV_LaserEngraver, Machine_HV_LaserEngraver, Machine_EV_LaserEngraver, Machine_IV_LaserEngraver, + Machine_LV_Press, Machine_MV_Press, Machine_HV_Press, Machine_EV_Press, Machine_IV_Press, + Machine_LV_Hammer, Machine_MV_Hammer, Machine_HV_Hammer, Machine_EV_Hammer, Machine_IV_Hammer, + Machine_LV_FluidHeater, Machine_MV_FluidHeater, Machine_HV_FluidHeater, Machine_EV_FluidHeater, Machine_IV_FluidHeater, + + Neutron_Reflector, + Reactor_Coolant_He_1, + Reactor_Coolant_He_3, + Reactor_Coolant_He_6, + Reactor_Coolant_NaK_1, + Reactor_Coolant_NaK_3, + Reactor_Coolant_NaK_6, + ThoriumCell_1, + ThoriumCell_2, + ThoriumCell_4, + FusionComputer_LuV, + FusionComputer_ZPMV, + FusionComputer_UV, + Casing_Fusion_Coil, + Casing_Fusion, + Casing_Fusion2, + Generator_Plasma_IV, + Generator_Plasma_LuV, + Generator_Plasma_ZPMV, + MagicEnergyConverter_LV, + MagicEnergyConverter_MV, + MagicEnergyConverter_HV, + MagicEnergyAbsorber_LV, + MagicEnergyAbsorber_MV, + MagicEnergyAbsorber_HV, + MagicEnergyAbsorber_EV, + Depleted_Thorium_1, + Depleted_Thorium_2, + Depleted_Thorium_4, + Processing_Array, + Distillation_Tower, + Energy_LapotronicOrb2, + ZPM2, Quantum_Tank_LV,Quantum_Tank_MV,Quantum_Tank_HV,Quantum_Tank_EV,Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV, + + NULL, Cover_RedstoneTransmitterExternal,Cover_RedstoneTransmitterInternal,Cover_RedstoneReceiverExternal,Cover_RedstoneReceiverInternal, + LargeSteamTurbine, + Ingot_Heavy1,Ingot_Heavy2,Ingot_Heavy3, + Pump_LV, Pump_MV, Pump_HV, Pump_EV, Pump_IV, + Teleporter, + Cover_NeedsMaintainance, + Casing_Turbine, + MobRep_LV,MobRep_MV,MobRep_HV,MobRep_EV,MobRep_IV, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine, Cover_PlayerDetector, Machine_Multi_HeatExchanger; + + public static final ItemList[] + DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15} + , SPRAY_CAN_DYES = {Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15} + , SPRAY_CAN_DYES_USED = {Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15} + , TRANSFORMERS = {Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV} + , MACHINE_HULLS = {Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX} + , HATCHES_DYNAMO = {Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX} + , HATCHES_ENERGY = {Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX} + , HATCHES_INPUT = {Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX} + , HATCHES_INPUT_BUS = {Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX} + , HATCHES_OUTPUT = {Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX} + , HATCHES_OUTPUT_BUS = {Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX} + , HATCHES_MUFFLER = {Hatch_Muffler_LV, Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX} + ; + private ItemStack mStack; + private boolean mHasNotBeenSet = true; + + public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; + + @Override + public IItemContainer set(Item aItem) { + mHasNotBeenSet = false; + if (aItem == null) return this; + ItemStack aStack = new ItemStack(aItem, 1, 0); + mStack = GT_Utility.copyAmount(1, aStack); + return this; + } + + @Override + public IItemContainer set(ItemStack aStack) { + mHasNotBeenSet = false; + mStack = GT_Utility.copyAmount(1, aStack); + return this; + } + + @Override + public Item getItem() { + if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!"); + if (GT_Utility.isStackInvalid(mStack)) return null; + return mStack.getItem(); + } + + @Override + public Block getBlock() { + if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!"); + return GT_Utility.getBlockFromStack(getItem()); + } + + @Override + public final boolean hasBeenSet() { + return !mHasNotBeenSet; + } + + @Override + public boolean isStackEqual(Object aStack) { + return isStackEqual(aStack, false, false); + } + + @Override + public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT) { + if (GT_Utility.isStackInvalid(aStack)) return false; + return GT_Utility.areUnificationsEqual((ItemStack)aStack, aWildcard?getWildcard(1):get(1), aIgnoreNBT); + } + + @Override + public ItemStack get(long aAmount, Object... aReplacements) { + if (mHasNotBeenSet) throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!"); + if (GT_Utility.isStackInvalid(mStack)) return GT_Utility.copyAmount(aAmount, aReplacements); + return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(mStack)); + } + + @Override + public ItemStack getWildcard(long aAmount, Object... aReplacements) { + if (mHasNotBeenSet) throw new Illeg