aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-08 11:16:32 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-08 11:16:32 +0200
commit5bdde6428dda70b8fbe60f41a06200adb4a9d2c1 (patch)
treeb3afc378431da467ac5b33e0b41ba1192ae41cd8 /src/main
parent1c73a9a064874d64684f300cbd786fd1cbef23ca (diff)
downloadGT5-Unofficial-5bdde6428dda70b8fbe60f41a06200adb4a9d2c1.tar.gz
GT5-Unofficial-5bdde6428dda70b8fbe60f41a06200adb4a9d2c1.tar.bz2
GT5-Unofficial-5bdde6428dda70b8fbe60f41a06200adb4a9d2c1.zip
fixed bugs
+added crafting meta items +added multiple ingot neta items +fixed LuV Tier recipe changer +smaller visual fixes +smaller recipe fixes Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Former-commit-id: d6e740bf94c3c1d79aa9b3368cf84ae32fafce64
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java2
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java9
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java153
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java233
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java6
5 files changed, 255 insertions, 148 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
index 832b37716c..c05c14ced6 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
@@ -42,6 +42,7 @@ import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.Circ
import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.CircuitPartLoader;
import com.github.bartimaeusnek.bartworks.system.material.ThreadedLoader;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.system.material.processingLoaders.AdditionalRecipes;
import com.github.bartimaeusnek.bartworks.system.material.processingLoaders.DownTierLoader;
import com.github.bartimaeusnek.bartworks.system.material.processingLoaders.PlatinumSludgeOverHaul;
import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler;
@@ -202,6 +203,7 @@ public final class MainMod {
MainMod.editRecipes(toChange, noGas);
}
PlatinumSludgeOverHaul.replacePureElements();
+ //new AdditionalRecipes.LuVHullReplacer();
new CircuitImprintLoader().run();
if (classicMode)
new DownTierLoader().run();
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java
index 3ece0e03d3..612e6a4a4e 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java
@@ -520,7 +520,14 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
public boolean hasSimpleMetalWorkingItems() {
return (this.toGenerate & 0b10000000) != 0;
}
-
+ public Werkstoff.GenerationFeatures addCraftingMetalWorkingItems() {
+ this.toGenerate = (byte) (this.toGenerate | 0b100000000);
+ return this;
+ }
+ public Werkstoff.GenerationFeatures addMultipleIngotMetalWorkingItems() {
+ this.toGenerate = (byte) (this.toGenerate | 0b10000000);
+ return this;
+ }
}
public static class Stats {
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
index 157b5ca643..a36a32f986 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
@@ -33,6 +33,7 @@ import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder;
import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler;
import com.github.bartimaeusnek.bartworks.util.BWRecipes;
import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil;
+import com.github.bartimaeusnek.bartworks.util.BW_Util;
import com.github.bartimaeusnek.bartworks.util.Pair;
import com.github.bartimaeusnek.crossmod.thaumcraft.util.ThaumcraftHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
@@ -79,7 +80,14 @@ public class WerkstoffLoader implements Runnable {
public static final SubTag NOBLE_GAS = SubTag.getNewSubTag("NobleGas");
public static final SubTag ANAEROBE_GAS = SubTag.getNewSubTag("AnaerobeGas");
public static final SubTag ANAEROBE_SMELTING = SubTag.getNewSubTag("AnaerobeSmelting");
+ public static final SubTag NOBLE_GAS_SMELTING = SubTag.getNewSubTag("NobleGasSmelting");
public static OrePrefixes cellMolten;
+ public static ItemList rotorMold;
+ public static ItemList rotorShape;
+ public static ItemList smallGearShape;
+ public static ItemList ringMold;
+ public static ItemList boltMold;
+
static {
for (OrePrefixes prefix : OrePrefixes.values()){
@@ -92,6 +100,13 @@ public class WerkstoffLoader implements Runnable {
} else {
WerkstoffLoader.cellMolten.mMaterialGenerationBits = 0b1000000;
}
+ try {
+ WerkstoffLoader.rotorMold = Enum.valueOf(ItemList.class, "Shape_Mold_Rotor");
+ WerkstoffLoader.rotorShape = Enum.valueOf(ItemList.class, "Shape_Extruder_Rotor");
+ WerkstoffLoader.smallGearShape = Enum.valueOf(ItemList.class, "Shape_Extruder_Small_Gear");
+ WerkstoffLoader.ringMold = Enum.valueOf(ItemList.class, "Shape_Mold_Ring");
+ WerkstoffLoader.boltMold = Enum.valueOf(ItemList.class, "Shape_Mold_Bolt");
+ }catch (NullPointerException | IllegalArgumentException e){}
}
//TODO: FREE ID RANGE: 19-32766
@@ -745,7 +760,7 @@ public class WerkstoffLoader implements Runnable {
);
public static final Werkstoff PTRawPowder = new Werkstoff(
Materials.Platinum.getRGBA(),
- "Reprecipated Platinum",
+ "Reprecipitated Platinum",
"PtCl",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
@@ -781,7 +796,7 @@ public class WerkstoffLoader implements Runnable {
);
public static final Werkstoff PDRawPowder = new Werkstoff(
Materials.Palladium.getRGBA(),
- "Reprecipated Palladium",
+ "Reprecipitated Palladium",
subscriptNumbers("Pd2NH4"),
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
@@ -1159,7 +1174,7 @@ public class WerkstoffLoader implements Runnable {
);
public static final Werkstoff ReRh = new Werkstoff(
new short[]{0x77, 0x66, 0x49},
- "Reprecipated Rhodium",
+ "Reprecipitated Rhodium",
subscriptNumbers("Rh2NH4"),
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
@@ -1172,7 +1187,7 @@ public class WerkstoffLoader implements Runnable {
"Rhodium-Plated Palladium",
new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(4500),
Werkstoff.Types.COMPOUND,
- new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addMixerRecipes().addSimpleMetalWorkingItems(),
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addMixerRecipes().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(),
88,
TextureSet.SET_METALLIC,
new Pair<>(Materials.Palladium,3),
@@ -1259,6 +1274,10 @@ public class WerkstoffLoader implements Runnable {
this.addMoltenRecipes(werkstoff);
DebugLog.log("Loading Simple MetalWorking Recipes"+" " +(System.nanoTime()-timepreone));
this.addSimpleMetalRecipes(werkstoff);
+ DebugLog.log("Loading Crafting MetalWorking Recipes"+" " +(System.nanoTime()-timepreone));
+ this.addCraftingMetalRecipes(werkstoff);
+ DebugLog.log("Loading MultipleIngots MetalWorking Recipes"+" " +(System.nanoTime()-timepreone));
+ this.addMultipleMetalRecipes(werkstoff);
if (Loader.isModLoaded("Thaumcraft")) {
DebugLog.log("Loading Aspects"+" " +(System.nanoTime()-timepreone));
ThaumcraftHandler.AspectAdder.addAspectToAll(werkstoff);
@@ -1290,6 +1309,8 @@ public class WerkstoffLoader implements Runnable {
WerkstoffLoader.Calcium.add(WerkstoffLoader.ANAEROBE_SMELTING);
+ WerkstoffLoader.LuVTierMaterial.add(WerkstoffLoader.NOBLE_GAS_SMELTING);
+
//Calcium Smelting block
Materials.Calcium.mBlastFurnaceRequired=true;
@@ -1359,26 +1380,6 @@ public class WerkstoffLoader implements Runnable {
WerkstoffLoader.items.put(ingot, new BW_MetaGenerated_Items(ingot));
WerkstoffLoader.items.put(ingotHot, new BW_MetaGenerated_Items(ingotHot)); //1750
WerkstoffLoader.items.put(nugget, new BW_MetaGenerated_Items(nugget));
-
-
-
-// WerkstoffLoader.items.put(gearGt, new BW_MetaGenerated_Items(gearGt));
-// WerkstoffLoader.items.put(gearGtSmall, new BW_MetaGenerated_Items(gearGtSmall));
-// WerkstoffLoader.items.put(bolt, new BW_MetaGenerated_Items(bolt));
-// WerkstoffLoader.items.put(screw, new BW_MetaGenerated_Items(screw));
-// WerkstoffLoader.items.put(ring, new BW_MetaGenerated_Items(ring));
-// WerkstoffLoader.items.put(spring, new BW_MetaGenerated_Items(spring));
-// WerkstoffLoader.items.put(springSmall, new BW_MetaGenerated_Items(springSmall));
-//
-// WerkstoffLoader.items.put(plateDouble, new BW_MetaGenerated_Items(plateDouble));
-// WerkstoffLoader.items.put(plateTriple, new BW_MetaGenerated_Items(plateTriple));
-// WerkstoffLoader.items.put(plateQuadruple, new BW_MetaGenerated_Items(plateQuadruple));
-// WerkstoffLoader.items.put(plateQuintuple, new BW_MetaGenerated_Items(plateQuintuple));
-// WerkstoffLoader.items.put(plateDense, new BW_MetaGenerated_Items(plateDense));
-// WerkstoffLoader.items.put(ingotDouble, new BW_MetaGenerated_Items(ingotDouble));
-// WerkstoffLoader.items.put(ingotTriple, new BW_MetaGenerated_Items(ingotTriple));
-// WerkstoffLoader.items.put(ingotQuadruple, new BW_MetaGenerated_Items(ingotQuadruple));
-// WerkstoffLoader.items.put(ingotQuintuple, new BW_MetaGenerated_Items(ingotQuintuple));
}
if ((WerkstoffLoader.toGenerateGlobal & 0b100) != 0) {
WerkstoffLoader.items.put(gem, new BW_MetaGenerated_Items(gem));
@@ -1406,14 +1407,34 @@ public class WerkstoffLoader implements Runnable {
WerkstoffLoader.items.put(cellPlasma, new BW_MetaGenerated_Items(cellPlasma));
}
if ((WerkstoffLoader.toGenerateGlobal & 0b1000000) != 0) {
- WerkstoffLoader.items.put(cellMolten, new BW_MetaGenerated_Items(cellMolten));
+ WerkstoffLoader.items.put(WerkstoffLoader.cellMolten, new BW_MetaGenerated_Items(WerkstoffLoader.cellMolten));
}
if ((WerkstoffLoader.toGenerateGlobal & 0b10000000) != 0) {
WerkstoffLoader.items.put(plate, new BW_MetaGenerated_Items(plate));
WerkstoffLoader.items.put(stick, new BW_MetaGenerated_Items(stick));
WerkstoffLoader.items.put(stickLong, new BW_MetaGenerated_Items(stickLong));
}
-
+ if ((WerkstoffLoader.toGenerateGlobal & 0b100000000) != 0) {
+ WerkstoffLoader.items.put(gearGt, new BW_MetaGenerated_Items(gearGt));
+ WerkstoffLoader.items.put(gearGtSmall, new BW_MetaGenerated_Items(gearGtSmall));
+ WerkstoffLoader.items.put(bolt, new BW_MetaGenerated_Items(bolt));
+ WerkstoffLoader.items.put(screw, new BW_MetaGenerated_Items(screw));
+ WerkstoffLoader.items.put(ring, new BW_MetaGenerated_Items(ring));
+ WerkstoffLoader.items.put(spring, new BW_MetaGenerated_Items(spring));
+ WerkstoffLoader.items.put(springSmall, new BW_MetaGenerated_Items(springSmall));
+ WerkstoffLoader.items.put(rotor, new BW_MetaGenerated_Items(rotor));
+ }
+ if ((WerkstoffLoader.toGenerateGlobal & 0b1000000000) != 0) {
+ WerkstoffLoader.items.put(plateDouble, new BW_MetaGenerated_Items(plateDouble));
+ WerkstoffLoader.items.put(plateTriple, new BW_MetaGenerated_Items(plateTriple));
+ WerkstoffLoader.items.put(plateQuadruple, new BW_MetaGenerated_Items(plateQuadruple));
+ WerkstoffLoader.items.put(plateQuintuple, new BW_MetaGenerated_Items(plateQuintuple));
+ WerkstoffLoader.items.put(plateDense, new BW_MetaGenerated_Items(plateDense));
+ WerkstoffLoader.items.put(ingotDouble, new BW_MetaGenerated_Items(ingotDouble));
+ WerkstoffLoader.items.put(ingotTriple, new BW_MetaGenerated_Items(ingotTriple));
+ WerkstoffLoader.items.put(ingotQuadruple, new BW_MetaGenerated_Items(ingotQuadruple));
+ WerkstoffLoader.items.put(ingotQuintuple, new BW_MetaGenerated_Items(ingotQuintuple));
+ }
}
@@ -1470,6 +1491,10 @@ public class WerkstoffLoader implements Runnable {
if (((RecipeInputOreDict) curr.getKey()).input.equalsIgnoreCase("oreNULL")) {
remset.add(curr);
}
+ for (ItemStack stack : curr.getValue().items){
+ if (stack.getItem() instanceof BW_MetaGenerated_Items)
+ remset.add(curr);
+ }
}
}
Recipes.macerator.getRecipes().entrySet().removeAll(remset);
@@ -1579,6 +1604,7 @@ public class WerkstoffLoader implements Runnable {
GT_Recipe.GT_Recipe_Map.sBenderRecipes.add(new BWRecipes.DynamicGTRecipe(true,new ItemStack[]{werkstoff.get(ingot),GT_Utility.getIntegratedCircuit(1)},new ItemStack[]{werkstoff.get(plate)},null,null,null,null, (int) Math.max(werkstoff.getStats().getMass(), 1L), 24,0));
GT_Values.RA.addForgeHammerRecipe(werkstoff.get(ingot,3), werkstoff.get(plate,2), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16);
+ GregTech_API.registerCover(werkstoff.get(plate), new GT_RenderedTexture(werkstoff.getTexSet().mTextures[71], werkstoff.getRGBA(), false), null);
GT_Values.RA.addLatheRecipe(werkstoff.get(ingot), werkstoff.get(stick), werkstoff.get(dustSmall), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1L), 16);
@@ -1586,6 +1612,78 @@ public class WerkstoffLoader implements Runnable {
GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot),ItemList.Shape_Extruder_Plate.get(0),werkstoff.get(plate),(int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 45);
GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot),ItemList.Shape_Extruder_Rod.get(0),werkstoff.get(stick,2),(int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 45);
+
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(ingot),new ItemStack[]{werkstoff.get(dust)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(plate),new ItemStack[]{werkstoff.get(dust)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(stickLong),new ItemStack[]{werkstoff.get(dust)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(stick),new ItemStack[]{werkstoff.get(dustSmall,2)},null,2,8);
+ }
+ }
+
+ private void addCraftingMetalRecipes(Werkstoff werkstoff) {
+ if ((werkstoff.getGenerationFeatures().toGenerate & 0b100000000) != 0) {
+ int tVoltageMultiplier = werkstoff.getStats().meltingPoint >= 2800 ? 60 : 15;
+
+ //bolt
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot), ItemList.Shape_Extruder_Bolt.get(0L), werkstoff.get(bolt,8), (int) Math.max(werkstoff.getStats().getMass() * 2L, 1), 8 * tVoltageMultiplier);
+ GT_Values.RA.addCutterRecipe(werkstoff.get(stick), werkstoff.get(bolt,4), null, (int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 4);
+
+ //screw
+ GT_Values.RA.addLatheRecipe(werkstoff.get(bolt), werkstoff.get(screw),null, (int) Math.max(werkstoff.getStats().getMass() / 8L, 1L), 4);
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(screw), GT_Proxy.tBits, new Object[]{"fX", "X ", 'X', werkstoff.get(bolt)});
+
+ //ring
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot), ItemList.Shape_Extruder_Ring.get(0L), werkstoff.get(ring,4), (int) Math.max(werkstoff.getStats().getMass() * 2L, 1), 6 * tVoltageMultiplier);
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(ring), GT_Proxy.tBits, new Object[]{"h ", "fX", 'X', werkstoff.get(stick)});
+
+ //Gear
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(gearGt), GT_Proxy.tBits, new Object[]{"SPS", "PwP", "SPS", 'P', werkstoff.get(plate), 'S', werkstoff.get(stick)});
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot,4), ItemList.Shape_Extruder_Gear.get(0L), werkstoff.get(gearGt), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1), 8 * tVoltageMultiplier);
+
+ //smallGear
+ if (WerkstoffLoader.smallGearShape != null)
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot), WerkstoffLoader.smallGearShape.get(0L), werkstoff.get(gearGtSmall), (int) werkstoff.getStats().mass, 8 * tVoltageMultiplier);
+ if (ConfigHandler.GTNH)
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(gearGtSmall), GT_Proxy.tBits, new Object[]{" S ", "hPx"," S ", 'S', werkstoff.get(stick), 'P', werkstoff.get(plate)});
+ else
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(gearGtSmall), GT_Proxy.tBits, new Object[]{"P "," h ", 'P', werkstoff.get(plate)});
+
+ //Rotor
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(rotor), GT_Proxy.tBits, new Object[]{"PhP", "SRf", "PdP", 'P', werkstoff.get(plate), 'R', werkstoff.get(ring), 'S', werkstoff.get(screw)});
+ GT_Values.RA.addAssemblerRecipe(werkstoff.get(plate,4), werkstoff.get(ring), Materials.Tin.getMolten(32), werkstoff.get(rotor), 240, 24);
+ GT_Values.RA.addAssemblerRecipe(werkstoff.get(plate,4), werkstoff.get(ring), Materials.Lead.getMolten(48), werkstoff.get(rotor), 240, 24);
+ GT_Values.RA.addAssemblerRecipe(werkstoff.get(plate,4), werkstoff.get(ring), Materials.SolderingAlloy.getMolten(16), werkstoff.get(rotor), 240, 24);
+
+ if (WerkstoffLoader.rotorShape != null)
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot,5), WerkstoffLoader.rotorShape.get(0L), werkstoff.get(rotor), 200, 60);
+
+ //molten -> metal
+ if (werkstoff.getGenerationFeatures().hasMolten()) {
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Gear.get(0L), werkstoff.getMolten(576), werkstoff.get(gearGt), 128, 8);
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Gear_Small.get(0L), werkstoff.getMolten(144), werkstoff.get(gearGtSmall), 16, 8);
+ if (WerkstoffLoader.ringMold != null)
+ GT_Values.RA.addFluidSolidifierRecipe(WerkstoffLoader.ringMold.get(0L), werkstoff.getMolten(36), werkstoff.get(ring), 100, 4 * tVoltageMultiplier);
+ if (WerkstoffLoader.boltMold != null)
+ GT_Values.RA.addFluidSolidifierRecipe(WerkstoffLoader.boltMold.get(0L), werkstoff.getMolten(18), werkstoff.get(bolt), 50, 2 * tVoltageMultiplier);
+
+ if (WerkstoffLoader.rotorMold != null)
+ GT_Values.RA.addFluidSolidifierRecipe(WerkstoffLoader.rotorMold.get(0L), werkstoff.getMolten(612), werkstoff.get(rotor), 100, 60);
+ }
+
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(gearGt),new ItemStack[]{werkstoff.get(dust,4)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(gearGtSmall),new ItemStack[]{werkstoff.get(dust,1)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(rotor),new ItemStack[]{werkstoff.get(dust,4),werkstoff.get(dustSmall)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(bolt),new ItemStack[]{werkstoff.get(dustTiny,1)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(screw),new ItemStack[]{werkstoff.get(dustTiny,1)},null,2,8);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(ring),new ItemStack[]{werkstoff.get(dustSmall,1)},null,2,8);
+ }
+ }
+
+ private void addMultipleMetalRecipes(Werkstoff werkstoff){
+ if ((werkstoff.getGenerationFeatures().toGenerate & 0b1000000000) != 0) {
+ GT_Recipe.GT_Recipe_Map.sBenderRecipes.add(new BWRecipes.DynamicGTRecipe(true,new ItemStack[]{werkstoff.get(ingot),GT_Utility.getIntegratedCircuit(2)},new ItemStack[]{werkstoff.get(plateDouble)},null,null,null,null, (int) Math.max(werkstoff.getStats().getMass() * 2, 1L), 60,0));
+ GregTech_API.registerCover(werkstoff.get(plateDouble), new GT_RenderedTexture(werkstoff.getTexSet().mTextures[72], werkstoff.getRGBA(), false), null);
+ GT_Values.RA.addPulveriserRecipe(werkstoff.get(plateDouble),new ItemStack[]{werkstoff.get(dust,2)},null,2,8);
}
}
@@ -1702,6 +1800,9 @@ public class WerkstoffLoader implements Runnable {
if (werkstoff.contains(WerkstoffLoader.ANAEROBE_SMELTING)){
GT_Values.RA.addBlastRecipe(werkstoff.get(dust),GT_Utility.getIntegratedCircuit(11),Materials.Nitrogen.getGas(1000),null,werkstoff.getStats().meltingPoint < 1750 ? werkstoff.get(ingot) : werkstoff.get(ingotHot),null,(int) Math.max(werkstoff.getStats().getMass() / 40L, 1L) * werkstoff.getStats().meltingPoint, 120, werkstoff.getStats().getMeltingPoint());
}
+ else if (werkstoff.contains(WerkstoffLoader.NOBLE_GAS_SMELTING)) {
+ GT_Values.RA.addBlastRecipe(werkstoff.get(dust), GT_Utility.getIntegratedCircuit(11), WerkstoffLoader.Neon.getFluidOrGas(1000), null, werkstoff.getStats().meltingPoint < 1750 ? werkstoff.get(ingot) : werkstoff.get(ingotHot), null, (int) Math.max(werkstoff.getStats().getMass() / 40L, 1L) * werkstoff.getStats().meltingPoint, 120, werkstoff.getStats().getMeltingPoint());
+ }
else {
GT_Values.RA.addBlastRecipe(werkstoff.get(dust), GT_Utility.getIntegratedCircuit(1), null, null, werkstoff.getStats().meltingPoint < 1750 ? werkstoff.get(ingot) : werkstoff.get(ingotHot), null, (int) Math.max(werkstoff.getStats().getMass() / 40L, 1L) * werkstoff.getStats().meltingPoint, 120, werkstoff.getStats().getMeltingPoint());
if (werkstoff.getStats().meltingPoint <= 1000) {
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
index 0dfd487d20..ea6e5722de 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
@@ -28,6 +28,8 @@ import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
import com.github.bartimaeusnek.bartworks.util.BWRecipes;
import com.github.bartimaeusnek.bartworks.util.BW_Util;
+import cpw.mods.fml.common.Loader;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.ItemData;
@@ -40,10 +42,15 @@ import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.reflect.FieldUtils;
+import org.apache.commons.lang3.reflect.MethodUtils;
import sun.reflect.FieldInfo;
+import java.lang.reflect.Array;
import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -124,139 +131,127 @@ public class AdditionalRecipes implements Runnable {
Materials.SolderingAlloy.getMolten((i + 1) * 144)
}, null, (i + 1) * 1500, BW_Util.getMachineVoltageFromTier(i + 1), CLEANROOM));
}
- AdditionalRecipes.replaceLuVHull();
+ GregTech_API.sAfterGTPostload.add(new AdditionalRecipes.LuVHullReplacer());
AdditionalRecipes.oldGThelperMethod();
}
- private static void replaceLuVHull(){
- Object toRemove = null;
- for (Object obj : CraftingManager.getInstance().getRecipeList()) {
- if (!(obj instanceof GT_Shaped_Recipe))
- continue;
- if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Casing_LuV.get(1))) {
- toRemove = obj;
- break;
- }
- }
- CraftingManager.getInstance().getRecipeList().remove(toRemove);
- toRemove = null;
- List<IRecipe> bufferedRecipeList = null;
- try {
- bufferedRecipeList = (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- assert bufferedRecipeList != null;
- for (Object obj : bufferedRecipeList) {
- if (!(obj instanceof GT_Shaped_Recipe))
- continue;
- if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Casing_LuV.get(1))) {
- toRemove = obj;
- break;
- }
- }
- bufferedRecipeList.remove(toRemove);
- try {
- Map<GT_ItemStack, ItemData> map = (Map<GT_ItemStack, ItemData>) FieldUtils.getDeclaredField(GT_OreDictUnificator.class, "sItemStack2DataMap", true).get(null);
- ItemData data = map.get(new GT_ItemStack(ItemList.Casing_LuV.get(1)));
- data.mMaterial.mMaterial = WerkstoffLoader.LuVTierMaterial.getBridgeMaterial();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- GT_ModHandler.addCraftingRecipe(ItemList.Casing_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"PPP", "PwP", "PPP", 'P', WerkstoffLoader.LuVTierMaterial.get(plate)});
- for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings){
- for (GT_Recipe recipe : map.mRecipeList){
-
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Casing_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Casing_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
-
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Hull_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Hull_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
-
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Casing_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Casing_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Casing_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Casing_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
-
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Hull_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Hull_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Hull_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Hull_LuV.get(1),false))
- AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ public static class LuVHullReplacer implements Runnable {
+ public void run() {
+ List<IRecipe> bufferedRecipeList = null;
+ try {
+ bufferedRecipeList = (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
}
- }
+ assert bufferedRecipeList != null;
- for (Object obj : CraftingManager.getInstance().getRecipeList()) {
- if (!(obj instanceof GT_Shaped_Recipe))
- continue;
- if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Hull_LuV.get(1))) {
- toRemove = obj;//AdditionalRecipes.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(),GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
- break;
+ HashSet<ItemStack> LuVMachines = new HashSet<>();
+ OrePrefixes[] LuVMaterialsGenerated = {dust, ingot, plate, stick, stickLong, rotor, plateDouble, plateDense};
+ for (ItemList item : ItemList.values()) {
+ if (item.toString().contains("LuV") && item.hasBeenSet())
+ LuVMachines.add(item.get(1));
}
- }
- CraftingManager.getInstance().getRecipeList().remove(toRemove);
- for (Object obj : bufferedRecipeList) {
- if (!(obj instanceof GT_Shaped_Recipe))
- continue;
- if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Hull_LuV.get(1))) {
- toRemove = obj;//AdditionalRecipes.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(),GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
- break;
+ if (Loader.isModLoaded("dreamcraft")) {
+ try {
+ Class customItemListClass = Class.forName("com.dreammaster.gthandler.CustomItemList");
+ Method hasnotBeenSet = MethodUtils.getAccessibleMethod(customItemListClass, "hasBeenSet");
+ Method get = MethodUtils.getAccessibleMethod(customItemListClass, "get", long.class, Object[].class);
+ for (Enum customItemList : (Enum[]) FieldUtils.getField(customItemListClass, "$VALUES", true).get(null)) {
+ if (customItemList.toString().contains("LuV") && (boolean) hasnotBeenSet.invoke(customItemList))
+ LuVMachines.add((ItemStack) get.invoke(customItemList, 1, new Object[0]));
+ }
+ } catch (IllegalAccessException | ClassNotFoundException | InvocationTargetException e) {
+ e.printStackTrace();
+ }
+ }
+ GT_ModHandler.addCraftingRecipe(ItemList.Casing_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"PPP", "PwP", "PPP", 'P', WerkstoffLoader.LuVTierMaterial.get(plate)});
+ for (ItemStack stack : LuVMachines) {
+ for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) {
+ for (GT_Recipe recipe : map.mRecipeList) {
+ for (OrePrefixes prefixes : LuVMaterialsGenerated) {
+ if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, stack, false)) {
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, stack, false)) {
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ }
+ if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, stack, false)) {
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidInputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidOutputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ }
+ if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, stack, false)) {
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidInputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidOutputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ }
+ }
+ }
+ for (OrePrefixes prefixes : LuVMaterialsGenerated) {
+ for (Object obj : CraftingManager.getInstance().getRecipeList()) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (GT_Utility.areStacksEqual(((GT_Shaped_Recipe) obj).getRecipeOutput(), stack, true)) {
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(), GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ }
+ for (Object obj : bufferedRecipeList) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (GT_Utility.areStacksEqual(((GT_Shaped_Recipe) obj).getRecipeOutput(), stack, true)) {
+ AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(), GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ }
+ }
}
- }
- bufferedRecipeList.remove(toRemove);
- try {
- Map<GT_ItemStack, ItemData> map = (Map<GT_ItemStack, ItemData>) FieldUtils.getDeclaredField(GT_OreDictUnificator.class, "sItemStack2DataMap", true).get(null);
- ItemData data = map.get(new GT_ItemStack(ItemList.Hull_LuV.get(1)));
- data.mMaterial.mMaterial = WerkstoffLoader.LuVTierMaterial.getBridgeMaterial();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
}
- GT_ModHandler.addCraftingRecipe(ItemList.Hull_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"KPK", "CHC", 'P', WerkstoffLoader.LuVTierMaterial.get(plate), 'K',Materials.Polytetrafluoroethylene.getPlates(1), 'C', GT_OreDictUnificator.get(cableGt01, Materials.VanadiumGallium,1L), 'H',ItemList.Casing_LuV});
- }
- private static boolean doStacksCointainAndReplace(FluidStack[] stacks, FluidStack stack, boolean replace, Fluid... replacement){
- boolean replaced = false;
- for (int i = 0; i < stacks.length; i++) {
- if (GT_Utility.areFluidsEqual(stack, stacks[i]))
- if (!replace)
- return true;
- else {
- int amount = stacks[i].amount;
- stacks[i] = new FluidStack(replacement[0],amount);
- replaced = true;
- }
+ private static boolean doStacksCointainAndReplace(FluidStack[] stacks, FluidStack stack, boolean replace, Fluid... replacement) {
+ boolean replaced = false;
+ for (int i = 0; i < stacks.length; i++) {
+ if (GT_Utility.areFluidsEqual(stack, stacks[i]))
+ if (!replace)
+ return true;
+ else {
+ int amount = stacks[i].amount;
+ stacks[i] = new FluidStack(replacement[0], amount);
+ replaced = true;
+ }
+ }
+ return replaced;
}
- return replaced;
- }
- private static boolean doStacksCointainAndReplace(Object[] stacks, ItemStack stack, boolean replace, ItemStack... replacement){
- boolean replaced = false;
- for (int i = 0; i < stacks.length; i++) {
- if (!GT_Utility.isStackValid(stacks[i])){
- continue;
+
+ private static boolean doStacksCointainAndReplace(Object[] stacks, ItemStack stack, boolean replace, ItemStack... replacement) {
+ boolean replaced = false;
+ for (int i = 0; i < stacks.length; i++) {
+ if (!GT_Utility.isStackValid(stacks[i])) {
+ if (stacks[i] instanceof ArrayList && ((ArrayList)stacks[i]).size() > 0) {
+ if (GT_Utility.areStacksEqual(stack, (ItemStack) ((ArrayList)stacks[i]).get(0), true))
+ if (!replace)
+ return true;
+ else {
+ int amount = ((ItemStack) ((ArrayList)stacks[i]).get(0)).stackSize;
+ stacks[i] = new ArrayList<>();
+ ((ArrayList)stacks[i]).add(replacement[0].splitStack(amount));
+ replaced = true;
+ }
+
+ } else
+ continue;
+ } else if (GT_Utility.areStacksEqual(stack, (ItemStack) stacks[i], true))
+ if (!replace)
+ return true;
+ else {
+ int amount = ((ItemStack) stacks[i]).stackSize;
+ stacks[i] = replacement[0].splitStack(amount);
+ replaced = true;
+ }
}
- else if (GT_Utility.areStacksEqual(stack, (ItemStack) stacks[i]))
- if (!replace)
- return true;
- else {
- stacks[i] = replacement[0];
- replaced = true;
- }
+ return replaced;
}
- return replaced;
}
-
private static void oldGThelperMethod(){
//manual override for older GT
Werkstoff werkstoff = WerkstoffLoader.Oganesson;
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java
index 0f45f7ceec..2a56658e81 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java
@@ -71,9 +71,11 @@ public class PlatinumSludgeOverHaul {
//FormicAcid
GT_Values.RA.addChemicalRecipe(Materials.CarbonMonoxide.getCells(1), Materials.SodiumHydroxide.getDust(1), null, null, Sodiumformate.get(cell), null, 15);
GT_Values.RA.addChemicalRecipe(Sodiumformate.get(cell, 2), GT_Utility.getIntegratedCircuit(1), Materials.SulfuricAcid.getFluid(1000), null, FormicAcid.get(cell, 2), Sodiumsulfate.get(dust), 15);
- GT_Values.RA.addChemicalRecipe(Materials.SulfuricAcid.getCells(2), GT_Utility.getIntegratedCircuit(1), Sodiumformate.getFluidOrGas(1000), FormicAcid.getFluidOrGas(2000), Materials.Empty.getCells(2), Sodiumsulfate.get(dust), 15);
+ GT_Values.RA.addChemicalRecipe(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Sodiumformate.getFluidOrGas(2000), FormicAcid.getFluidOrGas(2000), Materials.Empty.getCells(1), Sodiumsulfate.get(dust), 15);
//AquaRegia
GT_Values.RA.addMixerRecipe(Materials.DilutedSulfuricAcid.getCells(1), Materials.NitricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, null, AquaRegia.get(cell, 2), 30, 30);
+ GT_Values.RA.addMixerRecipe(Materials.DilutedSulfuricAcid.getCells(1), Materials.NitricAcid.getCells(1), GT_Utility.getIntegratedCircuit(2), null, null, AquaRegia.getFluidOrGas(2000), Materials.Empty.getCells(2), 30, 30);
+
//AmmoniumCloride
GT_Values.RA.addChemicalRecipe(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.HydrochloricAcid.getFluid(1000), null, AmmoniumChloride.get(cell, 1), null, 15);
GT_Values.RA.addChemicalRecipe(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), AmmoniumChloride.getFluidOrGas(1000), Materials.Empty.getCells(1), null, 15);
@@ -128,7 +130,7 @@ public class PlatinumSludgeOverHaul {
GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{PDRawPowder.get(dust, 2)}, new FluidStack[]{FormicAcid.getFluidOrGas(4000)}, new FluidStack[]{Materials.Ammonia.getGas(2000), Materials.Ethylene.getGas(1000), Materials.Water.getFluid(1000)}, new ItemStack[]{Materials.Palladium.getDust(2)}, 250, 30);
GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust, 2), Materials.Hydrogen.getCells(1), null, Materials.SulfuricAcid.getFluid(2000), Materials.Sodium.getDust(1), Materials.Empty.getCells(3), 30);
//K2S2O7
- GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust), Materials.Potassium.getDust(2), Materials.Oxygen.getGas(3000), null, PotassiumDisulfate.get(dust), Materials.Empty.getCells(1), 30);
+ GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust), Materials.Potassium.getDust(2), Materials.Oxygen.getGas(3000), null, PotassiumDisulfate.get(dust), null, 30);
//Rh/Os/Ir/Ru
GT_Values.RA.addBlastRecipe(PTResidue.get(dust), GT_Utility.getIntegratedCircuit(11), PotassiumDisulfate.getMolten(1440), RHSulfate.getFluidOrGas(1440), LeachResidue.get(dust), null, 200, 120, 775);