aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/enums
diff options
context:
space:
mode:
authorShawn Buckley <shawntbuckley@gmail.com>2015-10-18 23:04:39 -0400
committerShawn Buckley <shawntbuckley@gmail.com>2015-10-18 23:04:39 -0400
commit85c804fa112fd1f19c91e45d150a787cfbf0f7a8 (patch)
treecb302d8e0f46e06be0b1d391317578b165aec245 /src/main/java/gregtech/api/enums
parentce25063b910bb3bdd2b0c234b185fc4077caebdb (diff)
downloadGT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.tar.gz
GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.tar.bz2
GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.zip
Move source directory
Diffstat (limited to 'src/main/java/gregtech/api/enums')
-rw-r--r--src/main/java/gregtech/api/enums/ConfigCategories.java64
-rw-r--r--src/main/java/gregtech/api/enums/Dyes.java105
-rw-r--r--src/main/java/gregtech/api/enums/Element.java311
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java160
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java785
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java1670
-rw-r--r--src/main/java/gregtech/api/enums/OreDictNames.java78
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java798
-rw-r--r--src/main/java/gregtech/api/enums/SubTag.java306
-rw-r--r--src/main/java/gregtech/api/enums/TC_Aspects.java108
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java184
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java453
-rw-r--r--src/main/java/gregtech/api/enums/Tier.java91
-rw-r--r--src/main/java/gregtech/api/enums/ToolDictNames.java32
14 files changed, 5145 insertions, 0 deletions
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<Fluid> mFluidDyes = new GT_ArrayList<Fluid>(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<Materials> mLinkedMaterials = new ArrayList<Materials>();
+
+ /**
+ * @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<Character> CN = new HashSet<Character>(Arrays.asList('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'));
+ /** Character Set with all lowercased Characters */
+ public static final HashSet<Character> CL = new HashSet<Character>(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<Character> CU = new HashSet<Character>(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,
+ IC