aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/api/enums/Element.java
diff options
context:
space:
mode:
authorBlood Asp <Blood@Asp>2015-04-23 18:14:22 +0200
committerBlood Asp <Blood@Asp>2015-04-23 18:14:22 +0200
commit7224ac4299098c70efae9dbd04c50a97e3f5f583 (patch)
treec739bb7d176a9735bc8e598063918023de32330c /main/java/gregtech/api/enums/Element.java
downloadGT5-Unofficial-7224ac4299098c70efae9dbd04c50a97e3f5f583.tar.gz
GT5-Unofficial-7224ac4299098c70efae9dbd04c50a97e3f5f583.tar.bz2
GT5-Unofficial-7224ac4299098c70efae9dbd04c50a97e3f5f583.zip
Initial Commit
Diffstat (limited to 'main/java/gregtech/api/enums/Element.java')
-rw-r--r--main/java/gregtech/api/enums/Element.java311
1 files changed, 311 insertions, 0 deletions
diff --git a/main/java/gregtech/api/enums/Element.java b/main/java/gregtech/api/enums/Element.java
new file mode 100644
index 0000000000..8e56ccaa37
--- /dev/null
+++ b/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,-100000, 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