aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/material')
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java39
-rw-r--r--src/Java/gtPlusPlus/core/material/Ion.java30
-rw-r--r--src/Java/gtPlusPlus/core/material/Particle.java105
3 files changed, 162 insertions, 12 deletions
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index f52856b824..a8b7d6b297 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -449,9 +449,8 @@ public final class ALLOY {
false, //Uses Blast furnace?
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().SILICON, 40),
- new MaterialStack(ELEMENT.getInstance().CARBON, 50),
- new MaterialStack(ELEMENT.getInstance().OXYGEN, 10)
+ new MaterialStack(ELEMENT.getInstance().SILICON, 50),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 50)
});
public static final Material TANTALUM_CARBIDE = new Material(
@@ -465,9 +464,8 @@ public final class ALLOY {
true, //Uses Blast furnace?
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().TANTALUM, 40),
- new MaterialStack(ELEMENT.getInstance().CARBON, 50),
- new MaterialStack(ELEMENT.getInstance().OXYGEN, 10)
+ new MaterialStack(ELEMENT.getInstance().TANTALUM, 50),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 50)
});
public static final Material ZIRCONIUM_CARBIDE = new Material(
@@ -481,9 +479,8 @@ public final class ALLOY {
true, //Uses Blast furnace?
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 40),
- new MaterialStack(ELEMENT.getInstance().CARBON, 50),
- new MaterialStack(ELEMENT.getInstance().OXYGEN, 10)
+ new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 50),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 50)
});
public static final Material NIOBIUM_CARBIDE = new Material(
@@ -497,9 +494,8 @@ public final class ALLOY {
true, //Uses Blast furnace?
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().NIOBIUM, 40),
- new MaterialStack(ELEMENT.getInstance().CARBON, 50),
- new MaterialStack(ELEMENT.getInstance().OXYGEN, 10)
+ new MaterialStack(ELEMENT.getInstance().NIOBIUM, 50),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 50)
});
public static final Material LEAGRISIUM = new Material(
@@ -615,6 +611,25 @@ public final class ALLOY {
new MaterialStack(TRINIUM_NAQUADAH, 9),
new MaterialStack(ELEMENT.getInstance().CARBON, 1)
});
+
+ public static final Material TRINIUM_REINFORCED_STEEL = new Material(
+ "Arceus Alloy 2B", //Material Name
+ MaterialState.SOLID, //State
+ new short[]{205, 197, 23, 0}, //Material Colour
+ 7555, //Melting Point in C
+ 12350,
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 30),
+ new MaterialStack(ALLOY.MARAGING350, 40),
+ new MaterialStack(ALLOY.TUNGSTENSTEEL, 20),
+ new MaterialStack(ALLOY.OSMIRIDIUM, 10)
+ });
+
+
/*
* Witchery Material
diff --git a/src/Java/gtPlusPlus/core/material/Ion.java b/src/Java/gtPlusPlus/core/material/Ion.java
new file mode 100644
index 0000000000..2b5b113b92
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/material/Ion.java
@@ -0,0 +1,30 @@
+package gtPlusPlus.core.material;
+
+public class Ion {
+
+ private final Material mElement;
+ private final boolean mContainsPositiveCharge;
+ private final int mTotalIonization;
+
+ public Ion(Material aMat, int chargeAmount) {
+ mElement = aMat;
+ mContainsPositiveCharge = (chargeAmount >= 0);
+ mTotalIonization = chargeAmount;
+ }
+
+ public synchronized final Material getElement() {
+ return mElement;
+ }
+
+ public synchronized final boolean containsPositiveCharge() {
+ return mContainsPositiveCharge;
+ }
+
+ public synchronized final int getTotalIonization() {
+ return mTotalIonization;
+ }
+
+ public final boolean isNeutral() {
+ return mTotalIonization == 0;
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/material/Particle.java b/src/Java/gtPlusPlus/core/material/Particle.java
new file mode 100644
index 0000000000..5b3e37b4a9
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/material/Particle.java
@@ -0,0 +1,105 @@
+package gtPlusPlus.core.material;
+
+public class Particle {
+
+ public static final Particle GRAVITON;
+
+ public static final Particle UP;
+ public static final Particle DOWN;
+ public static final Particle CHARM;
+ public static final Particle STRANGE;
+ public static final Particle TOP;
+ public static final Particle BOTTOM;
+
+ public static final Particle ELECTRON;
+ public static final Particle ELECTRON_NEUTRINO;
+ public static final Particle MUON;
+ public static final Particle MUON_NEUTRINO;
+ public static final Particle TAU;
+ public static final Particle TAU_NEUTRINO;
+
+ public static final Particle GLUON;
+ public static final Particle PHOTON;
+ public static final Particle Z_BOSON;
+ public static final Particle W_BOSON;
+ public static final Particle HIGGS_BOSON;
+
+ public static final Particle PROTON;
+ public static final Particle NEUTRON;
+ public static final Particle LAMBDA;
+ public static final Particle OMEGA;
+
+ public static final Particle PION;
+ public static final Particle ETA_MESON;
+
+ static {
+
+ /*
+ * Standard Model of Physics
+ */
+
+ //I exist, because I must.
+ GRAVITON = new Particle(ElementaryGroup.BOSON, "Graviton");
+
+ //Quarks
+ UP = new Particle(ElementaryGroup.QUARK, "Up");
+ DOWN = new Particle(ElementaryGroup.QUARK, "Down");
+ CHARM = new Particle(ElementaryGroup.QUARK, "Charm");
+ STRANGE = new Particle(ElementaryGroup.QUARK, "Strange");
+ TOP = new Particle(ElementaryGroup.QUARK, "Top");
+ BOTTOM = new Particle(ElementaryGroup.QUARK, "Bottom");
+
+ //Leptons
+ ELECTRON = new Particle(ElementaryGroup.LEPTON, "Electron");
+ MUON = new Particle(ElementaryGroup.LEPTON, "Muon");
+ TAU = new Particle(ElementaryGroup.LEPTON, "Tau");
+ ELECTRON_NEUTRINO = new Particle(ElementaryGroup.LEPTON, "Electron Neutrino");
+ MUON_NEUTRINO = new Particle(ElementaryGroup.LEPTON, "Muon Neutrino");
+ TAU_NEUTRINO = new Particle(ElementaryGroup.LEPTON, "Tau Neutrino");
+
+ //Bosons
+ GLUON = new Particle(ElementaryGroup.BOSON, "Gluon");
+ PHOTON = new Particle(ElementaryGroup.BOSON, "Photon");
+ Z_BOSON = new Particle(ElementaryGroup.BOSON, "Z Boson");
+ W_BOSON = new Particle(ElementaryGroup.BOSON, "W Boson");
+ HIGGS_BOSON = new Particle(ElementaryGroup.BOSON, "Higgs Boson");
+
+ /*
+ * Composite Particles
+ */
+
+ //Baryons
+ PROTON = new Particle(ElementaryGroup.BARYON, "Proton", new Particle[] {UP, UP, DOWN});
+ NEUTRON = new Particle(ElementaryGroup.BARYON, "Neutron", new Particle[] {UP, DOWN, DOWN});
+ LAMBDA = new Particle(ElementaryGroup.BARYON, "Lambda", new Particle[] {UP, DOWN, STRANGE});
+ OMEGA = new Particle(ElementaryGroup.BARYON, "Omega", new Particle[] {STRANGE, STRANGE, STRANGE});
+
+ //Mesons
+ PION = new Particle(ElementaryGroup.MESON, "Pion", new Particle[] {MUON, MUON_NEUTRINO});
+ ETA_MESON = new Particle(ElementaryGroup.MESON, "ETA Meson", new Particle[] {PION, PION, PION});
+
+ }
+
+ public static enum ElementaryGroup {
+ QUARK,
+ LEPTON,
+ BOSON,
+ BARYON,
+ MESON;
+ }
+
+ public final ElementaryGroup mParticleType;
+ public final String mParticleName;
+ public final Particle[] mComposition;
+
+ public Particle(ElementaryGroup aParticleType, String aParticleName) {
+ this(aParticleType, aParticleName, null);
+ }
+
+ public Particle(ElementaryGroup aParticleType, String aParticleName, Particle[] aComposition) {
+ mParticleType = aParticleType;
+ mParticleName = aParticleName;
+ mComposition = aComposition == null ? new Particle[] {this} : aComposition;
+ }
+
+}