aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java163
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java617
2 files changed, 780 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java
new file mode 100644
index 0000000000..f55b5ca1d6
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java
@@ -0,0 +1,163 @@
+package gtPlusPlus.xmod.gregtech.loaders.recipe;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GTPP_Recipe;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GasSpargingRecipe;
+import gregtech.api.util.GasSpargingRecipeMap;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.NuclearChem;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
+import gtPlusPlus.core.material.nuclear.NUCLIDE;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+public class RecipeLoader_FFPP {
+
+ private static AutoMap<Fluid> mNobleGases;
+ private static AutoMap<Fluid> mFluorideGases;
+ private static AutoMap<Fluid> mSpargeGases;
+
+ private static void configureSparging() {
+ if (mSpargeGases == null) {
+ mSpargeGases = new AutoMap<Fluid>();
+ mSpargeGases.add(Materials.Helium.getGas(1).getFluid());
+ mSpargeGases.add(Materials.Fluorine.getGas(1).getFluid());
+ }
+ if (mNobleGases == null) {
+ mNobleGases = new AutoMap<Fluid>();
+ mNobleGases.add(mSpargeGases.get(0));
+ mNobleGases.add(ELEMENT.getInstance().XENON.getFluid(1).getFluid());
+ mNobleGases.add(ELEMENT.getInstance().NEON.getFluid(1).getFluid());
+ mNobleGases.add(ELEMENT.getInstance().ARGON.getFluid(1).getFluid());
+ mNobleGases.add(ELEMENT.getInstance().KRYPTON.getFluid(1).getFluid());
+ mNobleGases.add(ELEMENT.getInstance().RADON.getFluid(1).getFluid());
+ }
+ if (mFluorideGases == null) {
+ mFluorideGases = new AutoMap<Fluid>();
+ mFluorideGases.add(mSpargeGases.get(1));
+ mFluorideGases.add(FLUORIDES.LITHIUM_FLUORIDE.getFluid(1).getFluid());
+ mFluorideGases.add(FLUORIDES.NEPTUNIUM_HEXAFLUORIDE.getFluid(1).getFluid());
+ mFluorideGases.add(FLUORIDES.TECHNETIUM_HEXAFLUORIDE.getFluid(1).getFluid());
+ mFluorideGases.add(FLUORIDES.SELENIUM_HEXAFLUORIDE.getFluid(1).getFluid());
+ mFluorideGases.add(FLUORIDES.THORIUM_TETRAFLUORIDE.getFluid(1).getFluid());
+ }
+ }
+
+ public static void generate() {
+ // Fli2BeF4 + Thorium TetraFluoride = Uranium233
+ //72k Ticks/hr
+ //1l/4t = 1000l/hr
+ //1l/40t = 1000l/10hr (Probably better) LiFBeF2ThF4UF4
+ //1l/20t= 1000l/2.5hr LiFBeF2ZrF4UF4
+ //1l/10t= 1000l/2.5hr LiFBeF2ZrF4U235
+
+ configureSparging();
+ FluidStack Li2BeF4 = new FluidStack(ModItems.fluidFLiBeSalt, 34);
+ FluidStack aBurntLi2BeF4 = new FluidStack(ModItems.fluidFLiBeSaltBurnt, 34);
+
+ //LiFBeF2ThF4UF4
+ GT_Recipe LFTR1 = new GTPP_Recipe(
+ true,
+ new ItemStack[] {},
+ new ItemStack[] {},
+ null, new int[] {10000, 10000, 5000, 2500},
+ new FluidStack[] {
+ NUCLIDE.LiFBeF2ThF4UF4.getFluid(17),
+ Li2BeF4
+ },
+ new FluidStack[] {
+ new FluidStack(NuclearChem.Burnt_LiFBeF2ThF4UF4, 17),
+ aBurntLi2BeF4,
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 10),
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 5)
+ },
+ 12000,//time
+ 0,//cost
+ 8192//fuel value
+ );
+
+ //LiFBeF2ZrF4UF4
+ GT_Recipe LFTR2 = new GTPP_Recipe(
+ true,
+ new ItemStack[] {},
+ new ItemStack[] {},
+ null, new int[] {10000, 10000, 2500, 1250},
+ new FluidStack[] {
+ NUCLIDE.LiFBeF2ZrF4UF4.getFluid(17),
+ Li2BeF4
+ },
+ new FluidStack[] {
+ new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4UF4, 17),
+ aBurntLi2BeF4,
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 4),
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 2)
+ },
+ 6000,//time
+ 0,//cost
+ 8192//fuel value
+ );
+
+ //LiFBeF2ZrF4U235
+ GT_Recipe LFTR3 = new GTPP_Recipe(
+ true,
+ new ItemStack[] {},
+ new ItemStack[] {},
+ null, new int[] {10000, 10000, 1000, 500},
+ new FluidStack[] {
+ NUCLIDE.LiFBeF2ZrF4U235.getFluid(17),
+ Li2BeF4
+ },
+ new FluidStack[] {
+ new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4U235, 17),
+ aBurntLi2BeF4,
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 2),
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1)
+ },
+ 3000,//time
+ 0,//cost
+ 8192//fuel value
+ );
+
+ // Sparging NEI Recipes
+ GasSpargingRecipeMap.addRecipe(
+ new FluidStack(mSpargeGases.get(0), 50),
+ new FluidStack[] {
+ new FluidStack(mNobleGases.get(0), 50),
+ new FluidStack(mNobleGases.get(1), 10),
+ new FluidStack(mNobleGases.get(2), 10),
+ new FluidStack(mNobleGases.get(3), 10),
+ new FluidStack(mNobleGases.get(4), 10),
+ new FluidStack(mNobleGases.get(5), 10)
+ },
+ new int[] {
+ 5000, 1000, 1000, 1000, 1000, 1000
+ });
+
+ GasSpargingRecipeMap.addRecipe(
+ new FluidStack(mSpargeGases.get(1), 100),
+ new FluidStack[] {
+ new FluidStack(mFluorideGases.get(0), 100),
+ new FluidStack(mFluorideGases.get(1), 20),
+ new FluidStack(mFluorideGases.get(2), 20),
+ new FluidStack(mFluorideGases.get(3), 20),
+ new FluidStack(mFluorideGases.get(4), 20),
+ new FluidStack(mFluorideGases.get(5), 20)
+ },
+ new int[] {
+ 10000, 2000, 2000, 2000, 2000, 2000
+ });
+
+ GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR1);
+ GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR2);
+ GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR3);
+
+
+ }
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java
new file mode 100644
index 0000000000..4128c228b3
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java
@@ -0,0 +1,617 @@
+package gtPlusPlus.xmod.gregtech.loaders.recipe;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.GenericChem;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
+import gtPlusPlus.core.material.nuclear.NUCLIDE;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+public class RecipeLoader_Nuclear {
+
+
+
+ public static void generate() {
+ createRecipes();
+ RecipeLoader_LFTR.generate();
+ RecipeLoader_FFPP.generate();
+ }
+
+ private static void createRecipes() {
+ autoclave();
+ blastFurnace();
+ centrifugeRecipes();
+ chemicalBathRecipes();
+ chemicalReactorRecipes();
+ dehydratorRecipes();
+ electroMagneticSeperator();
+ fluidExtractorRecipes();
+ macerator();
+ mixerRecipes();
+ sifter();
+ }
+
+ private static void autoclave() {
+
+ GT_Values.RA.addAutoclaveRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 9),
+ FluidUtils.getFluidStack("chlorine", 9 * 4 * 144),
+ ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 9),
+ 0,
+ 120 * 20,
+ 30);
+
+ }
+
+ private static void blastFurnace() {
+
+ GT_Values.RA.addBlastRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBerylliumFluoride", 1),
+ GT_Values.NF,
+ GT_Values.NF,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 3),
+ null,
+ 60 * 20, 2000,
+ 3000);
+
+ GT_Values.RA.addBlastRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1),
+ null,
+ GT_Values.NF,
+ GT_Values.NF,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1),
+ null,
+ 60 * 20,
+ 340,
+ 300);
+
+ }
+
+
+ private static void centrifugeRecipes() {
+
+ //Process Used Fuel Rods for Krypton
+
+ //Uranium
+ GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedCircuit(20),
+ ItemUtils.getItemStackFromFQRN("IC2:reactorUraniumSimpledepleted", 8),
+ GT_Values.NF,
+ ELEMENT.getInstance().KRYPTON.getFluid(60),
+ ItemList.IC2_Fuel_Rod_Empty.get(8),
+ ELEMENT.getInstance().URANIUM238.getDust(2),
+ ELEMENT.getInstance().URANIUM232.getSmallDust(1),
+ ELEMENT.getInstance().URANIUM233.getSmallDust(1),
+ ELEMENT.getInstance().URANIUM235.getSmallDust(1),
+ ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1),
+ new int[] { 0, 0, 1000, 1000, 1000, 500 }, 500 * 20, 4000);
+ //Mox
+ GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedCircuit(20),
+ ItemUtils.getItemStackFromFQRN("IC2:reactorMOXSimpledepleted", 8),
+ GT_Values.NF,
+ ELEMENT.getInstance().KRYPTON.getFluid(90),
+ ItemList.IC2_Fuel_Rod_Empty.get(8),
+ ELEMENT.getInstance().PLUTONIUM244.getDust(2),
+ ELEMENT.getInstance().PLUTONIUM241.getTinyDust(1),
+ ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1),
+ ELEMENT.getInstance().PLUTONIUM238.getTinyDust(1),
+ ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1),
+ new int[] { 0, 0, 500, 500, 500, 500 }, 750 * 20, 4000);
+
+ //Thorium
+ GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedCircuit(20),
+ ItemList.Depleted_Thorium_1.get(8),
+ GT_Values.NF,
+ ELEMENT.getInstance().KRYPTON.getFluid(30),
+ ItemList.IC2_Fuel_Rod_Empty.get(8),
+ ELEMENT.getInstance().THORIUM.getDust(2),
+ ELEMENT.getInstance().THORIUM232.getDust(1),
+ ELEMENT.getInstance().LUTETIUM.getSmallDust(1),
+ ELEMENT.getInstance().POLONIUM.getSmallDust(1),
+ ELEMENT.getInstance().THALLIUM.getTinyDust(1),
+ new int[] { 0, 0, 5000, 5000, 5000, 2500 }, 250 * 20, 4000);
+
+ }
+
+
+ private static void chemicalBathRecipes() {
+
+ int[] chances = {9000, 6000, 3000};
+ GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12),
+ FluidUtils.getFluidStack("chlorine", 2400),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5),
+ chances,
+ 30 * 20,
+ 480);
+
+ chances = new int[]{9000, 3000, 1000};
+ GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5),
+ FluidUtils.getFluidStack("chlorine", 4000),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1),
+ chances,
+ 30 * 20,
+ 1024);
+
+ GT_Values.RA.addChemicalBathRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10),
+ FluidUtils.getFluidStack("hydrofluoricacid", 10 * 144),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 10),
+ null,
+ null,
+ new int[] {},
+ 90 * 20,
+ 500);
+
+ }
+
+
+ private static void chemicalReactorRecipes() {
+
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input
+ null, // Fluid Input
+ null, // Fluid Output
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10),
+ 600 * 20);
+
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), // Input
+ null, // Input Stack 2
+ FluidUtils.getFluidStack("hydrofluoricacid", 5 * 144),
+ FluidUtils.getFluidStack("water", 5 * 144), // Fluid Output
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5),
+ 600 * 20);
+
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1), null,
+ FluidUtils.getFluidStack("sulfuricacid", 144 * 8),
+ FluidUtils.getFluidStack("sulfuriclithium", 144 * 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallLithium7", 1),
+ 20 * 20);
+
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16),
+ FluidUtils.getFluidStack("water", 1000),
+ FluidUtils.getFluidStack("lithiumhydroxide", 144 * 4),
+ CI.emptyCells(1),
+ 300 * 20);
+
+ // LFTR Fuel Related Compounds
+ if (GTNH) {
+ // Hydroxide
+ AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("hydroxide", 2000),
+ CI.emptyCells(2), GT_Values.NI, 8 * 20, 30);
+ // Beryllium Hydroxide
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7),
+ ItemUtils.getGregtechCircuit(3), FluidUtils.getFluidStack("hydroxide", 1000),
+ FluidUtils.getFluidStack("berylliumhydroxide", 2000), GT_Values.NI, 8 * 20);
+ // Ammonium Bifluoride
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
+ ItemUtils.getGregtechCircuit(3), FluidUtils.getFluidStack("ammonium", 1000),
+ FluidUtils.getFluidStack("ammoniumbifluoride", 2000),
+ CI.emptyCells(1), 26 * 20);
+ // Ammonium
+ AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("ammonium", 2000),
+ CI.emptyCells(2), GT_Values.NI, 20 * 20, 30);
+ }
+
+ if (!GTNH) {
+ // Hydroxide
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("hydroxide", 2000),
+ CI.emptyCells(2), 8 * 20);
+ // Ammonia (moved to GTNH core mod)
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 0),
+ FluidUtils.getFluidStack("nitrogen", 1000), FluidUtils.getFluidStack("ammonia", 1000),
+ CI.emptyCells(3), 14 * 20);
+ // Beryllium Hydroxide
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7), GT_Values.NI,
+ FluidUtils.getFluidStack("hydroxide", 1000), FluidUtils.getFluidStack("berylliumhydroxide", 2000),
+ GT_Values.NI, 8 * 20);
+ // Ammonium Bifluoride
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
+ GT_Values.NI, FluidUtils.getFluidStack("ammonium", 1000),
+ FluidUtils.getFluidStack("ammoniumbifluoride", 2000),
+ CI.emptyCells(1), 26 * 20);
+ // Ammonium
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("ammonium", 2000),
+ CI.emptyCells(2), 20 * 20);
+ }
+
+
+ //Technetium
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTechnetium99", 1),
+ null,
+ FluidUtils.getFluidStack("sulfuricacid", 1000),
+ FluidUtils.getFluidStack("sulfuricacid", 144 * 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTechnetium", 1),
+ 100 * 20);
+
+ }
+
+ private static void dehydratorRecipes() {
+
+ // Makes 7-Lithium
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(14),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricLithium", 1)
+ },
+ FluidUtils.getFluidStack("sulfuriclithium", 440),
+ null,
+ new ItemStack[] {
+ CI.emptyCells(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 4)
+ },
+ new int[] {10000, 10000, 10000, 10000, 10000},
+ 30 * 20,
+ 30);
+
+ // Makes Lithium Carbonate
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.emptyCells(12),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20)
+ }, // Item input (Array, up to 2)
+ FluidUtils.getFluidStack("sulfuricacid", 10000),
+ FluidUtils.getFluidStack("sulfuriclithium", 10000),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 10),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), // LithiumCarbonate
+ }, // Output Array of Items - Upto 9,
+ new int[] { 10000, 10000, 10000, 10000, 10000 },
+ 75 * 20, // Time in ticks
+ 1000); // EU
+
+ // Makes Uranium Tetrafluoride
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(13),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10)
+ },
+ FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 1440),
+ null,
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumTetrafluoride", 10),
+ CI.emptyCells(10)
+ },
+ new int[] { 10000 },
+ 150 * 20, // Time in ticks
+ 2000); // EU
+
+ // Makes Uranium Hexafluoride
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(12),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10)
+ }, // Item
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1440), // Fluid
+ null, // Fluid output (slot 2)
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumHexafluoride", 10),
+ CI.emptyCells(10) }, // Output
+ new int[] { 10000 },
+ 300 * 20, // Time in ticks
+ 4000); // EU
+
+ // Calcium Hydroxide
+ if ((ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) || LoadedMods.IHL) {
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(20),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10)
+ },
+ FluidUtils.getFluidStack("water", 10000),
+ null, // Fluid output (slot 2)
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 20)
+ }, // Output
+ new int[] { 10000 },
+ 120 * 20, // Time in ticks
+ 120); // EU
+ }
+ else {
+ Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPE");
+ if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) {
+ Logger.INFO("Could not find dustQuicklime, cannot make dustCalciumHydroxide.");
+ }
+ else if (!LoadedMods.IHL) {
+ Logger.INFO("IHL not loaded.");
+ }
+ }
+
+ // 2 LiOH + CaCO3
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(20),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 5)
+ }, // Item
+ null, // Fluid input (slot 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 3)
+ }, // Output
+ new int[] { 10000, 10000 },
+ 120 * 20, // Time in ticks
+ 1000); // EU
+
+ // LiOH Liquid to Dust
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(22)
+ },
+ FluidUtils.getFluidStack("lithiumhydroxide", 144),
+ null,
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1)
+ },
+ new int[] { 10000 },
+ 1 * 20, // Time in ticks
+ 64); // EU
+
+ // Zirconium Chloride -> TetraFluoride
+ FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 9000);
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(11),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9),
+ }, // Item
+ FluidUtils.getFluidStack("hydrofluoricacid", 9 * 144),
+ aHydrogenChloride,
+ new ItemStack[] {
+ FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9)
+ },
+ new int[] { 10000 },
+ 120 * 20, // Time in ticks
+ 500); // EU
+
+ // Zirconium Chloride -> TetraFluoride
+ FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1);
+ if (aGregtechHydro != null || Utils.getGregtechVersionAsInt() >= 50929) {
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(10),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9)
+ },
+ FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 18 * 144),
+ aHydrogenChloride,
+ new ItemStack[] {
+ FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9)
+ },
+ new int[] { 10000 },
+ 240 * 20, // Time in ticks
+ 500); // EU
+ }
+
+ // Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(6),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmoniumBifluoride", 4)
+ },
+ FluidUtils.getFluidStack("berylliumhydroxide", 2000), // Fluid input (slot 1)
+ FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 6000),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 4)
+ },
+ new int[] { 10000},
+ 32 * 20, // Time in ticks
+ 64); // EU
+
+ // (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(17),
+ CI.emptyCells(5)
+ },
+ FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 5000),
+ null,
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellBerylliumFluoride", 1)
+ },
+ new int[] {10000, 10000, 10000},
+ 5 * 60 * 20,
+ 120);
+
+
+ }
+
+ private static void electroMagneticSeperator() {
+
+ // Zirconium
+ GT_Values.RA.addElectromagneticSeparatorRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1),
+ new int[] { 10000, 2500, 4000 },
+ 20 * 20,
+ 24);
+
+ // Zircon
+ GT_Values.RA.addElectromagneticSeparatorRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1),
+ new int[] { 10000, 1250, 2500 },
+ 20 * 20,
+ 24);
+ GT_Values.RA.addElectromagneticSeparatorRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1),
+ new int[] { 10000, 1250, 2500 },
+ 20 * 20,
+ 24);
+
+ }
+
+ private static void fluidExtractorRecipes() {
+
+ //FLiBe fuel
+ CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 1),
+ new FluidStack(ModItems.fluidFLiBeSalt, 144), 100, 500);
+ //LFTR Fuel 1
+ CORE.RA.addFluidExtractionRecipe(NUCLIDE.LiFBeF2ZrF4U235.getDust(1),
+ NUCLIDE.LiFBeF2ZrF4U235.getFluid(144), 250, 1000);
+ CORE.RA.addFluidExtractionRecipe(NUCLIDE.LiFBeF2ZrF4UF4.getDust(1),
+ NUCLIDE.LiFBeF2ZrF4UF4.getFluid(144), 150, 2000);
+ CORE.RA.addFluidExtractionRecipe(NUCLIDE.LiFBeF2ThF4UF4.getDust(1),
+ NUCLIDE.LiFBeF2ThF4UF4.getFluid(144), 200, 1500);
+
+ //ZIRCONIUM_TETRAFLUORIDE
+ CORE.RA.addFluidExtractionRecipe(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1),
+ FluidUtils.getFluidStack(ModItems.fluidZrF4, 144), 200, 512+256);
+
+ }
+
+ private static void macerator() {
+
+ GT_ModHandler.addPulverisationRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1));
+
+ }
+
+ private static void mixerRecipes() {
+
+ GT_Values.RA.addMixerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1),
+ null,
+ null,
+ FluidUtils.getFluidStack("hydrofluoricacid", 144 * 5),
+ FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144 * 5),
+ null,
+ 3000,
+ 500);
+
+ }
+
+
+ private static void sifter() {
+
+ // Zirconium
+ GT_Values.RA.addSifterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyWroughtIron", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1) },
+ new int[] { 5000, 2500, 1000, 1000, 300, 300 },
+ 20 * 30,
+ 500);
+ GT_Values.RA.addSifterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZinc", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) },
+ new int[] { 10000, 5000, 1500, 1000, 500, 500 },
+ 20 * 30,
+ 500);
+ GT_Values.RA.addSifterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyTin", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) },
+ new int[] { 10000, 5000, 1500, 1000, 500, 500 },
+ 20 * 30,
+ 500);
+
+ // Radium
+ GT_Values.RA.addSifterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyLead", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
+ new int[] { 10000, 5000, 1000, 500, 500, 500 },
+ 20 * 30,
+ 500);
+ GT_Values.RA.addSifterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyUranium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
+ new int[] { 10000, 5000, 500, 250, 250, 250 },
+ 20 * 30,
+ 500);
+ GT_Values.RA.addSifterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1),
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyLead", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
+ new int[] { 10000, 5000, 500, 250, 250, 250 },
+ 20 * 30,
+ 500);
+ }
+
+}