aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/elisis/gtnhlanth/loader
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-25 15:39:05 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-25 15:39:05 +0100
commitdb88561e8e21fb8b067bf5bf1a1753697d36ed29 (patch)
tree7a928f7502c46571b41dfa647151c253064cd5fb /src/main/java/com/elisis/gtnhlanth/loader
parent9069e2aa47be7e6fb6ab1a2a29c5887ec2bfb2d7 (diff)
downloadGT5-Unofficial-db88561e8e21fb8b067bf5bf1a1753697d36ed29.tar.gz
GT5-Unofficial-db88561e8e21fb8b067bf5bf1a1753697d36ed29.tar.bz2
GT5-Unofficial-db88561e8e21fb8b067bf5bf1a1753697d36ed29.zip
Merge Lanthanides sources
Diffstat (limited to 'src/main/java/com/elisis/gtnhlanth/loader')
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java267
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java4
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java3744
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/ZPMRubberChanges.java409
4 files changed, 4424 insertions, 0 deletions
diff --git a/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java b/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java
new file mode 100644
index 0000000000..a0480b62dd
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java
@@ -0,0 +1,267 @@
+package com.elisis.gtnhlanth.loader;
+
+import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.*;
+import static gregtech.api.enums.OrePrefixes.*;
+import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
+
+import java.util.HashSet;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool;
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import ic2.core.Ic2Items;
+
+/*
+ * Originally authored by botn365 under the MIT License. See BotdustriesLICENSE
+ */
+
+public class BotRecipes {
+
+ public static void addGTRecipe() {
+ ItemStack C1 = GT_Utility.getIntegratedCircuit(1);
+ ItemStack C2 = GT_Utility.getIntegratedCircuit(2);
+ ItemStack C24 = GT_Utility.getIntegratedCircuit(24);
+
+ // CaCO3 + 2HCl = H2O + CO2 + CaCl2
+ GT_Values.RA.addChemicalRecipe(
+ Materials.Calcite.getDust(5),
+ Materials.Empty.getCells(1),
+ Materials.HydrochloricAcid.getFluid(2000),
+ Materials.Water.getFluid(1000),
+ Materials.CarbonDioxide.getCells(1),
+ WerkstoffLoader.CalciumChloride.get(dust, 3),
+ 80,
+ 120);
+
+ // tungsten chain
+ FluidStack sodiumTungsten = SodiumTungstate.getFluidOrGas(1000);
+ ItemStack scheelite = Materials.Scheelite.getDust(6);
+
+ // Li2WO4 + 2Na = Na2WO4 + 2Li
+ GT_Values.RA.addAutoclaveRecipe(
+ Materials.Tungstate.getDust(7),
+ Materials.Sodium.getDust(2),
+ Materials.Water.getFluid(4000),
+ sodiumTungsten,
+ Materials.Lithium.getDust(2),
+ 10000,
+ 100,
+ 1920,
+ false);
+
+ // MnWO4 + 2Na = Na2WO4 + Mn
+ GT_Values.RA.addAutoclaveRecipe(
+ WerkstoffLoader.Huebnerit.get(dust, 6),
+ Materials.Sodium.getDust(2),
+ Materials.Water.getFluid(4000),
+ sodiumTungsten,
+ Materials.Manganese.getDust(1),
+ 10000,
+ 100,
+ 1920,
+ false);
+
+ // FeWO4 + 2Na = Na2WO4 + Fe
+ GT_Values.RA.addAutoclaveRecipe(
+ WerkstoffLoader.Ferberite.get(dust, 6),
+ Materials.Sodium.getDust(2),
+ Materials.Water.getFluid(4000),
+ sodiumTungsten,
+ Materials.Iron.getDust(1),
+ 10000,
+ 100,
+ 1920,
+ false);
+
+ // CaCl2 + Na2WO4 = 2NaCl + CaWO4
+ ItemStack Ca2Cl = WerkstoffLoader.CalciumChloride.get(dust, 3);
+ GT_Values.RA
+ .addChemicalRecipe(Ca2Cl, null, sodiumTungsten, null, scheelite, Materials.Salt.getDust(4), 100, 480);
+
+ ItemStack H2WO4 = TungsticAcid.get(dust, 7);
+ // CaWO4 + 2HCl = H2WO4 + CaCl2
+ GT_Values.RA.addChemicalRecipe(
+ scheelite,
+ null,
+ Materials.HydrochloricAcid.getFluid(2000),
+ null,
+ H2WO4,
+ Ca2Cl,
+ 50,
+ 1920);
+
+ ItemStack WO3 = TungstenTrioxide.get(dust, 4);
+ // H2WO4 = WO3 + H2O
+ GT_Values.RA.addBlastRecipe(H2WO4, null, null, null, WO3, null, 200, 480, 1200);
+
+ // WO3 + 6H = W + 3H2O
+ GT_Values.RA.addBlastRecipe(
+ WO3,
+ C2,
+ Materials.Hydrogen.getGas(6000),
+ GT_ModHandler.getSteam(3000),
+ Materials.Tungsten.getDust(1),
+ null,
+ 100,
+ 1920,
+ 1000);
+
+ WO3.stackSize = 8;
+ // 2WO3 + 3C = 2W + 3CO2
+ GT_Values.RA.addBlastRecipe(
+ WO3,
+ Materials.Carbon.getDust(3),
+ null,
+ Materials.CarbonDioxide.getGas(3000),
+ GT_OreDictUnificator.get(ingotHot, Materials.Tungsten, 2L),
+ null,
+ 8000,
+ 1920,
+ 3000);
+
+ // rocket fuels
+ // LMP103S
+ // 2Cl + CO = COCl2
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.CarbonMonoxide.getCells(1), GT_Utility.getIntegratedCircuit(12))
+ .itemOutputs(Phosgene.get(cell, 1))
+ .fluidInputs(Materials.Chlorine.getGas(2000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(12))
+ .itemOutputs(Phosgene.get(cell, 1), Materials.Empty.getCells(1))
+ .fluidInputs(Materials.CarbonMonoxide.getGas(1000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.CarbonMonoxide.getCells(1), Materials.Chlorine.getCells(2))
+ .itemOutputs(Phosgene.get(cell, 1), Materials.Empty.getCells(2))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalReactorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(Materials.Empty.getCells(2))
+ .fluidInputs(Materials.CarbonMonoxide.getGas(1000))
+ .fluidOutputs(BotWerkstoffMaterialPool.Phosgene.getFluidOrGas(1000))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(UniversalChemical);
+
+ // H3PO4 = P + H2O
+ GT_Values.RA.addDistilleryRecipe(
+ C2,
+ Materials.PhosphoricAcid.getFluid(1000),
+ Materials.Water.getFluid(500),
+ Materials.Phosphorus.getDust(1),
+ 20,
+ 480,
+ false);
+
+ ItemStack cells = Ic2Items.cell.copy();
+ cells.stackSize = 1;
+ // NH4Cl = HCl + NH3
+ GT_Values.RA.addDistilleryRecipe(
+ cells,
+ WerkstoffLoader.AmmoniumChloride.getFluidOrGas(1000),
+ Materials.HydrochloricAcid.getFluid(1000),
+ Materials.Ammonia.getCells(1),
+ 50,
+ 120,
+ false);
+
+ // N2H4O3 + NaOH = NaNO3 + NH3 + H2O
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(
+ AmmoniumNitrate.get(dust, 9),
+ Materials.SodiumHydroxide.getDust(3),
+ null,
+ Materials.Ammonia.getGas(1000),
+ WerkstoffLoader.SodiumNitrate.get(dust, 5),
+ null,
+ 100,
+ 480);
+
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3), C2 },
+ null,
+ new FluidStack[] { Materials.Ammonia.getGas(1000), Materials.Water.getFluid(1000) },
+ new ItemStack[] { WerkstoffLoader.SodiumNitrate.get(dust, 5) },
+ 100,
+ 480);
+
+ // N2H4O3 + NaOH + H =H2SO4= NH3 + HNO3 + Na + H2O
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { C24, AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3) },
+ new FluidStack[] { Materials.SulfuricAcid.getFluid(1000), Materials.Hydrogen.getGas(1000) },
+ new FluidStack[] { Materials.Ammonia.getGas(1000), Materials.NitricAcid.getFluid(1000),
+ Materials.DilutedSulfuricAcid.getFluid(1000) },
+ new ItemStack[] { Materials.Sodium.getDust(1) },
+ 300,
+ 480);
+
+ // Monomethylhydrazine
+ cells.stackSize = 1;
+ // C7H8 + CH4O = C8H10 + H2O
+ GT_Values.RA.addCrackingRecipe(
+ 1,
+ Materials.Toluene.getFluid(1000),
+ Materials.Methanol.getFluid(1000),
+ OXylene.getFluidOrGas(1000),
+ 600,
+ 4096);
+
+ // 2HNO3 + C3H8 = 2CH3NO2 + 2H2O + C
+ GT_Values.RA.addCrackingRecipe(
+ 2,
+ Materials.Propane.getGas(1000),
+ Materials.NitricAcid.getFluid(2000),
+ Nitromethane.getFluidOrGas(2000),
+ 300,
+ 1920);
+ }
+
+ public static void removeRecipes() {
+ BotRecipes.removeTungstenElectro();
+ }
+
+ public static void removeTungstenElectro() {
+ HashSet<GT_Recipe> toDel = new HashSet<>();
+ ItemStack[] toRemove = { Materials.Scheelite.getDust(1), Materials.Tungstate.getDust(1),
+ WerkstoffLoader.Ferberite.get(dust, 1), WerkstoffLoader.Huebnerit.get(dust, 1) };
+ for (GT_Recipe tRecipe : electrolyzerRecipes.getAllRecipes()) {
+ if (tRecipe.mFakeRecipe) continue;
+ for (int i = 0; i < tRecipe.mInputs.length; i++) {
+ ItemStack tItem = tRecipe.mInputs[i];
+ if (item == null || !GT_Utility.isStackValid(tItem)) continue;
+ for (ItemStack tStack : toRemove) {
+ if (GT_Utility.areStacksEqual(tItem, tStack)) {
+ toDel.add(tRecipe);
+ continue;
+ }
+ }
+ }
+ }
+ electrolyzerRecipes.getBackend()
+ .removeRecipes(toDel);
+ electrolyzerRecipes.getBackend()
+ .reInit();
+ }
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java b/src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java
new file mode 100644
index 0000000000..e24034c663
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/loader/MetaTileEntity_Loader.java
@@ -0,0 +1,4 @@
+package com.elisis.gtnhlanth.loader;
+
+public class MetaTileEntity_Loader {
+}
diff --git a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java
new file mode 100644
index 0000000000..d5c7d63f8d
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java
@@ -0,0 +1,3744 @@
+package com.elisis.gtnhlanth.loader;
+
+import static com.elisis.gtnhlanth.api.recipe.LanthanidesRecipeMaps.digesterRecipes;
+import static com.elisis.gtnhlanth.api.recipe.LanthanidesRecipeMaps.dissolutionTankRecipes;
+import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.*;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes;
+import static gregtech.api.recipe.RecipeMaps.sifterRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.common.items.GT_MetaGenerated_Item_01.registerCauldronCleaningFor;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.simpleWasherRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.vacuumFurnaceRecipes;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.HashSet;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.item.crafting.ShapedRecipes;
+import net.minecraft.item.crafting.ShapelessRecipes;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+import net.minecraftforge.oredict.ShapedOreRecipe;
+import net.minecraftforge.oredict.ShapelessOreRecipe;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+
+import com.elisis.gtnhlanth.Tags;
+import com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool;
+import com.elisis.gtnhlanth.common.register.LanthItemList;
+import com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool;
+import com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement.PlatinumSludgeOverHaul;
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.registry.GameRegistry;
+import goodgenerator.items.MyMaterial;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+
+public class RecipeLoader {
+
+ private static final Materials[] BLACKLIST = null;
+
+ public static void loadGeneral() {
+
+ /* ZIRCONIUM */
+ // ZrCl4
+ // ZrO2 + 4HCl = ZrCl4 + 2H2O
+ GT_Values.RA.addChemicalRecipe(
+ GT_Utility.getIntegratedCircuit(1),
+ WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 3),
+ Materials.HydrochloricAcid.getFluid(4000),
+ Materials.Water.getFluid(2000),
+ WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 5),
+ 300);
+
+ // ZrCl4-H2O
+ GT_Values.RA.addChemicalRecipe(
+ GT_Utility.getIntegratedCircuit(1),
+ WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 5),
+ Materials.Water.getFluid(1000),
+ WerkstoffMaterialPool.ZirconiumTetrachlorideSolution.getFluidOrGas(1000),
+ null,
+ 200);
+
+ // Zr
+ // ZrCl4·H2O + 2Mg = Zr + 2MgCl2
+ GT_Values.RA.addBlastRecipe(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2),
+ WerkstoffMaterialPool.ZirconiumTetrachlorideSolution.getFluidOrGas(1000),
+ null, // No fluid output
+ WerkstoffMaterialPool.Zirconium.get(OrePrefixes.ingotHot, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6),
+ 600,
+ 1920,
+ 4500);
+
+ /* HAFNIUM */
+ // HfCl4
+ // HfO2 + 4HCl = HfCl4 + 2H2O
+ GT_Values.RA.addChemicalRecipe(
+ GT_Utility.getIntegratedCircuit(1),
+ WerkstoffMaterialPool.Hafnia.get(OrePrefixes.dust, 3),
+ Materials.HydrochloricAcid.getFluid(4000),
+ Materials.Water.getFluid(2000),
+ WerkstoffMaterialPool.HafniumTetrachloride.get(OrePrefixes.dust, 5),
+ 300);
+
+ // HfCl4-H2O
+ GT_Values.RA.addChemicalRecipe(
+ GT_Utility.getIntegratedCircuit(1),
+ WerkstoffMaterialPool.HafniumTetrachloride.get(OrePrefixes.dust, 5),
+ Materials.Water.getFluid(1000),
+ WerkstoffMaterialPool.HafniumTetrachlorideSolution.getFluidOrGas(1000),
+ null,
+ 200);
+
+ // LP-Hf
+ // HfCl4 + 2Mg = ??Hf?? + 2MgCl2
+ GT_Values.RA.addBlastRecipe(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2),
+ WerkstoffMaterialPool.HafniumTetrachlorideSolution.getFluidOrGas(1000),
+ null, // No fluid output
+ WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6),
+ 600,
+ 1920,
+ 2700);
+
+ // HfI4
+ // ??Hf?? + 4I = HfI4
+ GT_Values.RA.addChemicalRecipe(
+ GT_Utility.getIntegratedCircuit(1),
+ WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1),
+ WerkstoffMaterialPool.Iodine.getFluidOrGas(4000),
+ null,
+ WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5),
+ 300);
+ GT_Values.RA.addChemicalRecipe(
+ WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1),
+ WerkstoffMaterialPool.Iodine.get(OrePrefixes.dust, 4),
+ null,
+ null,
+ WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5),
+ 300);
+
+ // Hf
+ // HfI4 = Hf + 4I
+ GT_Values.RA.addBlastRecipe(
+ GT_Utility.getIntegratedCircuit(12),
+ WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5),
+ null,
+ WerkstoffMaterialPool.Iodine.getFluidOrGas(4000),
+ WerkstoffMaterialPool.Hafnium.get(OrePrefixes.ingotHot, 1),
+ WerkstoffMaterialPool.HafniumRunoff.get(OrePrefixes.dustTiny, 1),
+ 600,
+ 1920,
+ 3400);
+
+ // Hf * 9
+ GT_Values.RA.addBlastRecipe(
+ GT_Utility.getIntegratedCircuit(13),
+ WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 45),
+ null,
+ WerkstoffMaterialPool.Iodine.getFluidOrGas(36000),
+ WerkstoffMaterialPool.Hafnium.get(OrePrefixes.ingotHot, 9),
+ WerkstoffMaterialPool.HafniumRunoff.get(OrePrefixes.dust, 1),
+ 5400,
+ 1920,
+ 3400);
+
+ // Zirconia-Hafnia
+ // ??HfZr?? = HfO2 + ZrO2
+ GT_Values.RA.addCentrifugeRecipe(
+ WerkstoffMaterialPool.HafniaZirconiaBlend.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ null,
+ WerkstoffMaterialPool.Hafnia.get(OrePrefixes.dust, 3),
+ WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 3),
+ null,
+ null,
+ null,
+ null,
+ new int[] { 10000, 10000 },
+ 600,
+ 1920);
+
+ // Ammonium Nitrate
+ // HNO3 + NH3 = NH4NO3
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(
+ GT_Utility.getIntegratedCircuit(12),
+ Materials.NitricAcid.getCells(1),
+ Materials.Ammonia.getGas(1000),
+ WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1000),
+ Materials.Empty.getCells(1),
+ null,
+ 30,
+ 400);
+
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(12) },
+ new FluidStack[] { Materials.NitricAcid.getFluid(1000), Materials.Ammonia.getGas(1000) },
+ new FluidStack[] { WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1000) },
+ new ItemStack[] {},
+ 30,
+ 400);
+
+ // IODINE-START
+ // SeaweedAsh
+ GT_ModHandler.addSmeltingRecipe(
+ GT_ModHandler.getModItem("harvestcraft", "seaweedItem", 1),
+ WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dustSmall, 1));
+
+ // SeaweedConcentrate
+ GT_Values.RA.addMixerRecipe(
+ WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dust, 2),
+ null,
+ null,
+ null,
+ Materials.DilutedSulfuricAcid.getFluid(1200),
+ WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(1200),
+ Materials.Calcite.getDust(1),
+ 600,
+ 240);
+
+ // SeaweedConcentrate * 4
+ GT_Values.RA.addMixerRecipe(
+ WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dust, 4),
+ null,
+ null,
+ null,
+ Materials.DilutedSulfuricAcid.getFluid(2400),
+ WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(2400),
+ Materials.Calcite.getDust(2),
+ 1200,
+ 240);
+
+ // Iodine
+ GT_Values.RA.addCentrifugeRecipe(
+ Materials.Benzene.getCells(1),
+ null,
+ WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(2000),
+ WerkstoffMaterialPool.SeaweedByproducts.getFluidOrGas(200),
+ Materials.Empty.getCells(1),
+ WerkstoffMaterialPool.Iodine.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ null,
+ null,
+ new int[] { 10000, 10000 },
+ 760,
+ 480);
+
+ // IODINE-END
+
+ // 2MnO2 + 2KOH + KClO3 = 2KMnO4 + H2O + KCl
+ GT_Values.RA.addBlastRecipe(
+ Materials.Pyrolusite.getDust(6),
+ GT_ModHandler.getModItem("dreamcraft", "item.PotassiumHydroxideDust", 6),
+ WerkstoffMaterialPool.PotassiumChlorate.get(OrePrefixes.dust, 5),
+ null,
+ null,
+ Materials.Water.getFluid(1000),
+ WerkstoffMaterialPool.PotassiumPermanganate.get(OrePrefixes.dust, 12),
+ Materials.RockSalt.getDust(2),
+ null,
+ null,
+ 150,
+ 480,
+ 1200);
+
+ // Mn + 2O = MnO2
+ GT_Values.RA.addChemicalRecipe(
+ Materials.Manganese.getDust(1),
+ GT_Utility.getIntegratedCircuit(1),
+ Materials.Oxygen.getGas(2000),
+ null,
+ Materials.Pyrolusite.getDust(3),
+ 40,
+ 30);
+
+ // 6KOH + 6Cl = KClO3 + 5KCl + 3H2O
+ GT_Values.RA.addChemicalRecipe(
+ GT_ModHandler.getModItem("dreamcraft", "item.PotassiumHydroxideDust", 18),
+ GT_Utility.getIntegratedCircuit(3),
+ Materials.Chlorine.getGas(6000),
+ Materials.Water.getFluid(3000),
+ Materials.RockSalt.getDust(10),
+ WerkstoffMaterialPool.PotassiumChlorate.get(OrePrefixes.dust, 5),
+ 40,
+ 30);
+
+ /*
+ * //Fluorosilicic Acid GT_Values.RA.addChemicalRecipe( GT_Utility.getIntegratedCircuit(1),
+ * Materials.SiliconDioxide.getDust(1), Materials.HydrofluoricAcid.getFluid(6000),
+ * WerkstoffMaterialPool.FluorosilicicAcid.getFluidOrGas(1000), null, 300, 600 );
+ */
+ // Sodium Fluorosilicate
+ // 2NaCl + H2SiF6 = 2HCl + Na2SiF6
+ GT_Values.RA.addChemicalRecipe(
+ Materials.Empty.getCells(2),
+ Materials.Salt.getDust(4),
+ WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000),
+ WerkstoffMaterialPool.SodiumFluorosilicate.getFluidOrGas(1000),
+ Materials.HydrochloricAcid.getCells(2),
+ 600,
+ 450);
+ }
+
+ public static void loadLanthanideRecipes() {
+ // Methanol
+ // CH4O + CO + 3O =V2O5= H2C2O4 + H2O
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { MyMaterial.vanadiumPentoxide.get(OrePrefixes.dustTiny, 1) },
+ new FluidStack[] { Materials.Methanol.getFluid(1000), Materials.CarbonMonoxide.getGas(1000),
+ Materials.Oxygen.getGas(3000) },
+ new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(1000), Materials.Water.getFluid(1000) },
+ null,
+ 450,
+ 240);
+
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(9),
+ MyMaterial.vanadiumPentoxide.get(OrePrefixes.dust, 1) },
+ new FluidStack[] { Materials.Methanol.getFluid(9000), Materials.CarbonMonoxide.getGas(9000),
+ Materials.Oxygen.getGas(27000) },
+ new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(9000), Materials.Water.getFluid(9000) },
+ null,
+ 4050,
+ 240);
+
+ // Ethanol
+ // C2H6O + 5O =V2O5= H2C2O4 + 2H2O
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { MyMaterial.vanadiumPentoxide.get(OrePrefixes.dustTiny, 1) },
+ new FluidStack[] { Materials.Ethanol.getFluid(1000), Materials.Oxygen.getGas(5000) },
+ new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(1000), Materials.Water.getFluid(2000) },
+ null,
+ 450,
+ 240);
+
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(9),
+ MyMaterial.vanadiumPentoxide.get(OrePrefixes.dust, 1) },
+ new FluidStack[] { Materials.Ethanol.getFluid(9000), Materials.Oxygen.getGas(45000) },
+ new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(9000), Materials.Water.getFluid(18000) },
+ null,
+ 4050,
+ 240);
+
+ // GT_Values.RA.addChemicalRecipe(
+ // GT_Utility.getIntegratedCircuit(2),
+ // WerkstoffMaterialPool.CeriumDioxide
+ //
+ // )
+
+ // Cerium Oxalate
+ // 2CeCl3 + 3H2C2O4 = 6HCl + Ce2(C2O4)3
+ GT_Values.RA.addChemicalRecipe(
+ GT_Utility.getIntegratedCircuit(1),
+ WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 8),
+ MyMaterial.oxalate.getFluidOrGas(3000),
+ Materials.HydrochloricAcid.getFluid(6000),
+ WerkstoffMaterialPool.CeriumOxalate.get(OrePrefixes.dust, 5),
+ null,
+ 300,
+ 450);
+
+ // Cerium
+ // Ce2O3 = 2Ce + 3O
+ GT_Values.RA.addElectrolyzerRecipe(
+ WerkstoffMaterialPool.CeriumIIIOxide.get(OrePrefixes.dust, 5),
+ null,
+ null,
+ Materials.Oxygen.getFluid(3000),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cerium, 2),
+ null,
+ null,
+ null,
+ null,
+ null,
+ new int[] { 10000 },
+ 150,
+ 120);
+
+ // CHAIN BEGIN
+ // MONAZITE
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.NitricAcid.getFluid(700))
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Monazite, 2))
+ .fluidOutputs(WerkstoffMaterialPool.MuddyRareEarthMonaziteSolution.getFluidOrGas(400))
+ .itemOutputs(Materials.SiliconDioxide.getDust(1))
+ .eut(1920)
+ .duration(400)
+ .specialValue(800)
+ .addTo(digesterRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ Materials.Water.getFluid(10000),
+ WerkstoffMaterialPool.MuddyRareEarthMonaziteSolution.getFluidOrGas(1000))
+ .itemInputs(GT_Utility.getIntegratedCircuit(1), Materials.Saltpeter.getDust(1))
+ .fluidOutputs(WerkstoffMaterialPool.DilutedRareEarthMonaziteMud.getFluidOrGas(11000))
+ .itemOutputs(
+ WerkstoffMaterialPool.HafniaZirconiaBlend.get(OrePrefixes.dustTiny, 4),
+ WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 1),
+ Materials.Monazite.getDustTiny(2))
+ .eut(480)
+ .duration(900)
+ .specialValue(10)
+ .noOptimize()
+ .addTo(dissolutionTankRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ Materials.Water.getFluid(90000),
+ WerkstoffMaterialPool.MuddyRareEarthMonaziteSolution.getFluidOrGas(9000))
+ .itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Saltpeter.getDust(9))
+ .fluidOutputs(WerkstoffMaterialPool.DilutedRareEarthMonaziteMud.getFluidOrGas(99000))
+ .itemOutputs(
+ WerkstoffMaterialPool.HafniaZirconiaBlend.get(OrePrefixes.dust, 4),
+ WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 9),
+ Materials.Monazite.getDust(2))
+ .eut(480)
+ .duration(8100)
+ .specialValue(10)
+ .noOptimize()
+ .addTo(dissolutionTankRecipes);
+
+ sifterRecipes.addRecipe(
+ false,
+ null,
+ new ItemStack[] { WerkstoffMaterialPool.MonaziteSulfate.get(OrePrefixes.dust, 1),
+ Materials.SiliconDioxide.getDust(1), Materials.Rutile.getDust(1),
+ WerkstoffLoader.RedZircon.get(OrePrefixes.dust, 1), Materials.Ilmenite.getDust(1) },
+ null,
+ new int[] { 9000, 7500, 2000, 500, 2000 },
+ new FluidStack[] { WerkstoffMaterialPool.DilutedRareEarthMonaziteMud.getFluidOrGas(1000) },
+ null,
+ 400,
+ 240,
+ 0);
+
+ GT_Values.RA.addMixerRecipe(
+ WerkstoffMaterialPool.MonaziteSulfate.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ null,
+ null,
+ null,
+ Materials.Water.getFluid(6000),
+ WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(7000),
+ null,
+ 480,
+ 400);
+
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(13) },
+ new FluidStack[] { WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(1000),
+ WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(200) },
+ null,
+ new ItemStack[] { WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dustTiny, 3), },
+ 480,
+ 480);
+
+ GT_Values.RA.addMultiblockChemicalRecipe(
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(14) },
+ new FluidStack[] { WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(9000),
+ WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1800) },
+ null,
+ new ItemStack[] { WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dust, 3), },
+ 4320,
+ 480);
+
+ GT_Values.RA.addSifterRecipe(
+ WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dust, 1),
+ new ItemStack[] { WerkstoffMaterialPool.MonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1),
+ WerkstoffMaterialPool.ThoriumPhosphateCake.get(OrePrefixes.dust, 1) },
+ new int[] { 9000, 7000 },
+ 600,
+ 256);
+
+ GT_Values.RA.addBlastRecipe(
+ WerkstoffMaterialPool.ThoriumPhosphateCake.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ null,
+ WerkstoffMaterialPool.ThoriumPhosphateConcentrate.get(OrePrefixes.dust, 1),
+ null,
+ 300,
+ 128,
+ 1500);
+
+ GT_Values.RA.addThermalCentrifugeRecipe(
+ WerkstoffMaterialPool.ThoriumPhosphateConcentrate.get(OrePrefixes.dust),
+ Materials.Thorium.getDust(1),
+ Materials.Phosphate.getDust(1),
+ null,
+ new int[] { 10000, 10000 },
+ 200,
+ 480);
+
+ GT_Values.RA.addChemicalBathRecipe(
+ WerkstoffMaterialPool.MonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1),
+ WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(320),
+ WerkstoffMaterialPool.NeutralizedMonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ new int[] { 10000 },
+ 120,
+ 240);
+
+ GT_Values.RA.addSifterRecipe(
+ WerkstoffMaterialPool.NeutralizedMonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1),
+ new ItemStack[] { WerkstoffMaterialPool.MonaziteRareEarthHydroxideConcentrate.get(OrePrefixes.dust, 1),
+ WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1),
+ WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1) },
+ new int[] { 9000, 5000, 4000 },
+ 800,
+ 480);
+
+ GT_Values.RA.addChemicalBathRecipe(
+ WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1),
+ Materials.HydrofluoricAcid.getFluid(100),
+ WerkstoffMaterialPool.NeutralizedUraniumFiltrate.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ new int[] { 10000 },
+ 360,
+ 120);
+
+ GT_Values.RA.addSifterRecipe(
+ WerkstoffMaterialPool.NeutralizedUraniumFiltrate.get(OrePrefixes.dust, 1),
+ new ItemStack[] { Materials.Uranium.getDust(1), Materials.Uranium.getDust(1), Materials.Uranium.getDust(1),
+ Materials.Uranium235.getDust(1), Materials.Uranium235.getDust(1), },
+ new int[] { 4500, 4000, 3000, 3000, 2000 },
+ 1000,
+ 30);
+
+ GT_Values.RA.addBlastRecipe(
+ WerkstoffMaterialPool.MonaziteRareEarthHydroxideConcentrate.get(OrePrefixes.dust, 1),
+ null,
+ null,
+ null,
+ WerkstoffMaterialPool.DriedMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1),
+ null,
+ 300,
+ 120,
+ 1200);
+
+ GT_Values.RA.addChemicalRecipe(
+ WerkstoffMaterialPool.DriedMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1),
+ null,
+ Materials.NitricAcid.getFluid(500),
+ WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000),
+ null,
+ 500,
+ 480);
+
+ GT_Values.RA.addMixerRecipe(
+ Materials.Water.getCells(1),
+ null,
+ null,
+ null,
+ WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000),
+ WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(1000),
+ Materials.Empty.getCells(1),
+ 200,
+ 120);
+
+ GT_Values.RA.addMixerRecipe(
+ WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 3),
+ null,
+ null,
+ null,
+ WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000),
+ WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(2000),
+ null,
+ 220,
+ 120);
+
+ sifterRecipes.addRecipe(
+ false,
+ null,
+ new ItemStack[] { WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 1) },
+ null,
+ new int[] { 1111 },