aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
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
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')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java72
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java73
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java14
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java2
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java30
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java113
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java55
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java24
8 files changed, 267 insertions, 116 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index a8cac86065..bada1f4c4e 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -21,6 +21,8 @@ import gtPlusPlus.core.item.tool.staballoy.*;
import gtPlusPlus.core.lib.*;
import gtPlusPlus.core.lib.CORE.configSwitches;
import gtPlusPlus.core.material.*;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
+import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.debug.DEBUG_INIT;
import gtPlusPlus.core.util.fluid.FluidUtils;
@@ -242,21 +244,28 @@ public final class ModItems {
try{
//Elements generate first so they can be used in compounds.
-
+
+ //Zirconium - Because Greg himself never added it.
+ MaterialGenerator.generate(ELEMENT.getInstance().ZIRCONIUM);
+
+
+
+
+ //Nuclear Isotopes
+
//Lithium-7 is used as a part of the molten lithium fluoride in molten salt reactors: liquid-fluoride nuclear reactors.
//The large neutron-absorption cross-section of lithium-6 (about 940 barns[5]) as compared with the very small
//neutron cross-section of lithium-7 (about 45 millibarns) makes high separation of lithium-7 from natural lithium a
//strong requirement for the possible use in lithium fluoride reactors.
- MaterialGenerator.generate(ELEMENT.getInstance().LITHIUM7, false);
+ MaterialGenerator.generate(NUCLIDE.getInstance().LITHIUM7, false);
//Thorium-232 is the most stable isotope of Thorium, purified for nuclear fuel use in this case.
- MaterialGenerator.generate(ELEMENT.getInstance().THORIUM232, false);
+ MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().THORIUM232);
//Production of 233U (through the neutron irradiation of 232Th) invariably produces small amounts of 232U as an impurity
//because of parasitic (n,2n) reactions on uranium-233 itself, or on protactinium-233, or on thorium-232:
- MaterialGenerator.generate(ELEMENT.getInstance().URANIUM232);
+ MaterialGenerator.generate(NUCLIDE.getInstance().URANIUM232);
//Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle.
- MaterialGenerator.generate(ELEMENT.getInstance().URANIUM233);
- //Zirconium - Because Greg himself never added it.
- MaterialGenerator.generate(ELEMENT.getInstance().ZIRCONIUM);
+ MaterialGenerator.generate(NUCLIDE.getInstance().URANIUM233);
+
//Carbides - Tungsten Carbide exists in .09 so don't generate it. - Should still come before alloys though
@@ -270,12 +279,17 @@ public final class ModItems {
//Generate Fluorides
- MaterialGenerator.generate(ALLOY.THORIUM_HEXAFLUORIDE, false);
- MaterialGenerator.generate(ALLOY.THORIUM_TETRAFLUORIDE, false);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.BERYLLIUM_FLUORIDE);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.LITHIUM_FLUORIDE);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.THORIUM_TETRAFLUORIDE);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.THORIUM_HEXAFLUORIDE);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.URANIUM_TETRAFLUORIDE);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.URANIUM_HEXAFLUORIDE);
+ MaterialGenerator.generateNuclearMaterial(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE);
//Generate Reactor Fuel Salts
- MaterialGenerator.generate(ALLOY.LiFBeF2ZrF4U235, false);
- MaterialGenerator.generate(ALLOY.LiFBeF2ThF4UF4, false);
+ MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4U235);
+ MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ThF4UF4);
//Generate some Alloys
@@ -363,13 +377,13 @@ public final class ModItems {
//Nuclear Fuel Dusts
- dustUraniumTetraFluoride = ItemUtils.generateSpecialUseDusts("UraniumTetrafluoride", "Uranium Tetrafluoride", Utils.rgbtoHexValue(17, 179, 42))[0];
- dustUraniumHexaFluoride = ItemUtils.generateSpecialUseDusts("UraniumHexafluoride", "Uranium Hexafluoride", Utils.rgbtoHexValue(9, 199, 32))[0];
+ //dustUraniumTetraFluoride = ItemUtils.generateSpecialUseDusts("UraniumTetrafluoride", "Uranium Tetrafluoride", Utils.rgbtoHexValue(17, 179, 42))[0];
+ //dustUraniumHexaFluoride = ItemUtils.generateSpecialUseDusts("UraniumHexafluoride", "Uranium Hexafluoride", Utils.rgbtoHexValue(9, 199, 32))[0];
- dustBerylliumFluoride = ItemUtils.generateSpecialUseDusts("BerylliumFluoride", "Beryllium Fluoride", Utils.rgbtoHexValue(175, 175, 175))[0]; //https://en.wikipedia.org/wiki/Beryllium_fluoride
+ //dustBerylliumFluoride = ItemUtils.generateSpecialUseDusts("BerylliumFluoride", "Beryllium Fluoride", Utils.rgbtoHexValue(175, 175, 175))[0]; //https://en.wikipedia.org/wiki/Beryllium_fluoride
dustLithiumCarbonate = ItemUtils.generateSpecialUseDusts("LithiumCarbonate", "Lithium Carbonate", Utils.rgbtoHexValue(240, 240, 240))[0]; //https://en.wikipedia.org/wiki/Lithium_carbonate
- dustLithiumFluoride = ItemUtils.generateSpecialUseDusts("LithiumFluoride", "Lithium Fluoride", Utils.rgbtoHexValue(245, 245, 245))[0]; //https://en.wikipedia.org/wiki/Lithium_fluoride
+ //dustLithiumFluoride = ItemUtils.generateSpecialUseDusts("LithiumFluoride", "Lithium Fluoride", Utils.rgbtoHexValue(245, 245, 245))[0]; //https://en.wikipedia.org/wiki/Lithium_fluoride
dustLithiumPeroxide = ItemUtils.generateSpecialUseDusts("LithiumPeroxide", "Lithium Peroxide", Utils.rgbtoHexValue(250, 250, 250))[0]; //https://en.wikipedia.org/wiki/Lithium_peroxide
dustLithiumHydroxide = ItemUtils.generateSpecialUseDusts("LithiumHydroxide", "Lithium Hydroxide", Utils.rgbtoHexValue(250, 250, 250))[0]; //https://en.wikipedia.org/wiki/Lithium_hydroxide
@@ -382,11 +396,11 @@ public final class ModItems {
//FLiBe Fuel Compounds
dustLi2BeF4 = ItemUtils.generateSpecialUseDusts("Li2BeF4", "Li2BeF4 Fuel Compound", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/FLiBe
- FluidUtils.generateFluid("UraniumTetrafluoride", "Uranium Tetrafluoride", 4700, new short[]{17, 179, 42, 100});
- FluidUtils.generateFluid("UraniumHexafluoride", "Uranium Hexafluoride", 5500, new short[]{9, 199, 32, 100});
- FluidUtils.generateFluid("BerylliumFluoride", "Beryllium Fluoride", 3200, new short[]{175, 175, 175, 100});
- FluidUtils.generateFluid("LithiumFluoride", "Lithium Fluoride", 2000, new short[]{235, 235, 235, 100});
- FluidUtils.generateFluid("Li2BeF4", "Li2BeF4", 7430, new short[]{255, 255, 255, 100});
+ //FluidUtils.generateFluid("UraniumTetrafluoride", "Uranium Tetrafluoride", 4700, new short[]{17, 179, 42, 100});
+ //FluidUtils.generateFluid("UraniumHexafluoride", "Uranium Hexafluoride", 5500, new short[]{9, 199, 32, 100});
+ //FluidUtils.generateFluid("BerylliumFluoride", "Beryllium Fluoride", 3200, new short[]{175, 175, 175, 100});
+ //FluidUtils.generateFluid("LithiumFluoride", "Lithium Fluoride", 2000, new short[]{235, 235, 235, 100});
+ FluidUtils.generateFluid("Li2BeF4", "Reactor Secondary Fuel [Li2BeF4]", 7430, new short[]{255, 255, 255, 100});
//Zirconium
//Cinter Pellet.
@@ -397,17 +411,25 @@ public final class ModItems {
dustCookedZrCl4 = ItemUtils.generateSpecialUseDusts("CookedZrCl4", "Cooked ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; //http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf
//Zirconium Tetrafluoride
dustZrF4 = ItemUtils.generateSpecialUseDusts("ZrF4", "ZrF4", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
-
+ GT_OreDictUnificator.registerOre("cellZrF4", ItemUtils.getItemStackOfAmountFromOreDict("cellZirconiumTetrafluoride", 1));
+ GT_OreDictUnificator.registerOre("dustZirconiumTetrafluoride", new ItemStack(ModItems.dustZrF4));
+ FluidUtils.generateFluid("ZirconiumTetrafluoride", "Zirconium Tetrafluoride", 500, new short[]{170, 170, 140, 100});
+
//Coolant Salt
//NaBF4 - NaF - 621C
- dustNaBF4NaF = ItemUtils.generateSpecialUseDusts("NaBF4NaF", "NaBF4NaF", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ dustNaBF4NaF = ItemUtils.generateSpecialUseDusts("NaBF4NaF", "NaBF4NaF", Utils.rgbtoHexValue(45, 45, 90))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
//Fuel Salt
//7LiF - BeF2 - ZrF4 - UF4 - 650C
- dustLiFBeF2ZrF4UF4 = ItemUtils.generateSpecialUseDusts("LiFBeF2ZrF4UF4", "LiFBeF2ZrF4UF4", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ dustLiFBeF2ZrF4UF4 = ItemUtils.generateSpecialUseDusts("LiFBeF2ZrF4UF4", "LiF-BeF2-ZrF4-UF4", Utils.rgbtoHexValue(35, 90, 25))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
//7LiF - BeF2 - ZrF4 - U235 - 590C
- dustLiFBeF2ZrF4U235 = ItemUtils.generateSpecialUseDusts("LiFBeF2ZrF4U235", "LiFBeF2ZrF4U235", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ dustLiFBeF2ZrF4U235 = ItemUtils.generateSpecialUseDusts("LiFBeF2ZrF4U235", "LiF-BeF2-ZrF4-U235", Utils.rgbtoHexValue(35, 80, 15))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
//7liF - BeF2 - ThF4 - UF4 - 566C
- dustLiFBeF2ThF4UF4 = ItemUtils.generateSpecialUseDusts("LiFBeF2ThF4UF4", "LiFBeF2ThF4UF4", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ dustLiFBeF2ThF4UF4 = ItemUtils.generateSpecialUseDusts("LiFBeF2ThF4UF4", "LiF-BeF2-ThF4-UF4", Utils.rgbtoHexValue(35, 70, 25))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+
+ FluidUtils.generateFluid("NaBF4NaF", "NaBF4-NaF", 621, new short[]{45, 45, 90, 100});
+ FluidUtils.generateFluid("LiFBeF2ZrF4UF4", "LiF-BeF2-ZrF4-UF4", 650, new short[]{35, 90, 25, 100});
+ FluidUtils.generateFluid("LiFBeF2ZrF4U235", "LiF-BeF2-ZrF4-U235", 590, new short[]{35, 80, 15, 100});
+ FluidUtils.generateFluid("LiFBeF2ThF4UF4", "LiF-BeF2-ThF4-UF4", 566, new short[]{35, 70, 25, 100});
//Test items
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index a3d4946744..5e29a75725 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -1,6 +1,5 @@
package gtPlusPlus.core.material;
-import gregtech.api.enums.Materials;
public final class ALLOY {
@@ -39,13 +38,13 @@ public final class ALLOY {
"Staballoy", //Material Name
new short[]{68, 75, 66, 0}, //Material Colour
3450, //Melting Point in C
- ((ELEMENT.getInstance().URANIUM.getBoilingPointC()*9)+(ELEMENT.getInstance().TITANIUM.getBoilingPointC()*1))/10, //Boiling Point in C
- ((ELEMENT.getInstance().URANIUM.getProtons()*9)+ELEMENT.getInstance().TITANIUM.getProtons())/10, //Protons
- ((ELEMENT.getInstance().URANIUM.getNeutrons()*9)+ELEMENT.getInstance().TITANIUM.getNeutrons())/10, //Neutrons
+ ((ELEMENT.getInstance().URANIUM238.getBoilingPointC()*9)+(ELEMENT.getInstance().TITANIUM.getBoilingPointC()*1))/10, //Boiling Point in C
+ ((ELEMENT.getInstance().URANIUM238.getProtons()*9)+ELEMENT.getInstance().TITANIUM.getProtons())/10, //Protons
+ ((ELEMENT.getInstance().URANIUM238.getNeutrons()*9)+ELEMENT.getInstance().TITANIUM.getNeutrons())/10, //Neutrons
true, //Uses Blast furnace?
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().URANIUM, 9),
+ new MaterialStack(ELEMENT.getInstance().URANIUM238, 9),
new MaterialStack(ELEMENT.getInstance().TITANIUM, 1)
});
@@ -501,70 +500,6 @@ public final class ALLOY {
new MaterialStack(ELEMENT.getInstance().OXYGEN, 10)
});
- 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
- ((ELEMENT.getInstance().THORIUM232.getProtons()+ELEMENT.getInstance().THORIUM232.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*6))/8), //Protons
- ((ELEMENT.getInstance().THORIUM232.getNeutrons()+ELEMENT.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(ELEMENT.getInstance().THORIUM232, 1),
- new MaterialStack(ELEMENT.getInstance().THORIUM, 1),
- new MaterialStack(ELEMENT.getInstance().FLUORINE, 12)
- });
-
- 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
- ((ELEMENT.getInstance().THORIUM232.getProtons()+(ELEMENT.getInstance().FLUORINE.getProtons()*4))/5), //Protons
- ((ELEMENT.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(ELEMENT.getInstance().THORIUM232, 1),
- new MaterialStack(ELEMENT.getInstance().FLUORINE, 4)
- });
-
- 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
- true, //Uses Blast furnace?
- //Material Stacks with Percentage of required elements.
- new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().LITHIUM7, 1),
- new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1),
- new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1),
- new MaterialStack(ELEMENT.getInstance().URANIUM, 1),
- new MaterialStack(ELEMENT.getInstance().FLUORINE, 6)
- });
-
- 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
- true, //Uses Blast furnace?
- //Material Stacks with Percentage of required elements.
- new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().LITHIUM7, 1),
- new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1),
- new MaterialStack(ALLOY.THORIUM_TETRAFLUORIDE, 1),
- new MaterialStack(ELEMENT.getInstance().URANIUM233, 1),
- new MaterialStack(ELEMENT.getInstance().FLUORINE, 6)
- });
-
-
public static final Material LEAGRISIUM = new Material(
"Grisium", //Material Name
new short[]{53, 93, 106, 0}, //Material Colour
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index 8933055668..19b17fa333 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -87,17 +87,13 @@ public final class ELEMENT {
public final Material RADON = MaterialUtils.generateMaterialFromGtENUM(Materials.Radon);
public final Material THORIUM = new Material("Thorium", Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, MaterialUtils.superscript("Th"), 1);
/*MaterialUtils.generateMaterialFromGtENUM(Materials.Thorium);*/
- public final Material URANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium);
- public final Material PLUTONIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium);
+ public final Material URANIUM238 = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium);
+ public final Material URANIUM235 = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium235);
+ public final Material PLUTONIUM244 = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium);
+ public final Material PLUTONIUM241 = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium241);
+
- //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 final Material THORIUMTETRAFLUORIDE = new Material("Thorium Tetrafluoride", Materials.Thorium.mRGBa, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, Materials.Thorium.getProtons(), Materials.Thorium.getNeutrons(), false, MaterialUtils.superscript("Th"), 1);//Not a GT Inherited Material
//Misc
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 0ff2037c99..b590b8b1c0 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -238,7 +238,7 @@ public class Material {
final public ItemStack getBlock(int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("block"+unlocalizedName, stacksize);
}
-
+
final public ItemStack getDust(int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, stacksize);
}
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
index 17640e7eb2..eb70191d78 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -107,4 +107,34 @@ public class MaterialGenerator {
}
+ public static void generateNuclearMaterial(final Material matInfo){
+ String unlocalizedName = matInfo.getUnlocalizedName();
+ String materialName = matInfo.getLocalizedName();
+ short[] C = matInfo.getRGBA();
+ int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
+
+ int sRadiation = 0;
+ if (matInfo.vRadioationLevel != 0){
+ sRadiation = matInfo.vRadioationLevel;
+ }
+
+ Item temp;
+ Block tempBlock;
+
+ tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour);
+ temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation);
+ temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", 3, sRadiation);
+ temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", 2, sRadiation);
+ temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", 1, sRadiation);
+ temp = new BaseItemNugget(matInfo);
+ temp = new BaseItemPlate(matInfo);
+ temp = new BaseItemPlateDouble(matInfo);
+
+ RecipeGen_Plates.generateRecipes(matInfo);
+ RecipeGen_Extruder.generateRecipes(matInfo);
+ RecipeGen_ShapedCrafting.generateRecipes(matInfo);
+ RecipeGen_DustGeneration.generateRecipes(matInfo, true);
+ }
+
+
}
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)
+ });
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 9ae25b841d..c6918e2cef 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -6,7 +6,7 @@ import gregtech.api.util.*;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.item.ItemUtils;
@@ -302,7 +302,7 @@ public class RECIPES_GREGTECH {
CORE.RA.addLFTRRecipe(
FluidUtils.getFluidStack("molten.thoriumtetrafluoride", 400), //Fluid input (slot 1)
FluidUtils.getFluidStack("molten.li2bef4", 1200), //Fluid output (slot 2)
- FluidUtils.getFluidStack("molten.uranium233", 750), //Output Array of Items - Upto 9,
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1600), //Output Array of Items - Upto 9,
12000*20, //Time in ticks
3500); //EU
@@ -311,7 +311,7 @@ public class RECIPES_GREGTECH {
CORE.RA.addLFTRRecipe(
FluidUtils.getFluidStack("molten.uranium", 144*64), //Fluid input (slot 1)
FluidUtils.getFluidStack("molten.li2bef4", 144*12), //Fluid output (slot 2)
- FluidUtils.getFluidStack("molten.uranium233", 144), //Output Array of Items - Upto 9,
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 6*144), //Output Array of Items - Upto 9,
120*60*20, //Time in ticks
8000); //EU
@@ -319,7 +319,7 @@ public class RECIPES_GREGTECH {
CORE.RA.addLFTRRecipe(
FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 200), //Fluid input (slot 1)
FluidUtils.getFluidStack("molten.li2bef4", 1000), //Fluid output (slot 2)
- FluidUtils.getFluidStack("molten.uranium233", 500), //Output Array of Items - Upto 9,
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1200), //Output Array of Items - Upto 9,
16000*20, //Time in ticks
4000); //EU
@@ -411,7 +411,7 @@ public class RECIPES_GREGTECH {
GT_Values.RA.addChemicalBathRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10),
FluidUtils.getFluidStack("hydrofluoricacid", 20000),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumTetrafluoride", 5),
null,
null,
new int[]{},
@@ -427,9 +427,9 @@ public class RECIPES_GREGTECH {
GT_Values.NI,
GT_Values.NF,
GT_Values.NF,
- ELEMENT.getInstance().THORIUM232.getDust(2),
+ NUCLIDE.getInstance().THORIUM232.getDust(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallThorium", 20),
- ELEMENT.getInstance().URANIUM232.getDust(1),
+ NUCLIDE.getInstance().URANIUM232.getDust(1),
GT_Values.NI,
GT_Values.NI,
GT_Values.NI,
@@ -441,8 +441,8 @@ public class RECIPES_GREGTECH {
private static void mixerRecipes(){
GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1), null, null, null, FluidUtils.getFluidStack("oxygen", 288), FluidUtils.getFluidStack("sulfurdioxide", 432), null, 600, 60);
- GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 2), ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 1), null, null, FluidUtils.getFluidStack("hydrofluoricacid", 2000), FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144*3), null, 3000, 500);
- GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), null, null, FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 720), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 288), null, 5000, 2000);
+ GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), null, null, FluidUtils.getFluidStack("hydrofluoricacid", 2000), FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144*3), null, 3000, 500);
+ //GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), null, null, FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 720), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 288), null, 5000, 2000);
}
private static void chemicalReactorRecipes(){
@@ -460,7 +460,7 @@ public class RECIPES_GREGTECH {
null, //Input Stack 2
FluidUtils.getFluidStack("hydrofluoricacid", 2500), //Fluid Input
FluidUtils.getFluidStack("water", 2500), //Fluid Output
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), //Output Stack
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumTetrafluoride", 5), //Output Stack
600*20
);
@@ -491,8 +491,8 @@ public class RECIPES_GREGTECH {
private static void blastFurnaceRecipes(){
GT_Values.RA.addBlastRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustBerylliumFluoride", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumTetrafluoride", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBerylliumTetrafluoride", 1),
GT_Values.NF, GT_Values.NF,
ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 3),
null,