aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-06 10:15:09 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-06 10:15:09 +0200
commit509c8d741a7333df2bb64b218bf2baf55ae9370f (patch)
tree13fce97f8076bcb4d2a8835bf0a6bb0ba3dbd276 /src/main
parenta8e54c336b8a5bc8509d173ea438af59f7acf909 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java341
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java188
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