aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material/nuclear
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-12-27 15:06:11 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-12-27 15:06:11 +1000
commit90d9503359ee81deb789bc359fa0c6dc0df14d2a (patch)
tree92a66bb114a63d73414bdcd4b2ea52e3d6d55ab8 /src/Java/gtPlusPlus/core/material/nuclear
parent687a884bbe3e47a5d50403b018605688d6bcef23 (diff)
downloadGT5-Unofficial-90d9503359ee81deb789bc359fa0c6dc0df14d2a.tar.gz
GT5-Unofficial-90d9503359ee81deb789bc359fa0c6dc0df14d2a.tar.bz2
GT5-Unofficial-90d9503359ee81deb789bc359fa0c6dc0df14d2a.zip
% Moved the Nuclear composites to their own Classes. NUCLIDES & FLUORIDES
+ Moved most Nuclear components to the new classes, for readability and ease of use. - Removed old instances of Nuclear Fuel components, not generated by my MaterialGenerator.java. % Tweaked recipes to reflect new materials generated. + Enabled material generation for Nuclear materials, producing a very strict item output set. + Added U235/U238/Pu241/Pu244 to ELEMENT.java % Changed all LFTR recipes to now output Uranium Hexafluoride, instead of straight U233.
Diffstat (limited to 'src/Java/gtPlusPlus/core/material/nuclear')
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java113
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java55
2 files changed, 168 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
new file mode 100644
index 0000000000..15e5578d48
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
@@ -0,0 +1,113 @@
+package gtPlusPlus.core.material.nuclear;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.material.*;
+
+public class FLUORIDES {
+
+ private static final FLUORIDES thisClass = new FLUORIDES();
+ public FLUORIDES(){}
+ public static FLUORIDES getInstance(){return thisClass;}
+
+ public static final Material THORIUM_TETRAFLUORIDE = new Material(
+ "Thorium Tetrafluoride", //Material Name
+ new short[]{25, 70, 25, 0}, //Material Colour
+ Materials.Thorium.mMeltingPoint, //Melting Point in C
+ Materials.Thorium.mBlastFurnaceTemp, //Boiling Point in C
+ ((NUCLIDE.getInstance().THORIUM232.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*4))/5), //Protons
+ ((NUCLIDE.getInstance().THORIUM232.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*4))/5), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(NUCLIDE.getInstance().THORIUM232, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 4)
+ });
+
+ public static final Material THORIUM_HEXAFLUORIDE = new Material(
+ "Thorium Hexafluoride", //Material Name
+ new short[]{10, 50, 10, 0}, //Material Colour
+ Materials.Thorium.mMeltingPoint, //Melting Point in C
+ Materials.Thorium.mBlastFurnaceTemp, //Boiling Point in C
+ ((NUCLIDE.getInstance().THORIUM232.getProtons()+NUCLIDE.getInstance().THORIUM232.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*6))/8), //Protons
+ ((NUCLIDE.getInstance().THORIUM232.getNeutrons()+NUCLIDE.getInstance().THORIUM232.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*6))/8), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(NUCLIDE.getInstance().THORIUM232, 1),
+ new MaterialStack(ELEMENT.getInstance().THORIUM, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 12)
+ });
+
+ public static final Material URANIUM_TETRAFLUORIDE = new Material(
+ "Uranium Tetrafluoride", //Material Name
+ new short[]{50, 240, 50, 0}, //Material Colour
+ Materials.Uranium235.mMeltingPoint, //Melting Point in C
+ Materials.Uranium235.mBlastFurnaceTemp, //Boiling Point in C
+ ((NUCLIDE.getInstance().URANIUM233.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*4))/5), //Protons
+ ((NUCLIDE.getInstance().URANIUM233.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*4))/5), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(NUCLIDE.getInstance().URANIUM233, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 4)
+ });
+
+ public static final Material URANIUM_HEXAFLUORIDE = new Material(
+ "Uranium Hexafluoride", //Material Name
+ new short[]{70, 250, 70, 0}, //Material Colour
+ Materials.Uranium235.mMeltingPoint, //Melting Point in C
+ Materials.Uranium235.mBlastFurnaceTemp, //Boiling Point in C
+ ((FLUORIDES.URANIUM_TETRAFLUORIDE.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*2))/3), //Protons
+ ((FLUORIDES.URANIUM_TETRAFLUORIDE.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*2))/3), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 2)
+ });
+
+ //
+
+ public static final Material ZIRCONIUM_TETRAFLUORIDE = new Material(
+ "Zirconium Tetrafluoride", //Material Name
+ ELEMENT.getInstance().ZIRCONIUM.getRGBA(), //Material Colour
+ ELEMENT.getInstance().ZIRCONIUM.getMeltingPointC(), //Melting Point in C
+ ELEMENT.getInstance().ZIRCONIUM.getBoilingPointC(), //Boiling Point in C
+ ((ELEMENT.getInstance().ZIRCONIUM.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*4))/5), //Protons
+ ((ELEMENT.getInstance().ZIRCONIUM.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*4))/5), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 4)
+ });
+
+ public static final Material BERYLLIUM_FLUORIDE = new Material(
+ "Beryllium Tetrafluoride", //Material Name
+ new short[]{120, 180, 120, 0}, //Material Colour
+ Materials.Beryllium.mMeltingPoint, //Melting Point in C
+ Materials.Beryllium.mBlastFurnaceTemp, //Boiling Point in C
+ ((ELEMENT.getInstance().BERYLLIUM.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*2))/3), //Protons
+ ((ELEMENT.getInstance().BERYLLIUM.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()*2))/3), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 2)
+ });
+
+ public static final Material LITHIUM_FLUORIDE = new Material(
+ "Lithium Tetrafluoride", //Material Name
+ new short[]{225, 220, 255, 0}, //Material Colour
+ Materials.Lithium.mMeltingPoint, //Melting Point in C
+ Materials.Lithium.mBlastFurnaceTemp, //Boiling Point in C
+ ((NUCLIDE.getInstance().LITHIUM7.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()))/2), //Protons
+ ((NUCLIDE.getInstance().LITHIUM7.getNeutrons()+(ELEMENT.getInstance().FLUORINE.getNeutrons()))/2), //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(NUCLIDE.getInstance().LITHIUM7, 1),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 1)
+ });
+
+}
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
new file mode 100644
index 0000000000..fa48446c1c
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
@@ -0,0 +1,55 @@
+package gtPlusPlus.core.material.nuclear;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.material.*;
+import gtPlusPlus.core.util.materials.MaterialUtils;
+
+
+public final class NUCLIDE {
+
+ private static final NUCLIDE thisClass = new NUCLIDE();
+ public NUCLIDE(){}
+ public static NUCLIDE getInstance(){return thisClass;}
+
+ //Custom Isotopes
+ public final Material LITHIUM7 = new Material("Lithium 7", Materials.Lithium.mRGBa, Materials.Lithium.mMeltingPoint, Materials.Lithium.mBlastFurnaceTemp, Materials.Lithium.getProtons(), Materials.Lithium.getNeutrons(), Materials.Lithium.mBlastFurnaceRequired, MaterialUtils.superscript("7Li"), 0);//Not a GT Inherited Material
+ public final Material URANIUM232 = new Material("Uranium 232", new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, MaterialUtils.superscript("232U"), 4);//Not a GT Inherited Material
+ public final Material URANIUM233 = new Material("Uranium 233", new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, MaterialUtils.superscript("233U"), 2);//Not a GT Inherited Material
+ public final Material THORIUM232 = new Material("Thorium 232", new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("232Th"), 1);//Not a GT Inherited Material
+
+
+
+ public static final Material LiFBeF2ThF4UF4 = new Material(
+ "Reactor Salt LiFBeF2ThF4UF4", //Material Name
+ new short[]{40, 90, 25, 0}, //Material Colour
+ 566, //Melting Point in C
+ 870, //Boiling Point in C
+ 150, //Protons
+ 150, //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 65),
+ new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 28),
+ new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1),
+ new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1)
+ });
+
+ public static final Material LiFBeF2ZrF4U235 = new Material(
+ "Reactor Salt LiFBeF2ZrF4U235", //Material Name
+ new short[]{50, 70, 15, 0}, //Material Colour
+ 590, //Melting Point in C
+ 890, //Boiling Point in C
+ 150, //Protons
+ 150, //Neutrons
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 55),
+ new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 25),
+ new MaterialStack(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE, 6),
+ new MaterialStack(ELEMENT.getInstance().URANIUM235, 14)
+ });
+
+
+}