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.chemistry.GenericChem; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; 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_NuclearFuelProcessing.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( FLUORIDES.LITHIUM_FLUORIDE.getDust(2), FLUORIDES.BERYLLIUM_FLUORIDE.getDust(1), GT_Values.NF, GT_Values.NF, NUCLIDE.Li2BeF4.getDust(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.getFluidStack(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.getFluidStack(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.getFluidStack(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 GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), ELEMENT.getInstance().OXYGEN.getCell(1), ELEMENT.getInstance().HYDROGEN.getFluidStack(1000), MISC_MATERIALS.HYDROXIDE.getFluidStack(2000), CI.emptyCells(2), GT_Values.NI, 8 * 20, 30); // Beryllium Hydroxide GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), ELEMENT.getInstance().BERYLLIUM.getDust(7), MISC_MATERIALS.HYDROXIDE.getFluidStack(1000), FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(2000), GT_Values.NI, 8 * 20, 30); // Ammonium Bifluoride GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), MISC_MATERIALS.AMMONIUM.getFluidStack(1000), FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(2000), CI.emptyCells(1), 20 * 20, 30); // Ammonium GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), ELEMENT.getInstance().HYDROGEN.getCell(1), MISC_MATERIALS.AMMONIA.getFluidStack(1000), MISC_MATERIALS.AMMONIUM.getFluidStack(2000), CI.emptyCells(1), 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( CI.getNumberedAdvancedCircuit(22), ItemUtils.getItemStackOfAmountFromOreDict("dustTechnetium99", 1), 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) }, FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(1440), null, new ItemStack[] { FLUORIDES.URANIUM_TETRAFLUORIDE.getDust(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 FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(1440), null, // Fluid output (slot 2) new ItemStack[] { FLUORIDES.URANIUM_HEXAFLUORIDE.getDust(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), FLUORIDES.AMMONIUM_BIFLUORIDE.getCell(4) }, FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(2000), // Fluid input (slot 1) FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(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) }, FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(5000), null, new ItemStack[] { MISC_MATERIALS.AMMONIA.getCell(2), ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2), FLUORIDES.BERYLLIUM_FLUORIDE.getCell(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( NUCLIDE.Li2BeF4.getDust(1), NUCLIDE.Li2BeF4.getFluidStack(144), 100, 500); //LFTR Fuel 1 CORE.RA.addFluidExtractionRecipe( NUCLIDE.LiFBeF2ZrF4U235.getDust(1), NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(144), 250, 1000); CORE.RA.addFluidExtractionRecipe( NUCLIDE.LiFBeF2ZrF4UF4.getDust(1), NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(144), 150, 1500); CORE.RA.addFluidExtractionRecipe( NUCLIDE.LiFBeF2ThF4UF4.getDust(1), NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(144), 150, 2000); //ZIRCONIUM_TETRAFLUORIDE CORE.RA.addFluidExtractionRecipe( FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1), FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(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", 5000), FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(5000), 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); } }