aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-12-28 19:45:13 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-12-28 19:45:13 +1000
commit6152557fc7d6b0d234eea6968a0cb0fdb976f318 (patch)
treed1b65bd580773f7e52aab89e3023629e4d5702b6 /src/Java
parent47637485b2dd6865e22bfffb395a731cc8cbeddb (diff)
downloadGT5-Unofficial-6152557fc7d6b0d234eea6968a0cb0fdb976f318.tar.gz
GT5-Unofficial-6152557fc7d6b0d234eea6968a0cb0fdb976f318.tar.bz2
GT5-Unofficial-6152557fc7d6b0d234eea6968a0cb0fdb976f318.zip
+ Added the last Fuel salt to NUCLIDE.java.
+ Enabled Fission Fuel Processing recipes. + Added recipes for all three nuclear fuels in the Fission Fuel Processor.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gregtech/api/util/Recipe_GT.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java1
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java18
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java64
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java17
6 files changed, 119 insertions, 3 deletions
diff --git a/src/Java/gregtech/api/util/Recipe_GT.java b/src/Java/gregtech/api/util/Recipe_GT.java
index 028ee28a63..c020b7eeb9 100644
--- a/src/Java/gregtech/api/util/Recipe_GT.java
+++ b/src/Java/gregtech/api/util/Recipe_GT.java
@@ -125,6 +125,18 @@ public class Recipe_GT extends GT_Recipe{
}
}
+ public Recipe_GT(
+ FluidStack aInput1, FluidStack aInput2, FluidStack aInput3,
+ FluidStack aInput4, FluidStack aInput5, FluidStack aInput6,
+ FluidStack aInput7, FluidStack aInput8, FluidStack aInput9,
+ FluidStack aOutput1, FluidStack aOutput2,
+ int aDuration, int aEUt) {
+ this(true, null, null, null, null, new FluidStack[]{aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9}, new FluidStack[]{aOutput1, aOutput2}, Math.max(aDuration, 1), aEUt, 0);
+ if (mInputs.length > 1) {
+ Gregtech_Recipe_Map.sFissionFuelProcessing.addRecipe(this);
+ }
+ }
+
/*public GregtechRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutput, int aDuration, int aEUt) {
this(true, new ItemStack[]{aInput}, aOutput.clone(), null, null, new FluidStack[]{aFluid}, null, aDuration, aEUt, 0);
if (mInputs.length > 0 && mOutputs[0] != null) {
@@ -241,7 +253,7 @@ public class Recipe_GT extends GT_Recipe{
//LFTR recipes
public static final GT_Recipe_Map sLiquidFluorineThoriumReactorRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.lftr", "Liquid Fluoride Thorium Reactor", null, RES_PATH_GUI + "basicmachines/LFTR", 0, 0, 0, 2, 1, "Start: ", 1, " EU", true, true);
//Fission Fuel Plant Recipes
- public static final GT_Recipe_Map sFissionFuelProcessing = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.fissionfuel", "Liquid Fluoride Thorium Reactor", null, RES_PATH_GUI + "basicmachines/LFTR", 0, 0, 0, 2, 1, E, 1, E, true, true);
+ public static final GT_Recipe_Map sFissionFuelProcessing = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.fissionfuel", "Fission Fuel Processing", null, RES_PATH_GUI + "basicmachines/LFTR", 0, 0, 0, 9, 1, E, 1, E, true, true);
/**
* HashMap of Recipes based on their Items
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 2a6b767295..072a3f428b 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -293,6 +293,7 @@ public final class ModItems {
//Generate Reactor Fuel Salts
MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4U235);
+ MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4UF4);
MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ThF4UF4);
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
index 0d087fe246..0fd6d2bd8a 100644
--- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
+++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
@@ -37,6 +37,24 @@ public final class NUCLIDE {
new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1)
});
+ public static final Material LiFBeF2ZrF4UF4 = new Material(
+ "LiFBeF2ZrF4UF4", //Material Name
+ new short[]{20, 70, 45, 0}, //Material Colour
+ 650, //Melting Point in C
+ 940, //Boiling Point in C
+ 150, //Protons
+ 150, //Neutrons
+ false, //Uses Blast furnace?
+ MaterialUtils.subscript(MaterialUtils.superscript("7")+"LiFBeF2ZrF4UF4"), //Chemical Formula
+ 5, //Radioactivity Level
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 65),
+ new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 28),
+ new MaterialStack(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE, 5),
+ new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 2)
+ });
+
public static final Material LiFBeF2ZrF4U235 = new Material(
"LiFBeF2ZrF4U235", //Material Name
new short[]{50, 70, 15, 0}, //Material Colour
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 899eff8cf2..4383618cb5 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -35,6 +35,7 @@ public class RECIPES_GREGTECH {
dehydratorRecipes();
blastFurnaceRecipes();
lftrRecipes();
+ fissionFuelRecipes();
autoclaveRecipes();
mixerRecipes();
macerationRecipes();
@@ -341,7 +342,7 @@ public class RECIPES_GREGTECH {
try {
//Fli2BeF4 + Uranium235 = 1x Uranium233
CORE.RA.addLFTRRecipe(
- FluidUtils.getFluidStack("molten.LiFBeF2ZrF4U235".toLowerCase(), 144*64), //Fluid input (slot 1)
+ FluidUtils.getFluidStack("molten.LiFBeF2ZrF4U235".toLowerCase(), 144*32), //Fluid input (slot 1)
FluidUtils.getFluidStack("molten.li2bef4", 144*12), //Fluid output (slot 2)
FluidUtils.getFluidStack("molten.uraniumhexafluoride", 6*144), //Output Array of Items - Upto 9,
120*60*20, //Time in ticks
@@ -351,13 +352,72 @@ public class RECIPES_GREGTECH {
//Fli2BeF4 + Uranium233 TetraFluoride = Uranium233
CORE.RA.addLFTRRecipe(
FluidUtils.getFluidStack("molten.LiFBeF2ThF4UF4".toLowerCase(), 200), //Fluid input (slot 1)
- FluidUtils.getFluidStack("molten.li2bef4", 1000), //Fluid output (slot 2)
+ FluidUtils.getFluidStack("molten.li2bef4", 500), //Fluid output (slot 2)
FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1200), //Output Array of Items - Upto 9,
16000*20, //Time in ticks
4000); //EU
}catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
}
+
+ private static void fissionFuelRecipes(){
+ try {
+
+ String salt_LiFBeF2ThF4UF4 = "LiFBeF2ThF4UF4".toLowerCase();
+ String salt_LiFBeF2ZrF4U235 = "LiFBeF2ZrF4U235".toLowerCase();
+ String salt_LiFBeF2ZrF4UF4 = "LiFBeF2ZrF4UF4".toLowerCase();
+
+ FluidStack LithiumFluoride = FluidUtils.getFluidStack("molten.lithiumtetrafluoride", 100); //Re-usable FluidStacks
+ FluidStack BerylliumFluoride = FluidUtils.getFluidStack("molten.berylliumtetrafluoride", 100); //Re-usable FluidStacks
+ FluidStack ThoriumFluoride = FluidUtils.getFluidStack("molten.thoriumtetrafluoride", 100); //Re-usable FluidStacks
+ FluidStack ZirconiumFluoride = FluidUtils.getFluidStack("molten.zirconiumtetrafluoride", 100); //Re-usable FluidStacks
+ FluidStack UraniumTetraFluoride = FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 100); //Re-usable FluidStacks
+ FluidStack Uranium235 = FluidUtils.getFluidStack("molten.uranium235", 1000); //Re-usable FluidStacks
+
+ FluidStack LiFBeF2ThF4UF4 = FluidUtils.getFluidStack("molten."+salt_LiFBeF2ThF4UF4, 100); //Re-usable FluidStacks
+ FluidStack LiFBeF2ZrF4U235 = FluidUtils.getFluidStack("molten."+salt_LiFBeF2ZrF4U235, 100); //Re-usable FluidStacks
+ FluidStack LiFBeF2ZrF4UF4 = FluidUtils.getFluidStack("molten."+salt_LiFBeF2ZrF4UF4, 100); //Re-usable FluidStacks
+
+ //7LiF - BeF2 - ZrF4 - UF4 - 650C
+ CORE.RA.addFissionFuel(
+ FluidUtils.getFluidStack(LithiumFluoride, 6500), //Input A
+ FluidUtils.getFluidStack(BerylliumFluoride, 2500), //Input B
+ FluidUtils.getFluidStack(ZirconiumFluoride, 800), //Input C
+ FluidUtils.getFluidStack(UraniumTetraFluoride, 700), //Input D
+ null, null, null, null, null, //Extra 5 inputs
+ FluidUtils.getFluidStack(LiFBeF2ZrF4UF4, 10000), //Output Fluid 1
+ null, //Output Fluid 2
+ 60*60*20, //Duration
+ 4740);
+
+ //7LiF - BeF2 - ZrF4 - U235 - 590C
+ CORE.RA.addFissionFuel(
+ FluidUtils.getFluidStack(LithiumFluoride, 5500), //Input A
+ FluidUtils.getFluidStack(BerylliumFluoride, 1500), //Input B
+ FluidUtils.getFluidStack(ZirconiumFluoride, 600), //Input C
+ FluidUtils.getFluidStack(Uranium235, 2400), //Input D
+ null, null, null, null, null, //Extra 5 inputs
+ FluidUtils.getFluidStack(LiFBeF2ZrF4U235, 10000), //Output Fluid 1
+ null, //Output Fluid 2
+ 45*60*20, //Duration
+ 4740);
+
+ //7liF - BeF2 - ThF4 - UF4 - 566C
+ CORE.RA.addFissionFuel(
+ FluidUtils.getFluidStack(LithiumFluoride, 6200), //Input A
+ FluidUtils.getFluidStack(BerylliumFluoride, 2800), //Input B
+ FluidUtils.getFluidStack(ThoriumFluoride, 700), //Input C
+ FluidUtils.getFluidStack(UraniumTetraFluoride, 700), //Input D
+ null, null, null, null, null, //Extra 5 inputs
+ FluidUtils.getFluidStack(LiFBeF2ThF4UF4, 10000), //Output Fluid 1
+ null, //Output Fluid 2
+ 60*60*20, //Duration
+ 4740);
+
+
+
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
private static void assemblerRecipes(){
//GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine2.get(1L, new Object[0]), 50, 16);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
index 9eaf13dca3..59426aae36 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
@@ -95,5 +95,13 @@ public interface IGregtech_RecipeAdder {
public boolean addLFTRRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt);
public boolean addLFTRRecipe(ItemStack aInput1, FluidStack aInput2, ItemStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt);
public boolean addLFTRRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt);
+
+
+ public boolean addFissionFuel(
+ FluidStack aInput1, FluidStack aInput2, FluidStack aInput3,
+ FluidStack aInput4, FluidStack aInput5, FluidStack aInput6,
+ FluidStack aInput7, FluidStack aInput8, FluidStack aInput9,
+ FluidStack aOutput1, FluidStack aOutput2,
+ int aDuration, int aEUt);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
index 9fa070a4f8..4c31c51fe6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
@@ -303,4 +303,21 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return true;
}
+ @Override
+ public boolean addFissionFuel(
+ FluidStack aInput1, FluidStack aInput2, FluidStack aInput3,
+ FluidStack aInput4, FluidStack aInput5, FluidStack aInput6,
+ FluidStack aInput7, FluidStack aInput8, FluidStack aInput9,
+ FluidStack aOutput1, FluidStack aOutput2,
+ int aDuration, int aEUt) {
+
+ if (aInput1 == null || aInput2 == null || aOutput1 == null || aDuration < 1 || aEUt < 1) {
+ return false;
+ }
+ FluidStack inputs[] = {aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9};
+ FluidStack outputs[] = {aOutput1, aOutput2};
+ Recipe_GT.Gregtech_Recipe_Map.sFissionFuelProcessing.addRecipe(null, inputs, outputs, aDuration, aEUt, 0);
+ return true;
+ }
+
}