diff options
author | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-09-06 10:15:09 +0200 |
---|---|---|
committer | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-09-06 10:15:09 +0200 |
commit | 509c8d741a7333df2bb64b218bf2baf55ae9370f (patch) | |
tree | 13fce97f8076bcb4d2a8835bf0a6bb0ba3dbd276 /src/main | |
parent | a8e54c336b8a5bc8509d173ea438af59f7acf909 (diff) | |
download | GT5-Unofficial-509c8d741a7333df2bb64b218bf2baf55ae9370f.tar.gz GT5-Unofficial-509c8d741a7333df2bb64b218bf2baf55ae9370f.tar.bz2 GT5-Unofficial-509c8d741a7333df2bb64b218bf2baf55ae9370f.zip |
fixed weird behavior of autogenerated recipes
added Ruthenium, Iridium, Osmium and Rhodium chain
Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>
Former-commit-id: ea0d26a9cceed1004f6eb2c6c2f3779faabc0505
Diffstat (limited to 'src/main')
2 files changed, 499 insertions, 30 deletions
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 269a258809..e4d744921f 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 @@ -710,7 +710,7 @@ public class WerkstoffLoader implements Runnable { ); public static final Werkstoff AquaRegia = new Werkstoff( new short[]{0xff,0xb1,0x32}, - "AquaRegia", + "Aqua Regia", new Werkstoff.Stats(), Werkstoff.Types.MIXTURE, new Werkstoff.GenerationFeatures().disable().addCells(), @@ -721,7 +721,7 @@ public class WerkstoffLoader implements Runnable { new Pair<>(Materials.NitricAcid,1) ); public static final Werkstoff PTResidue = new Werkstoff( - Materials.Platinum.getRGBA(), + new short[]{0x64,0x63,0x2E}, "Platinum Residue", new Werkstoff.Stats(), Werkstoff.Types.MIXTURE, @@ -757,7 +757,7 @@ public class WerkstoffLoader implements Runnable { ); public static final Werkstoff PDAmmonia = new Werkstoff( Materials.Palladium.getRGBA(), - "Palladium enriched Ammonia", + "Palladium Enriched Ammonia", new Werkstoff.Stats(), Werkstoff.Types.MIXTURE, new Werkstoff.GenerationFeatures().disable().addCells(), @@ -805,7 +805,7 @@ public class WerkstoffLoader implements Runnable { ); public static final Werkstoff Sodiumformate = new Werkstoff( new short[]{0xff,0xaa,0xaa}, - "Sodium formate", + "Sodium Formate", "HCOONa", new Werkstoff.Stats(), Werkstoff.Types.COMPOUND, @@ -818,7 +818,7 @@ public class WerkstoffLoader implements Runnable { ); public static final Werkstoff Sodiumsulfate = new Werkstoff( new short[]{0xff,0xff,0xff}, - "Sodium sulfate", + "Sodium Sulfate", new Werkstoff.Stats().setElektrolysis(true), Werkstoff.Types.COMPOUND, new Werkstoff.GenerationFeatures().disable().onlyDust(), @@ -845,10 +845,10 @@ public class WerkstoffLoader implements Runnable { ); public static final Werkstoff PotassiumDisulfate = new Werkstoff( new short[]{0xfb,0xbb,0x66}, - "PotassiumDisulfate", + "Potassium Disulfate", new Werkstoff.Stats().setElektrolysis(true), Werkstoff.Types.COMPOUND, - new Werkstoff.GenerationFeatures().disable().onlyDust().addChemicalRecipes(), + new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addChemicalRecipes(), 59, TextureSet.SET_DULL, //No Byproducts @@ -856,8 +856,8 @@ public class WerkstoffLoader implements Runnable { new Pair<>(Materials.Sulfur,2), new Pair<>(Materials.Oxygen,7) ); - public static final Werkstoff PHLESSResidue = new Werkstoff( - Materials.Platinum.getRGBA(), + public static final Werkstoff LeachResidue = new Werkstoff( + new short[]{0x64, 0x46, 0x29}, "Leach Residue", new Werkstoff.Stats(), Werkstoff.Types.MIXTURE, @@ -868,36 +868,306 @@ public class WerkstoffLoader implements Runnable { ); public static final Werkstoff RHSulfate = new Werkstoff( new short[]{0xee,0xaa,0x55}, - "Rh Sulfate", + "Rhodium Sulfate", new Werkstoff.Stats().setGas(true), Werkstoff.Types.COMPOUND, new Werkstoff.GenerationFeatures().disable().addCells(), 61, - TextureSet.SET_ROUGH + TextureSet.SET_FLUID //No Byproducts ); public static final Werkstoff RHSulfateSolution = new Werkstoff( new short[]{0xff,0xbb,0x66}, - "Rh Sulfate Solution", + "Rhodium Sulfate Solution", new Werkstoff.Stats(), Werkstoff.Types.MIXTURE, new Werkstoff.GenerationFeatures().disable().addCells(), 62, - TextureSet.SET_ROUGH + TextureSet.SET_FLUID //No Byproducts ); public static final Werkstoff CalciumChloride = new Werkstoff( new short[]{0xff,0xff,0xff}, - "Calcium chloride", + "Calcium Chloride", new Werkstoff.Stats().setElektrolysis(true), Werkstoff.Types.COMPOUND, - new Werkstoff.GenerationFeatures().disable().onlyDust(), + new Werkstoff.GenerationFeatures().disable().onlyDust().addCells(), 63, TextureSet.SET_DULL, new Pair<>(Materials.Calcium,1), new Pair<>(Materials.Chlorine,2) //No Byproducts ); + public static final Werkstoff Ruthenium = new Werkstoff( + new short[]{0x64,0x64,0x64}, + "Ruthenium", + "Ru", + new Werkstoff.Stats().setBlastFurnace(true).setMeltingPoint(2607).setMass(Element.Ru.getMass()).setProtons(Element.Ru.mProtons), + Werkstoff.Types.ELEMENT, + new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().enforceUnification(), + 64, + TextureSet.SET_METALLIC + //No Byproducts + ); + public static final Werkstoff SodiumRuthenate = new Werkstoff( + new short[]{0x3a,0x40,0xcb}, + "Sodium Ruthenate", + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 65, + TextureSet.SET_SHINY, + new Pair<>(Materials.Sodium,2), + new Pair<>(Ruthenium,1), + new Pair<>(Materials.Oxygen,3) + //No Byproducts + ); + public static final Werkstoff RutheniumTetroxide = new Werkstoff( + new short[]{0xc7,0xc7,0xc7}, + "Ruthenium Tetroxide", + new Werkstoff.Stats().setMeltingPoint(313), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable().onlyDust().addCells(), + 66, + TextureSet.SET_DULL, + new Pair<>(Ruthenium,1), + new Pair<>(Materials.Oxygen,4) + //No Byproducts + ); + public static final Werkstoff HotRutheniumTetroxideSollution= new Werkstoff( + new short[]{0xc7,0xc7,0xc7}, + "Hot Ruthenium Tetroxide Sollution", + "???", + new Werkstoff.Stats().setGas(true).setMeltingPoint(700), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable().addCells(), + 67, + TextureSet.SET_FLUID, + new Pair<>(Ruthenium,1), + new Pair<>(Materials.Oxygen,4), + new Pair<>(Materials.Chlorine,2), + new Pair<>(Materials.Sodium,2), + new Pair<>(Materials.Water,2) + //No Byproducts + ); + public static final Werkstoff RutheniumTetroxideSollution = new Werkstoff( + new short[]{0xc7,0xc7,0xc7}, + "Ruthenium Tetroxide Sollution", + "???", + new Werkstoff.Stats().setMeltingPoint(313), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable().addCells(), + 68, + TextureSet.SET_FLUID, + new Pair<>(Ruthenium,1), + new Pair<>(Materials.Oxygen,4), + new Pair<>(Materials.Chlorine,2), + new Pair<>(Materials.Sodium,2), + new Pair<>(Materials.Water,2) + //No Byproducts + ); + public static final Werkstoff IrOsLeachResidue = new Werkstoff( + new short[]{0x64, 0x46, 0x29}, + "Rarest Metal Residue", + "???", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 69, + TextureSet.SET_ROUGH + //No Byproducts + ); + public static final Werkstoff IrLeachResidue = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Iridium Metal Residue", + "???", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 70, + TextureSet.SET_ROUGH + //No Byproducts + ); + public static final Werkstoff PGSDResidue = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Sludge Dust Residue", + new Werkstoff.Stats().setCentrifuge(true), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 71, + TextureSet.SET_DULL, + new Pair<>(Materials.SiliconDioxide,3), + new Pair<>(Materials.Gold,2) + ); + public static final Werkstoff AcidicOsmiumSolution = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Acidic Osmium Solution", + "???", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().addCells(), + 72, + TextureSet.SET_FLUID, + new Pair<>(Materials.Osmium,1), + new Pair<>(Materials.HydrochloricAcid,1) + ); + public static final Werkstoff IridiumDioxide = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Iridium Dioxide", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 73, + TextureSet.SET_FLUID, + new Pair<>(Materials.Iridium,1), + new Pair<>(Materials.Oxygen,2) + ); + public static final Werkstoff OsmiumSolution = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Osmium Solution", + "???", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().addCells(), + 74, + TextureSet.SET_FLUID, + new Pair<>(Materials.Osmium,1), + new Pair<>(Materials.Hydrogen,1) + ); + public static final Werkstoff AcidicIridiumSolution = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Acidic Iridium Solution", + "???", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().addCells(), + 75, + TextureSet.SET_FLUID, + new Pair<>(Materials.Iridium,1), + new Pair<>(Materials.Hydrogen,1) + ); + public static final Werkstoff IridiumChloride = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Iridium Chloride", + subscriptNumbers("IrCl3"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 76, + TextureSet.SET_LAPIS, + new Pair<>(Materials.Iridium,1), + new Pair<>(Materials.Chlorine,3) + ); + public static final Werkstoff PGSDResidue2 = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Metallic Sludge Dust Residue", + new Werkstoff.Stats().setCentrifuge(true), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 77, + TextureSet.SET_DULL, + new Pair<>(Materials.Nickel,1), + new Pair<>(Materials.Copper,1) + ); + public static final Werkstoff Rhodium = new Werkstoff( + new short[]{0xF4, 0xF4, 0xF4}, + "Rhodium", + "Rh", + new Werkstoff.Stats().setProtons(Element.Rh.mProtons).setMass(Element.Rh.getMass()).setBlastFurnace(true).setMeltingPoint(2237), + Werkstoff.Types.ELEMENT, + new Werkstoff.GenerationFeatures().disable().onlyDust().addMetalItems().addMolten().enforceUnification(), + 78, + TextureSet.SET_METALLIC + ); + public static final Werkstoff CrudeRhMetall = new Werkstoff( + new short[]{0x66, 0x66, 0x66}, + "Crude Rhodium Metall", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 79, + TextureSet.SET_DULL + ); + public static final Werkstoff RHSalt = new Werkstoff( + new short[]{0x84, 0x84, 0x84}, + "Rhodium Salt", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 80, + TextureSet.SET_GEM_VERTICAL + ); + public static final Werkstoff RHSaltSolution = new Werkstoff( + new short[]{0x66, 0x77, 0x88}, + "Rhodium Salt Solution", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().addCells(), + 81, + TextureSet.SET_FLUID + ); + public static final Werkstoff SodiumNitrate = new Werkstoff( + new short[]{0x84, 0x66, 0x84}, + "Sodium Nitrate", + subscriptNumbers("NaNO3"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust().addChemicalRecipes(), + 82, + TextureSet.SET_ROUGH, + new Pair<>(Materials.Sodium,1), + new Pair<>(Materials.NitricAcid,1) + ); + public static final Werkstoff RHNitrate = new Werkstoff( + new short[]{0x77, 0x66, 0x49}, + "Rhodium Nitrate", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 83, + TextureSet.SET_QUARTZ + ); + public static final Werkstoff ZincSulfate = new Werkstoff( + new short[]{0x84, 0x66, 0x49}, + "Zinc Sulfate", + new Werkstoff.Stats().setElektrolysis(true), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 84, + TextureSet.SET_QUARTZ, + new Pair<>(Materials.Zinc,1), + new Pair<>(Materials.Sulfur,1), + new Pair<>(Materials.Oxygen,4) + ); + public static final Werkstoff RhFilterCake = new Werkstoff( + new short[]{0x77, 0x66, 0x49}, + "Rhodium Filter Cake", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 85, + TextureSet.SET_QUARTZ + ); + public static final Werkstoff RHFilterCakeSolution = new Werkstoff( + new short[]{0x66, 0x77, 0x88}, + "Rhodium Filter Cake Solution", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().addCells(), + 86, + TextureSet.SET_FLUID + ); + public static final Werkstoff ReRh = new Werkstoff( + new short[]{0x77, 0x66, 0x49}, + "Reprecipated Rhodium", + "RERh", + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable().onlyDust(), + 87, + TextureSet.SET_QUARTZ + ); + public static HashMap<OrePrefixes, BW_MetaGenerated_Items> items = new HashMap<>(); @@ -1119,8 +1389,20 @@ public class WerkstoffLoader implements Runnable { } public static void runGTItemDataRegistrator(){ + HashSet<Materials> toRem = new HashSet<>(); for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) { - GT_OreDictUnificator.addAssociation(ore,Materials._NULL,new ItemStack(WerkstoffLoader.BWOres,1,werkstoff.getmID()),true); + Materials werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName(),werkstoff.getDefaultName()); + GT_OreDictUnificator.addAssociation(ore,werkstoffBridgeMaterial,new ItemStack(WerkstoffLoader.BWOres,1,werkstoff.getmID()),true); + toRem.add(werkstoffBridgeMaterial); + } + try { + Field f = Materials.class.getDeclaredField("MATERIALS_MAP"); + f.setAccessible(true); + Map<String, Materials> MATERIALS_MAP = (Map<String, Materials>) f.get(null); + for (Materials o : toRem) + MATERIALS_MAP.remove(o.mName); + } catch (NoSuchFieldException | IllegalAccessException | ClassCastException e) { + e.printStackTrace(); } } @@ -1296,18 +1578,18 @@ public class WerkstoffLoader implements Runnable { ItemStack input = werkstoff.get(dust); input.stackSize = werkstoff.getContents().getKey(); if (werkstoff.getStats().isElektrolysis()) - GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.addRecipe(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); + 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.addRecipe(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); + 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.addRecipe(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); + 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.addRecipe(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); + 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)); } } @@ -1508,18 +1790,18 @@ public class WerkstoffLoader implements Runnable { input.stackSize = werkstoff.getContents().getKey(); stOutputs.add(Materials.Empty.getCells(cells)); if (werkstoff.getStats().isElektrolysis()) - GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.addRecipe(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); + 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.addRecipe(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); + 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.addRecipe(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); + 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.addRecipe(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); + 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)); } } @@ -1529,6 +1811,11 @@ public class WerkstoffLoader implements Runnable { GT_Values.RA.addFluidCannerRecipe(Materials.Empty.getCells(1), werkstoff.get(cell), new FluidStack(fluids.get(werkstoff),1000), GT_Values.NF); GT_Values.RA.addFluidCannerRecipe(werkstoff.get(cell), Materials.Empty.getCells(1), GT_Values.NF, new FluidStack(fluids.get(werkstoff),1000)); + if ((werkstoff.getGenerationFeatures().toGenerate & 0b1) != 0){ + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(dust),null,werkstoff.getFluidOrGas(1000),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + GT_Values.RA.addFluidSolidifierRecipe(GT_Utility.getIntegratedCircuit(1), werkstoff.getFluidOrGas(1000), werkstoff.get(dust), werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + } + if (werkstoff.getType().equals(Werkstoff.Types.ELEMENT)) { Materials werkstoffBridgeMaterial = null; boolean ElementSet = false; @@ -1580,6 +1867,10 @@ public class WerkstoffLoader implements Runnable { GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), werkstoff.getMolten(144), werkstoff.get(ingot), werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); //GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Block.get(0), werkstoff.getMolten(144), werkstoff.get(block), werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Nugget.get(0), werkstoff.getMolten(16), werkstoff.get(nugget), werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); - } + } else if ((werkstoff.getGenerationFeatures().toGenerate & 0b1) != 0 && (werkstoff.getGenerationFeatures().toGenerate & 0b10) == 0){ + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(dust),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(dustSmall),null,werkstoff.getMolten(36),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(dustTiny),null,werkstoff.getMolten(16),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + } } }
\ No newline at end of file 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 67bf92e8de..3d1f916a91 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 @@ -23,14 +23,13 @@ package com.github.bartimaeusnek.bartworks.system.material.processingLoaders; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; - import com.github.bartimaeusnek.bartworks.util.BW_Util; -import cpw.mods.fml.common.registry.GameRegistry; 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.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; @@ -38,6 +37,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraftforge.fluids.FluidStack; +import java.util.HashSet; import java.util.Map; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.*; @@ -56,6 +56,7 @@ public class PlatinumSludgeOverHaul { GT_Values.RA.addChemicalRecipe(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(11), Materials.HydrochloricAcid.getFluid(1000),null,AmmoniumCloride.get(cell,1),null,15); GT_Values.RA.addChemicalRecipe(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11), Materials.Ammonia.getGas(1000),AmmoniumCloride.getFluidOrGas(1000),Materials.Empty.getCells(1),null,15); + //base sollution 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(11), AquaRegia.getFluidOrGas(150), PTConcentrate.getFluidOrGas(150), null, 250); @@ -66,6 +67,7 @@ public class PlatinumSludgeOverHaul { GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified,m,1), GT_Utility.getIntegratedCircuit(11), 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(dust), 250); } + //Pt GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(11), AquaRegia.getFluidOrGas(1000), PTConcentrate.getFluidOrGas(1000), PTResidue.get(dust), 250); GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{},new FluidStack[]{PTConcentrate.getFluidOrGas(1000),AmmoniumCloride.getFluidOrGas(1000)},new FluidStack[]{PDAmmonia.getFluidOrGas(1000)},new ItemStack[]{PTSaltCrude.get(dustTiny,8),PTRawPowder.get(dustTiny)},600,30); GT_Values.RA.addSifterRecipe(PTSaltCrude.get(dust),new ItemStack[]{ @@ -83,6 +85,7 @@ public class PlatinumSludgeOverHaul { },600,30); GT_Values.RA.addBlastRecipe(PTSaltRefined.get(dust),null,null,null,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(11), PDAmmonia.getFluidOrGas(1000), null,PDSalt.get(dustTiny,16),PDRawPowder.get(dustTiny,2), 250); GT_Values.RA.addChemicalRecipe(GT_Utility.getIntegratedCircuit(10),null,PDAmmonia.getFluidOrGas(1000), null, PDSalt.get(dustTiny,9), 250); GT_Values.RA.addSifterRecipe(PDSalt.get(dust),new ItemStack[]{ @@ -98,9 +101,58 @@ public class PlatinumSludgeOverHaul { },new int[]{ 1000,1000,1000,1000,1000,1000,1000,1000,500, },600,30); - GT_Values.RA.addChemicalRecipe(PDRawPowder.get(dust,2), GT_Utility.getIntegratedCircuit(11), FormicAcid.getFluidOrGas(4000), Materials.Ammonium.getGas(2000),Materials.Palladium.getDust(2),Materials.Ethylene.getDust(1), 250); + GT_Values.RA.addChemicalRecipeForBasicMachineOnly(PDRawPowder.get(dust,2), Materials.Empty.getCells(1), FormicAcid.getFluidOrGas(4000), Materials.Ammonia.getGas(2000),Materials.Palladium.getDust(2),Materials.Ethylene.getCells(1), 250,30); + 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(cell,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(cell,1),Materials.Potassium.getDust(2),Materials.Oxygen.getGas(3000),null,PotassiumDisulfate.get(dust),Materials.Empty.getCells(1),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),Materials.Saltpeter.getDust(8),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(800),600,480); + //int circuitConfig, FluidStack aInput, FluidStack aInput2, FluidStack aOutput, int aDuration, int aEUt + GT_Values.RA.addCrackingRecipe(17,RutheniumTetroxideSollution.getFluidOrGas(1000),null,HotRutheniumTetroxideSollution.getFluidOrGas(1000),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); + //Os + GT_Values.RA.addBlastRecipe(IrOsLeachResidue.get(dust),GT_Utility.getIntegratedCircuit(11),Materials.HydrochloricAcid.getFluid(1000), AcidicOsmiumSolution.getFluidOrGas(1000), IrLeachResidue.get(dust),null,200,120,775); + GT_Values.RA.addDistillationTowerRecipe(AcidicOsmiumSolution.getFluidOrGas(1000),new FluidStack[]{OsmiumSolution.getFluidOrGas(100),Materials.Water.getFluid(900)},null,600,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); + //Ir + GT_Values.RA.addBlastRecipe(IrLeachResidue.get(dust),GT_Utility.getIntegratedCircuit(1),null, null,PGSDResidue.get(dust),IridiumDioxide.get(dust),200,120,775); + GT_Values.RA.addChemicalRecipe(IridiumDioxide.get(dust),Materials.HydrochloricAcid.getCells(1),null,AcidicIridiumSolution.getFluidOrGas(1000),Materials.Empty.getCells(1),null,300); + GT_Values.RA.addChemicalRecipe(AcidicIridiumSolution.get(cell),AmmoniumCloride.get(cell,3),null,Materials.Ammonia.getGas(3000),Materials.Empty.getCells(4),IridiumChloride.get(dust),300); + 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),null,null,null,Materials.Water.getFluid(1000),RHSulfateSolution.getFluidOrGas(1000),LeachResidue.get(dustSmall),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),null,null,null,Materials.Water.getFluid(1000),RHSaltSolution.getFluidOrGas(1000),null,300,30); + GT_Values.RA.addChemicalRecipe(SodiumNitrate.get(dust),GT_Utility.getIntegratedCircuit(11),RHSaltSolution.getFluidOrGas(1000),null,RHNitrate.get(dust),Materials.Salt.getDust(1),300); + GT_Values.RA.addSifterRecipe(RHNitrate.get(dust),new ItemStack[]{ + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + RhFilterCake.get(dustTiny), + },new int[]{ + 1000,1000,1000,1000,1000,1000,1000,1000,500, + },600,30); + GT_Values.RA.addMixerRecipe(RhFilterCake.get(dust),null,null,null,Materials.Water.getFluid(1000),RHFilterCakeSolution.getFluidOrGas(1000),null,300,30); + GT_Values.RA.addChemicalRecipe(GT_Utility.getIntegratedCircuit(10),null,RHFilterCakeSolution.getFluidOrGas(1000),null,ReRh.get(dust),null,300); + GT_Values.RA.addChemicalRecipe(ReRh.get(dust),Materials.Empty.getCells(1),Materials.HydrochloricAcid.getFluid(1000),Materials.Chlorine.getGas(1000),Rhodium.get(dust),Materials.Ammonia.getCells(1),300); } @@ -127,13 +179,42 @@ public class PlatinumSludgeOverHaul { } maploop: for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) { - for (GT_Recipe recipe : map.mRecipeList) { + 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; + if (GT_Utility.areFluidsEqual(Ruthenium.getMolten(1), recipe.mFluidOutputs[i])) + toDel.add(recipe); + else if (GT_Utility.areFluidsEqual(Rhodium.getMolten(1), recipe.mFluidOutputs[i])) + toDel.add(recipe); + } for (int i = 0; i < recipe.mOutputs.length; i++) { + if (!GT_Utility.isStackValid(recipe.mOutputs[i])) + continue; + if (BW_Util.areStacksEqualOrNull(Ruthenium.get(dust), recipe.mOutputs[i]) || BW_Util.areStacksEqualOrNull(Ruthenium.get(dustImpure), recipe.mOutputs[i]) || BW_Util.areStacksEqualOrNull(Ruthenium.get(dustPure), recipe.mOutputs[i])) { + if (!BW_Util.areStacksEqualOrNull(Ruthenium.get(ingot), recipe.mInputs[0])) { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = LeachResidue.get(dust, amount); + } + } + if (BW_Util.areStacksEqualOrNull(Rhodium.get(dust), recipe.mOutputs[i]) || BW_Util.areStacksEqualOrNull(Rhodium.get(dustImpure), recipe.mOutputs[i]) || BW_Util.areStacksEqualOrNull(Rhodium.get(dustPure), recipe.mOutputs[i])) { + if (!BW_Util.areStacksEqualOrNull(Rhodium.get(ingot), recipe.mInputs[0])) { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = CrudeRhMetall.get(dust, amount); + } + } if (!BW_Util.checkStackAndPrefix(recipe.mOutputs[i])) continue; + //Pt if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial.equals(Materials.Platinum)) { + for (int j = 0; j < recipe.mInputs.length; j++) { + if (BW_Util.checkStackAndPrefix(recipe.mInputs[j])) + 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); @@ -148,6 +229,11 @@ public class PlatinumSludgeOverHaul { recipe.mOutputs[i] = PTMetallicPowder.get(dustTiny).splitStack(amount); } } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial.equals(Materials.Palladium)) { + for (int j = 0; j < recipe.mInputs.length; j++) { + if (BW_Util.checkStackAndPrefix(recipe.mInputs[j])) + 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); @@ -161,11 +247,103 @@ public class PlatinumSludgeOverHaul { int amount = recipe.mOutputs[i].stackSize; recipe.mOutputs[i] = PDMetallicPowder.get(dustTiny).splitStack(amount); } + } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial.equals(Materials.Osmium)) { + for (int j = 0; j < recipe.mInputs.length; j++) { + if (BW_Util.checkStackAndPrefix(recipe.mInputs[j])) + 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] = IrOsLeachResidue.get(dust).splitStack(amount * 2); + } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustSmall)) { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = IrOsLeachResidue.get(dustSmall).splitStack(amount * 2); + } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustTiny)) { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = IrOsLeachResidue.get(dustTiny).splitStack(amount * 2); + } + } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial.equals(Materials.Iridium)) { + for (int j = 0; j < recipe.mInputs.length; j++) { + if (BW_Util.checkStackAndPrefix(recipe.mInputs[j])) + 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] = IrOsLeachResidue.get(dust).splitStack(amount); + } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustSmall)) { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = IrOsLeachResidue.get(dustSmall).splitStack(amount); + } else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustTiny)) { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = IrOsLeachResidue.get(dustTiny).splitStack(amount); + } } } } + map.mRecipeList.removeAll(toDel); } PlatinumSludgeOverHaul.runHelperrecipes(); } - + + private static final OrePrefixes[] OPWHITELIST = { + dust, + dustTiny, + dustSmall, + dustPure, + dustImpure, + dustRefined, + crateGtDust, + ore, + oreBasalt, + oreBlackgranite, + oreDense, + oreEnd, + oreEndstone, + oreMarble, + oreNether, + oreNetherrack, + oreNormal, + orePoor, + oreRedgranite, + oreRich, + oreSmall, + oreGem, + denseore, + crushed, + crushedPurified, + crushedCentrifuged, + gem, + gemFlawed, + gemExquisite, + gemFlawless, + gemChipped, + crateGtGem, + }; + + private static final Materials[] BLACKLIST = { + Materials.HSSS, + Materials.EnderiumBase, + Materials.Osmiridium, + Materials.get("Uraniumtriplatinid"), + Materials.get("Tetranaquadahdiindiumhexaplatiumosminid"), + Materials.get("Longasssuperconductornameforuvwire"), + }; + + private static boolean isInBlackList(ItemStack stack){ + if (!BW_Util.checkStackAndPrefix(stack)) + return false; + for (Materials m : PlatinumSludgeOverHaul.BLACKLIST){ + if (GT_OreDictUnificator.getAssociation(stack).mMaterial.mMaterial.equals(m)) + return true; + } + return false; + } }
\ No newline at end of file |