diff options
author | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-09-09 15:47:43 +0200 |
---|---|---|
committer | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-09-09 15:47:43 +0200 |
commit | 033df977c4ecdd80777718fc42ec994b02ab2029 (patch) | |
tree | 5689fff1772ab7f80d5067e8f5e01e3cd4d8351d /src/main | |
parent | 5bdde6428dda70b8fbe60f41a06200adb4a9d2c1 (diff) | |
download | GT5-Unofficial-033df977c4ecdd80777718fc42ec994b02ab2029.tar.gz GT5-Unofficial-033df977c4ecdd80777718fc42ec994b02ab2029.tar.bz2 GT5-Unofficial-033df977c4ecdd80777718fc42ec994b02ab2029.zip |
rebalanced PlatinumStuff
+fixed some recipes
Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>
Former-commit-id: b911c3a4b8b6a94cbd6f40b4d7ad4619b02dce72
Diffstat (limited to 'src/main')
5 files changed, 148 insertions, 105 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/API/WerkstoffAPI.java b/src/main/java/com/github/bartimaeusnek/bartworks/API/WerkstoffAPI.java index a441e38e35..397d949e77 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/API/WerkstoffAPI.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/API/WerkstoffAPI.java @@ -28,7 +28,7 @@ public final class WerkstoffAPI { public Werkstoff getWerkstoff(String aName) throws NoSuchFieldException, IllegalAccessException, ClassNotFoundException { Class w = Class.forName("com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader"); - return (Werkstoff) w.getField(aName).get(w); + return (Werkstoff) w.getField(aName).get(null); } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java index c05c14ced6..01bd75baec 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.WerkstoffLoader; 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; @@ -197,13 +198,12 @@ public final class MainMod { MainMod.addElectricImplosionCompressorRecipes(); MainMod.unificationEnforcer(); + PlatinumSludgeOverHaul.replacePureElements(); if (!extraGasRecipes) { ArrayListMultimap<SubTag, GT_Recipe> toChange = MainMod.getRecipesToChange(NOBLE_GAS, ANAEROBE_GAS); HashSet<ItemStack> noGas = MainMod.getNoGasItems(toChange); 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 612e6a4a4e..d5e88de602 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 @@ -31,6 +31,7 @@ import gregtech.api.interfaces.IColorModulationContainer; import gregtech.api.interfaces.ISubTagContainer; import gregtech.api.util.GT_OreDictUnificator; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import java.nio.ByteBuffer; @@ -40,6 +41,8 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { static final LinkedHashSet<Werkstoff> werkstoffHashSet = new LinkedHashSet<>(); public static final LinkedHashMap<Short, Werkstoff> werkstoffHashMap = new LinkedHashMap<>(); + public static final LinkedHashMap<String, Werkstoff> werkstoffNameHashMap = new LinkedHashMap<>(); + private static final HashSet<Short> idHashSet = new HashSet<>(); private static final Werkstoff.Stats DEFAULT_NULL_STATS = new Werkstoff.Stats(); @@ -168,6 +171,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { } Werkstoff.werkstoffHashSet.add(this); Werkstoff.werkstoffHashMap.put(this.mID, this); + Werkstoff.werkstoffNameHashMap.put(this.defaultName,this); } @@ -395,7 +399,25 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate,0b10000000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stick,0b10000000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rod,0b10000000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stickLong,0b10000000); + + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gearGt,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gearGtSmall,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.bolt,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.screw,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ring,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.spring,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.springSmall,0b100000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rotor,0b100000000); + + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateDouble,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateTriple,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuadruple,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuintuple,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateDense,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotDouble,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotTriple,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotQuadruple,0b1000000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotQuintuple,0b1000000000); } //public byte toGenerateSecondary = 0b0000000; 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 a36a32f986..bd948b032a 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 @@ -36,6 +36,7 @@ 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 com.google.common.collect.HashBiMap; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; @@ -1196,8 +1197,8 @@ public class WerkstoffLoader implements Runnable { public static HashMap<OrePrefixes, BW_MetaGenerated_Items> items = new HashMap<>(); - public static HashMap<Werkstoff, Fluid> fluids = new HashMap<>(); - public static HashMap<Werkstoff, Fluid> molten = new HashMap<>(); + public static HashBiMap<Werkstoff, Fluid> fluids = HashBiMap.create(); + public static HashBiMap<Werkstoff, Fluid> molten = HashBiMap.create(); public static Block BWOres; public boolean registered; @@ -1452,10 +1453,10 @@ public class WerkstoffLoader implements Runnable { public static void runGTItemDataRegistrator(){ HashSet<Materials> toRem = new HashSet<>(); for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) { - Materials werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName(),werkstoff.getDefaultName()); + Materials werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName().replaceAll(" ",""),werkstoff.getDefaultName()); GT_OreDictUnificator.addAssociation(ore,werkstoffBridgeMaterial,new ItemStack(WerkstoffLoader.BWOres,1,werkstoff.getmID()),true); for (OrePrefixes prefixes : values()) { - if (werkstoff.get(prefixes) != null && werkstoff.get(prefixes).getItem() != null) + if ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) != 0 && werkstoff.get(prefixes) != null && werkstoff.get(prefixes).getItem() != null) GT_OreDictUnificator.addAssociation(prefixes, werkstoffBridgeMaterial, werkstoff.get(prefixes), true); } if (werkstoff.getGenerationFeatures().hasCells()) { @@ -1801,7 +1802,7 @@ public class WerkstoffLoader implements Runnable { 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()); + GT_Values.RA.addBlastRecipe(werkstoff.get(dust), GT_Utility.getIntegratedCircuit(11), Materials.Argon.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 { 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()); @@ -1828,7 +1829,7 @@ public class WerkstoffLoader implements Runnable { if (e.toString().equals(werkstoff.getToolTip())){ if (e.mLinkedMaterials.size() > 0) break; - werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName(),werkstoff.getDefaultName()); + werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName().replaceAll(" ",""),werkstoff.getDefaultName()); werkstoffBridgeMaterial.mElement = e; e.mLinkedMaterials.add(werkstoffBridgeMaterial); ElementSet = true; @@ -1934,68 +1935,89 @@ public class WerkstoffLoader implements Runnable { if ((werkstoff.getGenerationFeatures().toGenerate & 0b10000) == 0) return; - if (werkstoff.getStats().isElektrolysis() || werkstoff.getStats().isCentrifuge() || werkstoff.getGenerationFeatures().hasChemicalRecipes()) { - List<FluidStack> flOutputs = new ArrayList<>(); - List<ItemStack> stOutputs = new ArrayList<>(); - HashMap<ISubTagContainer, Pair<Integer, Integer>> tracker = new HashMap<>(); - int cells = 0; - for (Pair<ISubTagContainer, Integer> container : werkstoff.getContents().getValue().toArray(new Pair[0])) { - if (container.getKey() instanceof Materials) { - if (((Materials) container.getKey()).hasCorrespondingGas() || ((Materials) container.getKey()).hasCorrespondingFluid() || ((Materials) container.getKey()).mIconSet == TextureSet.SET_FLUID) { - FluidStack tmpFl = ((Materials) container.getKey()).getGas(1000 * container.getValue()); - if (tmpFl == null || tmpFl.getFluid() == null) { - tmpFl = ((Materials) container.getKey()).getFluid(1000 * container.getValue()); - } - flOutputs.add(tmpFl); - if (flOutputs.size() > 1) { - if (!tracker.containsKey(container.getKey())) { - stOutputs.add(((Materials) container.getKey()).getCells(container.getValue())); - tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1)); - } else { - stOutputs.add(((Materials) container.getKey()).getCells(tracker.get(container.getKey()).getKey() + container.getValue())); - stOutputs.remove(tracker.get(container.getKey()).getValue() + 1); - } - cells += container.getValue(); - } - } - } else if (container.getKey() instanceof Werkstoff) { - if (((Werkstoff) container.getKey()).getStats().isGas() || ((Werkstoff) container.getKey()).getGenerationFeatures().hasCells()) { - FluidStack tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue()); - if (tmpFl == null || tmpFl.getFluid() == null) { - tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue()); - } - flOutputs.add(tmpFl); - if (flOutputs.size() > 1) { - if (!tracker.containsKey(container.getKey())) { - stOutputs.add(((Werkstoff) container.getKey()).get(cell, container.getValue())); - tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1)); - } else { - stOutputs.add(((Werkstoff) container.getKey()).get(cell, tracker.get(container.getKey()).getKey() + container.getValue())); - stOutputs.remove(tracker.get(container.getKey()).getValue() + 1); - } - cells += container.getValue(); - } - } - } - } - ItemStack input = werkstoff.get(cell); - input.stackSize = werkstoff.getContents().getKey(); - stOutputs.add(Materials.Empty.getCells(cells)); - if (werkstoff.getStats().isElektrolysis()) - GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cells > 0 ? Materials.Empty.getCells(cells) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().protons * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30, 0)); - if (werkstoff.getStats().isCentrifuge()) - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cells > 0 ? Materials.Empty.getCells(cells) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().mass * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5, 0)); - if (werkstoff.getGenerationFeatures().hasChemicalRecipes()) { - if (cells > 0) - stOutputs.add(Materials.Empty.getCells(cells)); - GT_Recipe.GT_Recipe_Map.sChemicalRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]),new ItemStack[]{input},null,null,new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null},null,(int) Math.max(1L, Math.abs(werkstoff.getStats().protons * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30,0)); - } - if (werkstoff.getGenerationFeatures().hasMixerRecipes()) { - if (cells > 0) - stOutputs.add(Materials.Empty.getCells(cells)); - GT_Recipe.GT_Recipe_Map.sMixerRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]),new ItemStack[]{input},null,null,new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null},null,(int) Math.max(1L, Math.abs(werkstoff.getStats().mass * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5,0)); - } - } +// if (werkstoff.getStats().isElektrolysis() || werkstoff.getStats().isCentrifuge() || werkstoff.getGenerationFeatures().hasChemicalRecipes()) { +// List<FluidStack> flOutputs = new ArrayList<>(); +// List<ItemStack> stOutputs = new ArrayList<>(); +// HashMap<ISubTagContainer, Pair<Integer, Integer>> tracker = new HashMap<>(); +// int cells = 0; +// for (Pair<ISubTagContainer, Integer> container : werkstoff.getContents().getValue().toArray(new Pair[0])) { +// if (container.getKey() instanceof Materials) { +// if (((Materials) container.getKey()).hasCorrespondingGas() || ((Materials) container.getKey()).hasCorrespondingFluid() || ((Materials) container.getKey()).mIconSet == TextureSet.SET_FLUID) { +// FluidStack tmpFl = ((Materials) container.getKey()).getGas(1000 * container.getValue()); +// if (tmpFl == null || tmpFl.getFluid() == null) { +// tmpFl = ((Materials) container.getKey()).getFluid(1000 * container.getValue()); +// } +// flOutputs.add(tmpFl); +// if (flOutputs.size() > 1) { +// if (!tracker.containsKey(container.getKey())) { +// stOutputs.add(((Materials) container.getKey()).getCells(container.getValue())); +// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1)); +// } else { +// stOutputs.add(((Materials) container.getKey()).getCells(tracker.get(container.getKey()).getKey() + container.getValue())); +// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1); +// } +// cells += container.getValue(); +// } +// } else { +// if (((Materials) container.getKey()).getDust(container.getValue()) == null) +// continue; +// if (!tracker.containsKey(container.getKey())) { +// stOutputs.add(((Materials) container.getKey()).getDust(container.getValue())); +// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1)); +// } else { +// stOutputs.add(((Materials) container.getKey()).getDust(tracker.get(container.getKey()).getKey() + container.getValue())); +// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1); +// } +// } +// } else if (container.getKey() instanceof Werkstoff) { +// if (((Werkstoff) container.getKey()).getStats().isGas() || ((Werkstoff) container.getKey()).getGenerationFeatures().hasCells()) { +// FluidStack tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue()); +// if (tmpFl == null || tmpFl.getFluid() == null) { +// tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue()); +// } +// flOutputs.add(tmpFl); +// if (flOutputs.size() > 1) { +// if (!tracker.containsKey(container.getKey())) { +// stOutputs.add(((Werkstoff) container.getKey()).get(cell, container.getValue())); +// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1)); +// } else { +// stOutputs.add(((Werkstoff) container.getKey()).get(cell, tracker.get(container.getKey()).getKey() + container.getValue())); +// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1); +// } +// cells += container.getValue(); +// } +// } else { +// if (!((Werkstoff) container.getKey()).getGenerationFeatures().hasDusts()) +// continue; +// if (!tracker.containsKey(container.getKey())) { +// stOutputs.add(((Werkstoff) container.getKey()).get(dust, container.getValue())); +// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1)); +// } else { +// stOutputs.add(((Werkstoff) container.getKey()).get(dust, (tracker.get(container.getKey()).getKey() + container.getValue()))); +// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1); +// } +// } +// } +// } +// ItemStack input = werkstoff.get(cell); +// input.stackSize = werkstoff.getContents().getKey(); +// cells += werkstoff.getContents().getKey(); +// stOutputs.add(Materials.Empty.getCells(cells)); +// if (werkstoff.getStats().isElektrolysis()) +// GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cells > 0 ? Materials.Empty.getCells(cells) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().protons * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30, 0)); +// if (werkstoff.getStats().isCentrifuge()) +// GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cells > 0 ? Materials.Empty.getCells(cells) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().mass * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5, 0)); +// if (werkstoff.getGenerationFeatures().hasChemicalRecipes()) { +// if (cells > 0) +// stOutputs.add(Materials.Empty.getCells(cells)); +// GT_Recipe.GT_Recipe_Map.sChemicalRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]),new ItemStack[]{input},null,null,new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null},null,(int) Math.max(1L, Math.abs(werkstoff.getStats().protons * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30,0)); +// } +// if (werkstoff.getGenerationFeatures().hasMixerRecipes()) { +// if (cells > 0) +// stOutputs.add(Materials.Empty.getCells(cells)); +// GT_Recipe.GT_Recipe_Map.sMixerRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]),new ItemStack[]{input},null,null,new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null},null,(int) Math.max(1L, Math.abs(werkstoff.getStats().mass * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5,0)); +// } +// } //Tank "Recipe" GT_Utility.addFluidContainerData(new FluidContainerRegistry.FluidContainerData(new FluidStack(WerkstoffLoader.fluids.get(werkstoff), 1000),werkstoff.get(cell),Materials.Empty.getCells(1))); 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 2a56658e81..78c91fc264 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 @@ -25,12 +25,15 @@ package com.github.bartimaeusnek.bartworks.system.material.processingLoaders; import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Items; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.util.BW_Util; import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.Element; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.ISubTagContainer; import gregtech.api.objects.MaterialStack; import gregtech.api.util.*; @@ -41,8 +44,11 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.IRecipe; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; +import org.apache.commons.lang3.reflect.MethodUtils; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -75,6 +81,8 @@ public class PlatinumSludgeOverHaul { //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); + GT_Values.RA.addMixerRecipe(Materials.NitricAcid.getCells(1),GT_Utility.getIntegratedCircuit(3), null, null, Materials.DilutedSulfuricAcid.getFluid(1000), AquaRegia.getFluidOrGas(2000), Materials.Empty.getCells(1), 30, 30); + GT_Values.RA.addMixerRecipe(Materials.DilutedSulfuricAcid.getCells(1),GT_Utility.getIntegratedCircuit(4), null, null, Materials.NitricAcid.getFluid(1000), AquaRegia.getFluidOrGas(2000), Materials.Empty.getCells(1), 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); @@ -84,16 +92,19 @@ public class PlatinumSludgeOverHaul { for (Werkstoff w : Werkstoff.werkstoffHashMap.values()) if (w.containsStuff(Materials.Sulfur) && (w.containsStuff(Materials.Copper) || w.containsStuff(Materials.Nickel))) { GT_Values.RA.addChemicalRecipe(w.get(crushedPurified), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(150), PTConcentrate.getFluidOrGas(150), null, 250); - GT_Values.RA.addChemicalRecipe(w.get(crushedPurified), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(1150), PTConcentrate.getFluidOrGas(1150), PTResidue.get(dustTiny), 250); + GT_Values.RA.addChemicalRecipe(w.get(crushedPurified), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(2150), PTConcentrate.getFluidOrGas(2150), PTResidue.get(dustTiny,2), 250); } for (Materials m : Materials.values()) if (PlatinumSludgeOverHaul.materialsContains(m, Materials.Sulfur) && (PlatinumSludgeOverHaul.materialsContains(m, Materials.Copper) || PlatinumSludgeOverHaul.materialsContains(m, Materials.Nickel))) { GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified, m, 1), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(150), PTConcentrate.getFluidOrGas(150), null, 250); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified, m, 1), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(1150), PTConcentrate.getFluidOrGas(1150), PTResidue.get(dustTiny), 250); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified, m, 1), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(2150), PTConcentrate.getFluidOrGas(2150), PTResidue.get(dustTiny,2), 250); } //Pt - GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(1000), PTConcentrate.getFluidOrGas(1000), PTResidue.get(dustTiny), 250); - GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{}, new FluidStack[]{PTConcentrate.getFluidOrGas(1000), AmmoniumChloride.getFluidOrGas(1000)}, new FluidStack[]{PDAmmonia.getFluidOrGas(100), Materials.Ammonia.getGas(900)}, new ItemStack[]{PTSaltCrude.get(dustTiny, 8), PTRawPowder.get(dustTiny)}, 600, 30); + GT_Values.RA.addBlastRecipe(PTMetallicPowder.get(dust,3), GT_Utility.getIntegratedCircuit(1), null, null, Materials.Platinum.getNuggets(2), null, 600, 120, Materials.Platinum.mMeltingPoint); + + GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(2000), PTConcentrate.getFluidOrGas(2000), PTResidue.get(dustTiny,2), 250); + GT_Values.RA.addCentrifugeRecipe(PTConcentrate.get(cell),null,AmmoniumChloride.getFluidOrGas(100),PDAmmonia.getFluidOrGas(100),PTSaltCrude.get(dustTiny, 8), PTRawPowder.get(dustTiny),Materials.Empty.getCells(1),null,null,null,null,600,30); + GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{}, new FluidStack[]{PTConcentrate.getFluidOrGas(1000), AmmoniumChloride.getFluidOrGas(100)}, new FluidStack[]{PDAmmonia.getFluidOrGas(100)}, new ItemStack[]{PTSaltCrude.get(dustTiny, 8), PTRawPowder.get(dustTiny)}, 600, 30); GT_Values.RA.addSifterRecipe(PTSaltCrude.get(dust), new ItemStack[]{ PTSaltRefined.get(dust), PTSaltRefined.get(dust), @@ -107,12 +118,12 @@ public class PlatinumSludgeOverHaul { }, new int[]{ 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1500, }, 600, 30); - GT_Values.RA.addBlastRecipe(PTSaltRefined.get(dust), GT_Utility.getIntegratedCircuit(1), null, null, PTMetallicPowder.get(dust), null, 200, 120, 900); + GT_Values.RA.addBlastRecipe(PTSaltRefined.get(dust), GT_Utility.getIntegratedCircuit(1), null, Materials.Chlorine.getGas(500), PTMetallicPowder.get(dust), null, 200, 120, 900); GT_Values.RA.addChemicalRecipe(PTRawPowder.get(dust, 2), Materials.Calcium.getDust(1), null, null, Materials.Platinum.getDust(2), CalciumChloride.get(dust), 30); //Pd GT_Values.RA.addChemicalRecipe(PDMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), PDAmmonia.getFluidOrGas(1000), null, 250); GT_Values.RA.addChemicalRecipe(PDMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), PDAmmonia.getFluidOrGas(1000), null, PDSalt.get(dustTiny, 16), PDRawPowder.get(dustTiny, 2), 250); - GT_Values.RA.addChemicalRecipe(GT_Utility.getIntegratedCircuit(2), null, PDAmmonia.getFluidOrGas(1000), null, PDSalt.get(dustTiny, 9), 250); + GT_Values.RA.addChemicalRecipe(GT_Utility.getIntegratedCircuit(2), null, PDAmmonia.getFluidOrGas(1000), null, PDSalt.get(dust), 250); GT_Values.RA.addSifterRecipe(PDSalt.get(dust), new ItemStack[]{ PDMetallicPowder.get(dust), PDMetallicPowder.get(dust), @@ -130,25 +141,25 @@ 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), null, 30); + // GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust), Materials.Potassium.getDust(2), Materials.Oxygen.getGas(3000), null, PotassiumDisulfate.get(dust,6), 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); //Ru GT_Values.RA.addBlastRecipe(LeachResidue.get(dust, 10), Materials.Saltpeter.getDust(10), Materials.SaltWater.getFluid(1000), GT_ModHandler.getSteam(1000), SodiumRuthenate.get(dust, 3), IrOsLeachResidue.get(dust, 6), 200, 120, 775); GT_Values.RA.addChemicalRecipe(SodiumRuthenate.get(dust, 6), Materials.Chlorine.getCells(3), null, RutheniumTetroxideSollution.getFluidOrGas(9000), Materials.Empty.getCells(3), 300); - GT_Values.RA.addFluidHeaterRecipe(null, RutheniumTetroxideSollution.getFluidOrGas(800), HotRutheniumTetroxideSollution.getFluidOrGas(1600), 300, 480); - GT_Values.RA.addCrackingRecipe(17, RutheniumTetroxideSollution.getFluidOrGas(1000), null, HotRutheniumTetroxideSollution.getFluidOrGas(2000), 150, 480); + GT_Values.RA.addFluidHeaterRecipe(GT_Utility.getIntegratedCircuit(1), RutheniumTetroxideSollution.getFluidOrGas(800), HotRutheniumTetroxideSollution.getFluidOrGas(800), 300, 480); + GT_Values.RA.addCrackingRecipe(17, RutheniumTetroxideSollution.getFluidOrGas(1000), GT_ModHandler.getSteam(1000), HotRutheniumTetroxideSollution.getFluidOrGas(2000), 150, 480); GT_Values.RA.addDistillationTowerRecipe(HotRutheniumTetroxideSollution.getFluidOrGas(9000), new FluidStack[]{ Materials.Water.getFluid(1800), RutheniumTetroxide.getFluidOrGas(7200) }, Materials.Salt.getDust(6), 1500, 480); - GT_Values.RA.addChemicalRecipe(RutheniumTetroxide.get(dust, 1), Materials.HydrochloricAcid.getCells(8), null, Materials.Water.getFluid(2000), Ruthenium.get(dust), Materials.Chlorine.getCells(6), 300); + GT_Values.RA.addChemicalRecipe(RutheniumTetroxide.get(dust, 1), Materials.HydrochloricAcid.getCells(6), null, Materials.Water.getFluid(2000), Ruthenium.get(dust), Materials.Chlorine.getCells(6), 300); //Os GT_Values.RA.addBlastRecipe(IrOsLeachResidue.get(dust, 4), GT_Utility.getIntegratedCircuit(11), Materials.HydrochloricAcid.getFluid(1000), AcidicOsmiumSolution.getFluidOrGas(2000), IrLeachResidue.get(dust, 2), null, 200, 120, 775); GT_Values.RA.addDistillationTowerRecipe(AcidicOsmiumSolution.getFluidOrGas(1000), new FluidStack[]{OsmiumSolution.getFluidOrGas(100), Materials.Water.getFluid(900)}, null, 150, BW_Util.getMachineVoltageFromTier(5)); - GT_Values.RA.addChemicalRecipe(OsmiumSolution.get(cell), Materials.HydrochloricAcid.getCells(8), null, Materials.Water.getFluid(2000), Materials.Osmium.getDust(1), Materials.Chlorine.getCells(6), 300); + GT_Values.RA.addChemicalRecipe(OsmiumSolution.get(cell), Materials.HydrochloricAcid.getCells(6), null, Materials.Water.getFluid(2000), Materials.Osmium.getDust(1), Materials.Chlorine.getCells(7), 300); //Ir GT_Values.RA.addBlastRecipe(IrLeachResidue.get(dust), GT_Utility.getIntegratedCircuit(1), null, null, PGSDResidue.get(dust), IridiumDioxide.get(dust), 200, 120, 775); @@ -157,7 +168,8 @@ public class PlatinumSludgeOverHaul { GT_Values.RA.addChemicalRecipe(IridiumChloride.get(dust), Materials.Calcium.getDust(3), null, CalciumChloride.getFluidOrGas(3000), PGSDResidue2.get(dust), Materials.Iridium.getDust(1), 300, 1920); //Rh - GT_Values.RA.addMixerRecipe(RHSulfate.get(cell, 5), null, null, null, Materials.Water.getFluid(5000), RHSulfateSolution.getFluidOrGas(5000), LeachResidue.get(dustTiny), 300, 30); + GT_Values.RA.addChemicalRecipe(RHSulfate.get(cell, 11), GT_Utility.getIntegratedCircuit(1), Materials.Water.getFluid(10000), Materials.Potassium.getMolten(288),RHSulfateSolution.get(cell,11), LeachResidue.get(dustTiny,10), 300, 30); + GT_Values.RA.addChemicalRecipe(Materials.Zinc.getDust(1), null, RHSulfateSolution.getFluidOrGas(1000), null, ZincSulfate.get(dust), CrudeRhMetall.get(dust), 300); GT_Values.RA.addBlastRecipe(CrudeRhMetall.get(dust), Materials.Salt.getDust(1), Materials.Chlorine.getGas(1000), null, RHSalt.get(dust, 3), null, 300, 120, 600); GT_Values.RA.addMixerRecipe(RHSalt.get(dust, 10), null, null, null, Materials.Water.getFluid(2000), RHSaltSolution.getFluidOrGas(2000), null, 300, 30); @@ -193,7 +205,7 @@ public class PlatinumSludgeOverHaul { for (Object entry : FurnaceRecipes.smelting().getSmeltingList().entrySet()) { Map.Entry realEntry = (Map.Entry) entry; if (GT_Utility.isStackValid(realEntry.getKey()) && BW_Util.checkStackAndPrefix((ItemStack) realEntry.getKey())) - if (!GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mPrefix.equals(dust) && !GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mPrefix.equals(dustTiny)) + if ((!GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mPrefix.equals(dust) && !GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mPrefix.equals(dustTiny)) || !GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mMaterial.mMaterial.equals(Materials.Platinum)) if (GT_Utility.isStackValid(realEntry.getValue()) && BW_Util.checkStackAndPrefix((ItemStack) realEntry.getValue())) if (GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getValue()).mMaterial.mMaterial.equals(Materials.Platinum)) realEntry.setValue(PTMetallicPowder.get(dust)); @@ -214,11 +226,14 @@ public class PlatinumSludgeOverHaul { maploop: for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) { + if (map == GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes || map == GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes) + continue; HashSet toDel = new HashSet(); recipeloop: for (GT_Recipe recipe : map.mRecipeList) { if (recipe.mFakeRecipe) continue maploop; + for (int i = 0; i < recipe.mFluidOutputs.length; i++) { if (map.equals(GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes)) continue maploop; @@ -262,10 +277,6 @@ public class PlatinumSludgeOverHaul { if (PlatinumSludgeOverHaul.isInBlackList(recipe.mInputs[j])) continue recipeloop; } -// if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushed) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedCentrifuged) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedPurified)) { -// int amount = recipe.mOutputs[i].stackSize; -// recipe.mOutputs[i] = PTMetallicPowder.get(dustTiny).splitStack(amount * 11); -// } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dust) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustImpure) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustPure)) { int amount = recipe.mOutputs[i].stackSize; recipe.mOutputs[i] = PTMetallicPowder.get(dust).splitStack(amount); @@ -281,10 +292,6 @@ public class PlatinumSludgeOverHaul { if (PlatinumSludgeOverHaul.isInBlackList(recipe.mInputs[j])) continue recipeloop; } -// if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushed) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedCentrifuged) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedPurified)) { -// int amount = recipe.mOutputs[i].stackSize; -// recipe.mOutputs[i] = PDMetallicPowder.get(dustTiny).splitStack(amount * 11); -// } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dust) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustImpure) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustPure)) { int amount = recipe.mOutputs[i].stackSize; recipe.mOutputs[i] = PDMetallicPowder.get(dust).splitStack(amount); @@ -300,10 +307,6 @@ public class PlatinumSludgeOverHaul { if (PlatinumSludgeOverHaul.isInBlackList(recipe.mInputs[j])) continue recipeloop; } -// if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushed) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedCentrifuged) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedPurified)) { -// int amount = recipe.mOutputs[i].stackSize; -// recipe.mOutputs[i] = IrOsLeachResidue.get(dustTiny).splitStack(amount * 22); -// } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dust) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustImpure) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustPure)) { int amount = recipe.mOutputs[i].stackSize; recipe.mOutputs[i] = PTMetallicPowder.get(dust).splitStack(amount * 4); @@ -319,10 +322,6 @@ public class PlatinumSludgeOverHaul { if (PlatinumSludgeOverHaul.isInBlackList(recipe.mInputs[j])) continue recipeloop; } -// if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushed) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedCentrifuged) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(crushedPurified)) { -// int amount = recipe.mOutputs[i].stackSize; -// recipe.mOutputs[i] = IrOsLeachResidue.get(dustTiny).splitStack(amount * 11); -// } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dust) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustImpure) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustPure)) { int amount = recipe.mOutputs[i].stackSize; recipe.mOutputs[i] = PTMetallicPowder.get(dust).splitStack(amount * 2); @@ -349,28 +348,28 @@ public class PlatinumSludgeOverHaul { if (!BW_Util.checkStackAndPrefix(otpt)) return; Field out = FieldUtils.getDeclaredField(recipe.getClass(), "output", true); - if (out != null && GT_OreDictUnificator.getAssociation(otpt).mMaterial.mMaterial.equals(Materials.Platinum) && GT_OreDictUnificator.getAssociation(otpt).mPrefix == dust) { + if (out != null && GT_Utility.areStacksEqual(otpt,Materials.Platinum.getDust(1),true)) { try { out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize)); } catch (IllegalAccessException e) { e.printStackTrace(); } } - else if (out != null && GT_OreDictUnificator.getAssociation(otpt).mMaterial.mMaterial.equals(Materials.Palladium) && GT_OreDictUnificator.getAssociation(otpt).mPrefix == dust) { + else if (out != null && GT_Utility.areStacksEqual(otpt,Materials.Palladium.getDust(1),true)) { try { out.set(recipe, PDMetallicPowder.get(dust, otpt.stackSize)); } catch (IllegalAccessException e) { e.printStackTrace(); } } - else if (out != null && GT_OreDictUnificator.getAssociation(otpt).mMaterial.mMaterial.equals(Materials.Iridium) && GT_OreDictUnificator.getAssociation(otpt).mPrefix == dust) { + else if (out != null && GT_Utility.areStacksEqual(otpt,Materials.Iridium.getDust(1),true)) { try { out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize * 2)); } catch (IllegalAccessException e) { e.printStackTrace(); } } - else if (out != null && GT_OreDictUnificator.getAssociation(otpt).mMaterial.mMaterial.equals(Materials.Osmium) && GT_OreDictUnificator.getAssociation(otpt).mPrefix == dust) { + else if (out != null && GT_Utility.areStacksEqual(otpt,Materials.Osmium.getDust(1),true)) { try { out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize * 4)); } catch (IllegalAccessException e) { |