aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-07 13:23:58 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-07 13:23:58 +0200
commit1c73a9a064874d64684f300cbd786fd1cbef23ca (patch)
tree6dcc9e14884cdd15b2d41268e3458dcdb6e69a0e /src/main
parentc6b938f6c98156b1b452032a98cf1214c3656a17 (diff)
downloadGT5-Unofficial-1c73a9a064874d64684f300cbd786fd1cbef23ca.tar.gz
GT5-Unofficial-1c73a9a064874d64684f300cbd786fd1cbef23ca.tar.bz2
GT5-Unofficial-1c73a9a064874d64684f300cbd786fd1cbef23ca.zip
lot of fixes
+fixed translation for asembly line machines +fixed UnificationEnforcer +made diode recipes use new LuV Material +use my own prefixLogic +fixed my prefixLogic +added plate, stick and stickLong to my Werkstoffs +made LuV Hulls/LuV Casings use my LuV Material +fixed wrong outputs of nerfed dusts +fixed crop recipes give out pure metal +fixed crafting recipes give out pure metal +added Sodiumformate recipe Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Former-commit-id: 88e0e27dc697559c7ea2b455a557f3dfa5f807b8
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java28
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java29
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java9
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java66
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java57
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java228
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java306
7 files changed, 483 insertions, 240 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
index b3cd4aca0c..832b37716c 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
@@ -150,7 +150,6 @@ public final class MainMod {
MinecraftForge.EVENT_BUS.register(serverEventHandler);
// FMLCommonHandler.instance().bus().register(serverEventHandler);
}
- new LoaderRegistry().run();
if (ConfigHandler.BioLab)
new BioLabLoader().run();
if (ConfigHandler.newStuff) {
@@ -159,6 +158,7 @@ public final class MainMod {
else
INSTANCE.runInit();
}
+ new LoaderRegistry().run();
}
@Mod.EventHandler
@@ -179,10 +179,10 @@ public final class MainMod {
INSTANCE.run();
GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.electricimplosioncompressor","Electric Implosions?");
GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.electricimplosioncompressor.desc","Basically a giant Hammer that presses Stuff - No more TNT!");
- GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.DEHP","Heat from below!");
- GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.DEHP.desc","Get ALL the thermal energy!");
- GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.CircuitAssemblyLine","Cheaper Circuits?");
- GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.CircuitAssemblyLine.desc","Well, yes, but actually no...");
+ GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.dehp","Heat from below!");
+ GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.dehp.desc","Get ALL the thermal energy!");
+ GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.circuitassemblyline","Cheaper Circuits?");
+ GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.circuitassemblyline.desc","Well, yes, but actually no...");
}
}
@Mod.EventHandler
@@ -251,24 +251,30 @@ public final class MainMod {
if (GT_Utility.areStacksEqual(recipe.mInputs[i], toReplace)) {
if (removal)
toRem.add(recipe);
- else
- recipe.mInputs[i] = replacement;
+ else {
+ int amount = recipe.mInputs[i].stackSize;
+ recipe.mInputs[i] = replacement.splitStack(amount);
+ }
}
}
for (int i = 0; i < recipe.mOutputs.length; i++) {
if (GT_Utility.areStacksEqual(recipe.mOutputs[i], toReplace)) {
if (removal)
toRem.add(recipe);
- else
- recipe.mOutputs[i] = replacement;
+ else {
+ int amount = recipe.mOutputs[i].stackSize;
+ recipe.mOutputs[i] = replacement.splitStack(amount);
+ }
}
}
if (recipe.mSpecialItems instanceof ItemStack) {
if (GT_Utility.areStacksEqual((ItemStack) recipe.mSpecialItems, toReplace)) {
if (removal)
toRem.add(recipe);
- else
- recipe.mSpecialItems = replacement;
+ else {
+ int amount = ((ItemStack) recipe.mSpecialItems).stackSize;
+ recipe.mSpecialItems = replacement.splitStack(amount);
+ }
}
}
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java
index 5426e20a99..9519d67aee 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java
@@ -27,10 +27,13 @@ import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEnti
import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_ManualTrafo;
import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_THTR;
import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_Windmill;
+import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
import com.github.bartimaeusnek.bartworks.util.BWRecipes;
import com.github.bartimaeusnek.bartworks.util.BW_Util;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
+import gregtech.api.interfaces.ISubTagContainer;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
@@ -293,7 +296,7 @@ public class RecipeLoader implements Runnable {
);
Materials[] cables = {Materials.Lead, Materials.Tin, Materials.AnnealedCopper, Materials.Gold, Materials.Aluminium, Materials.Tungsten, Materials.VanadiumGallium, Materials.Naquadah, Materials.NaquadahAlloy, Materials.Superconductor};
- Materials[] hulls = {Materials.WroughtIron, Materials.Steel, Materials.Aluminium, Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, Materials.Chrome, Materials.Iridium, Materials.Osmium, Materials.Naquadah};
+ ISubTagContainer[] hulls = {Materials.WroughtIron, Materials.Steel, Materials.Aluminium, Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, WerkstoffLoader.LuVTierMaterial, Materials.Iridium, Materials.Osmium, Materials.Naquadah};
ItemStack[] bats = {ItemList.Battery_Hull_LV.get(1L), ItemList.Battery_Hull_MV.get(1L), ItemList.Battery_Hull_HV.get(1L)};
ItemStack[] chreac = {ItemList.Machine_MV_ChemicalReactor.get(1L), ItemList.Machine_HV_ChemicalReactor.get(1L), ItemList.Machine_EV_ChemicalReactor.get(1L)};
@@ -318,7 +321,7 @@ public class RecipeLoader implements Runnable {
for (int i = 0; i < GT_Values.VN.length; i++) {
try {
Materials cable = cables[i];
- Materials hull = hulls[i];
+ ItemStack hull = hulls[i] instanceof Materials ? GT_OreDictUnificator.get(OrePrefixes.plate, hulls[i], 1L) : ((Werkstoff) hulls[i]).get(OrePrefixes.plate);
ItemStack machinehull = ItemList.MACHINE_HULLS[i].get(1L);
GT_ModHandler.addCraftingRecipe(
@@ -329,7 +332,7 @@ public class RecipeLoader implements Runnable {
"WCW",
"PWP",
'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
});
GT_ModHandler.addCraftingRecipe(
@@ -341,7 +344,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt12, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -354,7 +357,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt12, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -367,7 +370,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt08, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -380,7 +383,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt08, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -393,7 +396,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt04, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -406,7 +409,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt04, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -419,7 +422,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt02, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -432,7 +435,7 @@ public class RecipeLoader implements Runnable {
"PDP",
'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.cableGt02, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -446,7 +449,7 @@ public class RecipeLoader implements Runnable {
'H', ItemList.Circuit_Parts_Coil.get(1L),
'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
@@ -460,7 +463,7 @@ public class RecipeLoader implements Runnable {
'H', ItemList.Circuit_Parts_Coil.get(1L),
'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)),
'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L),
- 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L),
+ 'P', hull,
'C', machinehull
}
);
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java
index d3bd73964b..5da4d63e25 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java
@@ -24,6 +24,7 @@ package com.github.bartimaeusnek.bartworks.system.material;
import com.github.bartimaeusnek.bartworks.API.IRadMaterial;
import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler;
+import com.github.bartimaeusnek.bartworks.system.log.DebugLog;
import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder;
import com.github.bartimaeusnek.bartworks.util.ChatColorHelper;
import com.github.bartimaeusnek.bartworks.util.Pair;
@@ -76,9 +77,9 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa
for (int i = 0; i < this.aNumToGen; i++) {
ItemStack tStack = new ItemStack(this, 1, i);
Werkstoff w = werkstoffHashMap.get((short) i);
- if (w == null || ((w.getGenerationFeatures().blacklist & orePrefixes.mMaterialGenerationBits) != 0) )
+ if (w == null || ((w.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) != 0) )
continue;
- if ((w.getGenerationFeatures().toGenerate & orePrefixes.mMaterialGenerationBits) == 0 && orePrefixes.mMaterialGenerationBits != 0)
+ if ((w.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0 && Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes) != 0)
continue;
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", this.getDefaultLocalization(w));
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip());
@@ -153,12 +154,12 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa
public final void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) {
for (int i = 0; i < this.aNumToGen; i++) {
Werkstoff werkstoff = werkstoffHashMap.get((short) i);
- if (werkstoff != null && ((werkstoff.getGenerationFeatures().toGenerate & this.orePrefixes.mMaterialGenerationBits) != 0) && ((werkstoff.getGenerationFeatures().blacklist & this.orePrefixes.mMaterialGenerationBits) == 0)) {
+ if (werkstoff != null && ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) != 0) && ((werkstoff.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0)) {
ItemStack tStack = new ItemStack(this, 1, i);
aList.add(tStack);
}
}
- super.getSubItems(var1, aCreativeTab, aList);
+ //super.getSubItems(var1, aCreativeTab, aList);
}
@Override
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 83aeae3afc..3ece0e03d3 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
@@ -58,6 +58,15 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
private final Werkstoff.GenerationFeatures generationFeatures;
private final short mID;
private final TextureSet texSet;
+ private Materials bridgeMaterial;
+
+ public Materials getBridgeMaterial() {
+ return this.bridgeMaterial;
+ }
+
+ public void setBridgeMaterial(Materials bridgeMaterial) {
+ this.bridgeMaterial = bridgeMaterial;
+ }
public static void init(){
Werkstoff.default_null_Werkstoff = new Werkstoff(new short[3], "_NULL", "Default null Werkstoff", Werkstoff.DEFAULT_NULL_STATS, Werkstoff.Types.UNDEFINED, Werkstoff.DEFAULT_NULL_GENERATION_FEATURES, -1, TextureSet.SET_NONE);
@@ -354,7 +363,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
molten 1000000
crafting metal 10000000 (sticks, plates)
meta crafting metal 100000000 (gears, screws, bolts, springs)
- multiple ingotWorth stuff 1000000000 (double, triple, quadrupe, ingot/plates)
+ multiple ingotWorth stuff 1000000000 (double, triple, quadruple, ingot/plates)
*/
public short toGenerate = 0b0001001;
public static final HashMap<OrePrefixes,Integer> prefixLogic = new HashMap<>();
@@ -363,30 +372,30 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
for (OrePrefixes p : OrePrefixes.values()){
Werkstoff.GenerationFeatures.prefixLogic.put(p,0);
}
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dust,1);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustTiny,1);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustSmall,1);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingot,10);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotHot,10);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.nugget,10);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gem,100);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawed,100);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemExquisite,100);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemChipped,100);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawless,100);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ore,1000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustImpure,1000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustPure,1000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushed,1000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedPurified,1000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedCentrifuged,1000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell,10000);
- Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,1000000);
- Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,1000000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate,10000000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stick,10000000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rod,10000000);
- Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stickLong,10000000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dust,0b1);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustTiny,0b1);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustSmall,0b1);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingot,0b10);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotHot,0b10);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.nugget,0b10);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gem,0b100);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawed,0b100);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemExquisite,0b100);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemChipped,0b100);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawless,0b100);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ore,0b1000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustImpure,0b1000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustPure,0b1000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushed,0b1000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedPurified,0b1000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedCentrifuged,0b1000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell,0b10000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000);
+ 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);
}
//public byte toGenerateSecondary = 0b0000000;
@@ -504,6 +513,13 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
this.toGenerate = (byte) (this.toGenerate | 0x4);
return this;
}
+ public Werkstoff.GenerationFeatures addSimpleMetalWorkingItems() {
+ this.toGenerate = (byte) (this.toGenerate | 0b10000000);
+ return this;
+ }
+ public boolean hasSimpleMetalWorkingItems() {
+ return (this.toGenerate & 0b10000000) != 0;
+ }
}
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 26f4783a0f..157b5ca643 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
@@ -33,7 +33,6 @@ import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder;
import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler;
import com.github.bartimaeusnek.bartworks.util.BWRecipes;
import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil;
-import com.github.bartimaeusnek.bartworks.util.BW_Util;
import com.github.bartimaeusnek.bartworks.util.Pair;
import com.github.bartimaeusnek.crossmod.thaumcraft.util.ThaumcraftHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
@@ -49,6 +48,7 @@ import gregtech.api.objects.GT_Fluid;
import gregtech.api.objects.GT_MultiTexture;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.*;
+import gregtech.common.GT_Proxy;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.RecipeInputOreDict;
@@ -1168,11 +1168,11 @@ public class WerkstoffLoader implements Runnable {
TextureSet.SET_QUARTZ
);
public static final Werkstoff LuVTierMaterial = new Werkstoff(
- new short[]{0xff, 0xee, 0xee},
+ Materials.Chrome.getRGBA(),
"Rhodium-Plated Palladium",
new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(4500),
Werkstoff.Types.COMPOUND,
- new Werkstoff.GenerationFeatures().disable().onlyDust().addMetalItems().addMixerRecipes(),
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addMixerRecipes().addSimpleMetalWorkingItems(),
88,
TextureSet.SET_METALLIC,
new Pair<>(Materials.Palladium,3),
@@ -1257,6 +1257,8 @@ public class WerkstoffLoader implements Runnable {
this.addCellRecipes(werkstoff);
DebugLog.log("Loading Meltdown Recipes"+" " +(System.nanoTime()-timepreone));
this.addMoltenRecipes(werkstoff);
+ DebugLog.log("Loading Simple MetalWorking Recipes"+" " +(System.nanoTime()-timepreone));
+ this.addSimpleMetalRecipes(werkstoff);
if (Loader.isModLoaded("Thaumcraft")) {
DebugLog.log("Loading Aspects"+" " +(System.nanoTime()-timepreone));
ThaumcraftHandler.AspectAdder.addAspectToAll(werkstoff);
@@ -1358,10 +1360,8 @@ public class WerkstoffLoader implements Runnable {
WerkstoffLoader.items.put(ingotHot, new BW_MetaGenerated_Items(ingotHot)); //1750
WerkstoffLoader.items.put(nugget, new BW_MetaGenerated_Items(nugget));
-// WerkstoffLoader.items.put(plate, new BW_MetaGenerated_Items(plate));
-// WerkstoffLoader.items.put(rod, new BW_MetaGenerated_Items(rod));
-// WerkstoffLoader.items.put(stickLong, new BW_MetaGenerated_Items(stickLong));
-//
+
+
// WerkstoffLoader.items.put(gearGt, new BW_MetaGenerated_Items(gearGt));
// WerkstoffLoader.items.put(gearGtSmall, new BW_MetaGenerated_Items(gearGtSmall));
// WerkstoffLoader.items.put(bolt, new BW_MetaGenerated_Items(bolt));
@@ -1408,6 +1408,13 @@ public class WerkstoffLoader implements Runnable {
if ((WerkstoffLoader.toGenerateGlobal & 0b1000000) != 0) {
WerkstoffLoader.items.put(cellMolten, new BW_MetaGenerated_Items(cellMolten));
}
+ if ((WerkstoffLoader.toGenerateGlobal & 0b10000000) != 0) {
+ WerkstoffLoader.items.put(plate, new BW_MetaGenerated_Items(plate));
+ WerkstoffLoader.items.put(stick, new BW_MetaGenerated_Items(stick));
+ WerkstoffLoader.items.put(stickLong, new BW_MetaGenerated_Items(stickLong));
+ }
+
+
}
@@ -1439,9 +1446,10 @@ public class WerkstoffLoader implements Runnable {
}
if (werkstoff.getGenerationFeatures().hasMolten()) {
werkstoffBridgeMaterial.mStandardMoltenFluid = werkstoff.getMolten(1).getFluid();
-
}
+ werkstoffBridgeMaterial.mName = werkstoff.getDefaultName();
toRem.add(werkstoffBridgeMaterial);
+ werkstoff.setBridgeMaterial(werkstoffBridgeMaterial);
}
try {
Field f = Materials.class.getDeclaredField("MATERIALS_MAP");
@@ -1556,6 +1564,31 @@ public class WerkstoffLoader implements Runnable {
}
}
+ private void addSimpleMetalRecipes(Werkstoff werkstoff) {
+ if ((werkstoff.getGenerationFeatures().toGenerate & 0b10000000) != 0) {
+ if (werkstoff.getGenerationFeatures().hasGems()) {
+ GT_Values.RA.addLatheRecipe(werkstoff.get(gem), werkstoff.get(stick), werkstoff.get(dustSmall), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1L), 16);
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(stick, 2), GT_Proxy.tBits, new Object[]{"s", "X", 'X', werkstoff.get(stickLong)});
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(stick), GT_Proxy.tBits, new Object[]{"f ", " X", 'X', werkstoff.get(gem)});
+ GT_Values.RA.addForgeHammerRecipe(werkstoff.get(stick, 2), werkstoff.get(stickLong), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16);
+ return;
+ }
+
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(stick, 2), GT_Proxy.tBits, new Object[]{"s", "X", 'X', werkstoff.get(stickLong)});
+ GT_ModHandler.addCraftingRecipe(werkstoff.get(stick), GT_Proxy.tBits, new Object[]{"f ", " X", 'X', werkstoff.get(ingot)});
+
+ GT_Recipe.GT_Recipe_Map.sBenderRecipes.add(new BWRecipes.DynamicGTRecipe(true,new ItemStack[]{werkstoff.get(ingot),GT_Utility.getIntegratedCircuit(1)},new ItemStack[]{werkstoff.get(plate)},null,null,null,null, (int) Math.max(werkstoff.getStats().getMass(), 1L), 24,0));
+ GT_Values.RA.addForgeHammerRecipe(werkstoff.get(ingot,3), werkstoff.get(plate,2), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16);
+
+ GT_Values.RA.addLatheRecipe(werkstoff.get(ingot), werkstoff.get(stick), werkstoff.get(dustSmall), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1L), 16);
+
+ GT_Values.RA.addForgeHammerRecipe(werkstoff.get(stick, 2), werkstoff.get(stickLong), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16);
+
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot),ItemList.Shape_Extruder_Plate.get(0),werkstoff.get(plate),(int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 45);
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot),ItemList.Shape_Extruder_Rod.get(0),werkstoff.get(stick,2),(int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 45);
+ }
+ }
+
private void addDustRecipes(Werkstoff werkstoff) {
if ((werkstoff.getGenerationFeatures().toGenerate & 0b1) != 0) {
List<FluidStack> flOutputs = new ArrayList<>();
@@ -1918,9 +1951,11 @@ public class WerkstoffLoader implements Runnable {
if ((werkstoff.getGenerationFeatures().toGenerate & 0b10) != 0) {
GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(ingot),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
- //GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stickLong),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
- //GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(plate),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
- //GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stick),null,werkstoff.getMolten(72),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
+ if ((werkstoff.getGenerationFeatures().toGenerate & 0b10000000) != 0) {
+ GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stickLong), null, werkstoff.getMolten(144), 0, werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
+ GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(plate), null, werkstoff.getMolten(144), 0, werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
+ GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stick), null, werkstoff.getMolten(72), 0, werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
+ }
GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(nugget),null,werkstoff.getMolten(16),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass);
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);
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
index f829306575..0dfd487d20 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
@@ -29,14 +29,22 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
import com.github.bartimaeusnek.bartworks.util.BWRecipes;
import com.github.bartimaeusnek.bartworks.util.BW_Util;
import gregtech.api.enums.*;
-import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
+import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.objects.ItemData;
+import gregtech.api.util.*;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+import org.apache.commons.lang3.reflect.FieldUtils;
+import sun.reflect.FieldInfo;
import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import static com.github.bartimaeusnek.bartworks.util.BW_Util.CLEANROOM;
@@ -47,7 +55,7 @@ public class AdditionalRecipes implements Runnable {
@Override
public void run() {
//Thorium/Yttrium Glas
- GT_Values.RA.addBlastRecipe(WerkstoffLoader.YttriumOxide.get(dustSmall,2),WerkstoffLoader.Thorianit.get(dustSmall,2),Materials.Glass.getMolten(144),null,new ItemStack(ItemRegistry.bw_glasses[0],1,12),null,800, BW_Util.getMachineVoltageFromTier(5),3663);
+ GT_Values.RA.addBlastRecipe(WerkstoffLoader.YttriumOxide.get(dustSmall, 2), WerkstoffLoader.Thorianit.get(dustSmall, 2), Materials.Glass.getMolten(144), null, new ItemStack(ItemRegistry.bw_glasses[0], 1, 12), null, 800, BW_Util.getMachineVoltageFromTier(5), 3663);
//Thorianit recipes
GT_Values.RA.addSifterRecipe(WerkstoffLoader.Thorianit.get(crushedPurified),
new ItemStack[]{
@@ -57,66 +65,196 @@ public class AdditionalRecipes implements Runnable {
Materials.Thorium.getDust(1),
Materials.Thorium.getDust(1),
WerkstoffLoader.Thorium232.get(dust),
- }, new int[]{7000,1300,700,600,300,100},
+ }, new int[]{7000, 1300, 700, 600, 300, 100},
400,
BW_Util.getMachineVoltageFromTier(5)
- );
- GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust),Materials.Aluminium.getDust(1),Materials.Thorium.getDust(1),1000);
- GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust),Materials.Magnesium.getDust(1),Materials.Thorium.getDust(1),1000);
- GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(crushed), ItemList.Crop_Drop_Thorium.get(9),Materials.Water.getFluid(1000),Materials.Thorium.getMolten(144),WerkstoffLoader.Thorianit.get(crushedPurified,4),96,24);
+ );
+ GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust), Materials.Aluminium.getDust(1), Materials.Thorium.getDust(1), 1000);
+ GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust), Materials.Magnesium.getDust(1), Materials.Thorium.getDust(1), 1000);
+ GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(crushed), ItemList.Crop_Drop_Thorium.get(9), Materials.Water.getFluid(1000), Materials.Thorium.getMolten(144), WerkstoffLoader.Thorianit.get(crushedPurified, 4), 96, 24);
//Prasiolite
- GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(dust,Materials.Quartzite,40L),Materials.Amethyst.getDust(10),GT_Values.NF,GT_Values.NF,WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed,20),GT_Values.NI,800, BW_Util.getMachineVoltageFromTier(2),500);
- GT_Values.RA.addPrimitiveBlastRecipe(GT_OreDictUnificator.get(dust,Materials.Quartzite,40L),Materials.Amethyst.getDust(10),6,WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed,20),GT_Values.NI,800);
+ GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10), GT_Values.NF, GT_Values.NF, WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), GT_Values.NI, 800, BW_Util.getMachineVoltageFromTier(2), 500);
+ GT_Values.RA.addPrimitiveBlastRecipe(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10), 6, WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), GT_Values.NI, 800);
//Cubic Circonia
- GT_Values.RA.addChemicalRecipe(Materials.Yttrium.getDust(2), GT_Utility.getIntegratedCircuit(11),Materials.Oxygen.getGas(3000),null, WerkstoffLoader.YttriumOxide.get(dust,5),64, BW_Util.getMachineVoltageFromTier(4));
- GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(false, new ItemStack[]{WerkstoffLoader.Zirconium.get(dust,10), WerkstoffLoader.YttriumOxide.get(dust)}, new ItemStack[]{WerkstoffLoader.YttriumOxide.get(dust), WerkstoffLoader.CubicZirconia.get(gemFlawed, 40)}, null, null, new FluidStack[]{Materials.Oxygen.getGas(20000)}, null, 14400, BW_Util.getMachineVoltageFromTier(4), 2953);
+ GT_Values.RA.addChemicalRecipe(Materials.Yttrium.getDust(2), GT_Utility.getIntegratedCircuit(11), Materials.Oxygen.getGas(3000), null, WerkstoffLoader.YttriumOxide.get(dust, 5), 64, BW_Util.getMachineVoltageFromTier(4));
+ GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(false, new ItemStack[]{WerkstoffLoader.Zirconium.get(dust, 10), WerkstoffLoader.YttriumOxide.get(dust)}, new ItemStack[]{WerkstoffLoader.YttriumOxide.get(dust), WerkstoffLoader.CubicZirconia.get(gemFlawed, 40)}, null, null, new FluidStack[]{Materials.Oxygen.getGas(20000)}, null, 14400, BW_Util.getMachineVoltageFromTier(4), 2953);
//Tellurium
- GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(crushed,Materials.Lead,10L),GT_Utility.getIntegratedCircuit(17),GT_Values.NF,GT_Values.NF,Materials.Lead.getIngots(10),Materials.Tellurium.getNuggets(20),800, BW_Util.getMachineVoltageFromTier(2),722);
- GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium.getMolten(16), Materials.Beryllium.getMolten(16), WerkstoffLoader.Californium.getMolten(16), 250,49152, 480000000);
- GT_Values.RA.addFusionReactorRecipe(WerkstoffLoader.Californium.getMolten(16), WerkstoffLoader.Calcium.getMolten(16), WerkstoffLoader.Oganesson.getFluidOrGas(16), 500,49152, 600000000);
- GT_Values.RA.addDistillationTowerRecipe(Materials.LiquidAir.getFluid(100000000),new FluidStack[]{Materials.Nitrogen.getGas(78084000),Materials.Oxygen.getGas(20946000),Materials.Argon.getGas(934000),Materials.CarbonDioxide.getGas(40700),WerkstoffLoader.Neon.getFluidOrGas(1818),Materials.Helium.getGas(524),Materials.Methane.getGas(180),WerkstoffLoader.Krypton.getFluidOrGas(114),Materials.Hydrogen.getGas(55),WerkstoffLoader.Xenon.getFluidOrGas(9)},null,7500, BW_Util.getMachineVoltageFromTier(4));
- GT_Values.RA.addAutoclaveRecipe(WerkstoffLoader.MagnetoResonaticDust.get(dust),WerkstoffLoader.Neon.getFluidOrGas(1000),WerkstoffLoader.MagnetoResonaticDust.get(gemChipped,9),9000,4500, BW_Util.getMachineVoltageFromTier(5));
- GT_Values.RA.addAutoclaveRecipe(WerkstoffLoader.MagnetoResonaticDust.get(dust),WerkstoffLoader.Krypton.getFluidOrGas(1000),WerkstoffLoader.MagnetoResonaticDust.get(gem),10000,4500, BW_Util.getMachineVoltageFromTier(5));
+ GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(crushed, Materials.Lead, 10L), GT_Utility.getIntegratedCircuit(17), GT_Values.NF, GT_Values.NF, Materials.Lead.getIngots(10), Materials.Tellurium.getNuggets(20), 800, BW_Util.getMachineVoltageFromTier(2), 722);
+ GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium.getMolten(16), Materials.Beryllium.getMolten(16), WerkstoffLoader.Californium.getMolten(16), 250, 49152, 480000000);
+ GT_Values.RA.addFusionReactorRecipe(WerkstoffLoader.Californium.getMolten(16), WerkstoffLoader.Calcium.getMolten(16), WerkstoffLoader.Oganesson.getFluidOrGas(16), 500, 49152, 600000000);
+ GT_Values.RA.addDistillationTowerRecipe(Materials.LiquidAir.getFluid(100000000), new FluidStack[]{Materials.Nitrogen.getGas(78084000), Materials.Oxygen.getGas(20946000), Materials.Argon.getGas(934000), Materials.CarbonDioxide.getGas(40700), WerkstoffLoader.Neon.getFluidOrGas(1818), Materials.Helium.getGas(524), Materials.Methane.getGas(180), WerkstoffLoader.Krypton.getFluidOrGas(114), Materials.Hydrogen.getGas(55), WerkstoffLoader.Xenon.getFluidOrGas(9)}, null, 7500, BW_Util.getMachineVoltageFromTier(4));
+ GT_Values.RA.addAutoclaveRecipe(WerkstoffLoader.MagnetoResonaticDust.get(dust), WerkstoffLoader.Neon.getFluidOrGas(1000), WerkstoffLoader.MagnetoResonaticDust.get(gemChipped, 9), 9000, 4500, BW_Util.getMachineVoltageFromTier(5));
+ GT_Values.RA.addAutoclaveRecipe(WerkstoffLoader.MagnetoResonaticDust.get(dust), WerkstoffLoader.Krypton.getFluidOrGas(1000), WerkstoffLoader.MagnetoResonaticDust.get(gem), 10000, 4500, BW_Util.getMachineVoltageFromTier(5));
for (int i = 0; i <= 6; i++) {
- GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.add(
- new BWRecipes.DynamicGTRecipe(false,
- new ItemStack[]{
- BW_Meta_Items.getNEWCIRCUITS().getStack(3),
- WerkstoffLoader.MagnetoResonaticDust.get(gem),
- BW_Meta_Items.getNEWCIRCUITS().getStack(i+3),
- ItemList.Circuit_Parts_DiodeSMD.get((i+1)*4),
- ItemList.Circuit_Parts_CapacitorSMD.get((i+1)*4),
- ItemList.Circuit_Parts_TransistorSMD.get((i+1)*4)
- },
- new ItemStack[]{
- BW_Meta_Items.getNEWCIRCUITS().getStack(i+4)
- },null,null,
- new FluidStack[]{
- Materials.SolderingAlloy.getMolten((i+1)*36)
- },null,(i+1)*750, BW_Util.getMachineVoltageFromTier((i+1)),CLEANROOM));
+ GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.add(
+ new BWRecipes.DynamicGTRecipe(false,
+ new ItemStack[]{
+ BW_Meta_Items.getNEWCIRCUITS().getStack(3),
+ WerkstoffLoader.MagnetoResonaticDust.get(gem),
+ BW_Meta_Items.getNEWCIRCUITS().getStack(i + 3),
+ ItemList.Circuit_Parts_DiodeSMD.get((i + 1) * 4),
+ ItemList.Circuit_Parts_CapacitorSMD.get((i + 1) * 4),
+ ItemList.Circuit_Parts_TransistorSMD.get((i + 1) * 4)
+ },
+ new ItemStack[]{
+ BW_Meta_Items.getNEWCIRCUITS().getStack(i + 4)
+ }, null, null,
+ new FluidStack[]{
+ Materials.SolderingAlloy.getMolten((i + 1) * 36)
+ }, null, (i + 1) * 750, BW_Util.getMachineVoltageFromTier((i + 1)), CLEANROOM));
}
for (int i = 7; i <= 10; i++) {
GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.add(
new BWRecipes.DynamicGTRecipe(false,
new ItemStack[]{
BW_Meta_Items.getNEWCIRCUITS().getStack(3),
- WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite,(2)),
- BW_Meta_Items.getNEWCIRCUITS().getStack(i+3),
- ItemList.Circuit_Parts_DiodeSMD.get((i+6)*4),
- ItemList.Circuit_Parts_CapacitorSMD.get((i+6)*4),
- ItemList.Circuit_Parts_TransistorSMD.get((i+6)*4)
+ WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, (2)),
+ BW_Meta_Items.getNEWCIRCUITS().getStack(i + 3),
+ ItemList.Circuit_Parts_DiodeSMD.get((i + 6) * 4),
+ ItemList.Circuit_Parts_CapacitorSMD.get((i + 6) * 4),
+ ItemList.Circuit_Parts_TransistorSMD.get((i + 6) * 4)
},
new ItemStack[]{
- BW_Meta_Items.getNEWCIRCUITS().getStack(i+4)
- },null,null,
+ BW_Meta_Items.getNEWCIRCUITS().getStack(i + 4)
+ }, null, null,
new FluidStack[]{
- Materials.SolderingAlloy.getMolten((i+1)*144)
- },null,(i+1)*1500, BW_Util.getMachineVoltageFromTier(i+1),CLEANROOM));
+ Materials.SolderingAlloy.getMolten((i + 1) * 144)
+ }, null, (i + 1) * 1500, BW_Util.getMachineVoltageFromTier(i + 1), CLEANROOM));
+ }
+ AdditionalRecipes.replaceLuVHull();
+ AdditionalRecipes.oldGThelperMethod();
+ }
+
+ private static void replaceLuVHull(){
+ Object toRemove = null;
+ for (Object obj : CraftingManager.getInstance().getRecipeList()) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Casing_LuV.get(1))) {
+ toRemove = obj;
+ break;
+ }
+ }
+ CraftingManager.getInstance().getRecipeList().remove(toRemove);
+ toRemove = null;
+ List<IRecipe> bufferedRecipeList = null;
+ try {
+ bufferedRecipeList = (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ assert bufferedRecipeList != null;
+ for (Object obj : bufferedRecipeList) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Casing_LuV.get(1))) {
+ toRemove = obj;
+ break;
+ }
+ }
+ bufferedRecipeList.remove(toRemove);
+ try {
+ Map<GT_ItemStack, ItemData> map = (Map<GT_ItemStack, ItemData>) FieldUtils.getDeclaredField(GT_OreDictUnificator.class, "sItemStack2DataMap", true).get(null);
+ ItemData data = map.get(new GT_ItemStack(ItemList.Casing_LuV.get(1)));
+ data.mMaterial.mMaterial = WerkstoffLoader.LuVTierMaterial.getBridgeMaterial();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ GT_ModHandler.addCraftingRecipe(ItemList.Casing_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"PPP", "PwP", "PPP", 'P', WerkstoffLoader.LuVTierMaterial.get(plate)});
+ for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings){
+ for (GT_Recipe recipe : map.mRecipeList){
+
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Casing_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Casing_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
+
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Hull_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Hull_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
+
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Casing_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Casing_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Casing_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Casing_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Hull_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Hull_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidInputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mInputs,ItemList.Hull_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ if (AdditionalRecipes.doStacksCointainAndReplace(recipe.mOutputs,ItemList.Hull_LuV.get(1),false))
+ AdditionalRecipes.doStacksCointainAndReplace(recipe.mFluidOutputs,Materials.Chrome.getMolten(1),true,WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+
+ }
+ }
+
+ for (Object obj : CraftingManager.getInstance().getRecipeList()) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Hull_LuV.get(1))) {
+ toRemove = obj;//AdditionalRecipes.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(),GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
+ break;
+ }
+ }
+ CraftingManager.getInstance().getRecipeList().remove(toRemove);
+ for (Object obj : bufferedRecipeList) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (BW_Util.areStacksEqualOrNull(((GT_Shaped_Recipe) obj).getRecipeOutput(), ItemList.Hull_LuV.get(1))) {
+ toRemove = obj;//AdditionalRecipes.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(),GT_OreDictUnificator.get(plate,Materials.Chrome,1),true,WerkstoffLoader.LuVTierMaterial.get(plate));
+ break;
+ }
+ }
+ bufferedRecipeList.remove(toRemove);
+ try {
+ Map<GT_ItemStack, ItemData> map = (Map<GT_ItemStack, ItemData>) FieldUtils.getDeclaredField(GT_OreDictUnificator.class, "sItemStack2DataMap", true).get(null);
+ ItemData data = map.get(new GT_ItemStack(ItemList.Hull_LuV.get(1)));
+ data.mMaterial.mMaterial = WerkstoffLoader.LuVTierMaterial.getBridgeMaterial();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ GT_ModHandler.addCraftingRecipe(ItemList.Hull_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"KPK", "CHC", 'P', WerkstoffLoader.LuVTierMaterial.get(plate), 'K',Materials.Polytetrafluoroethylene.getPlates(1), 'C', GT_OreDictUnificator.get(cableGt01, Materials.VanadiumGallium,1L), 'H',ItemList.Casing_LuV});
+ }
+
+ private static boolean doStacksCointainAndReplace(FluidStack[] stacks, FluidStack stack, boolean replace, Fluid... replacement){
+ boolean replaced = false;
+ for (int i = 0; i < stacks.length; i++) {
+ if (GT_Utility.areFluidsEqual(stack, stacks[i]))
+ if (!replace)
+ return true;
+ else {
+ int amount = stacks[i].amount;
+ stacks[i] = new FluidStack(replacement[0],amount);
+ replaced = true;
+ }
+ }
+ return replaced;
+ }
+ private static boolean doStacksCointainAndReplace(Object[] stacks, ItemStack stack, boolean replace, ItemStack... replacement){
+ boolean replaced = false;
+ for (int i = 0; i < stacks.length; i++) {
+ if (!GT_Utility.isStackValid(stacks[i])){
+ continue;
+ }
+ else if (GT_Utility.areStacksEqual(stack, (ItemStack) stacks[i]))
+ if (!replace)
+ return true;
+ else {
+ stacks[i] = replacement[0];
+ replaced = true;
+ }
}
- oldGThelperMethod();
+ return replaced;
}
private static void oldGThelperMethod(){
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 b590615154..0f45f7ceec 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
@@ -22,60 +22,77 @@
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.CircuitGeneration.BW_Meta_Items;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
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.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;
+import gregtech.api.util.*;
+import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
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 java.lang.reflect.Field;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.*;
import static gregtech.api.enums.OrePrefixes.*;
public class PlatinumSludgeOverHaul {
- private PlatinumSludgeOverHaul(){}
+ private static final Materials[] BLACKLIST = {
+ Materials.HSSS,
+ Materials.EnderiumBase,
+ Materials.Osmiridium,
+ Materials.get("Uraniumtriplatinid"),
+ Materials.get("Tetranaquadahdiindiumhexaplatiumosminid"),
+ Materials.get("Longasssuperconductornameforuvwire"),
+ };
- public static void runHelperrecipes(){
- //DilutedSulfuricAcid
- GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(3),Materials.Water.getCells(1),GT_Utility.getIntegratedCircuit(1),null,null,null, Materials.DilutedSulfuricAcid.getCells(4),30,30);
+ private PlatinumSludgeOverHaul() {
+ }
+ public static void runHelperrecipes() {
+ //DilutedSulfuricAcid
+ GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(3), Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, null, Materials.DilutedSulfuricAcid.getCells(4), 30, 30);
+ GT_Values.RA.addMixerRecipe(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, Materials.SulfuricAcid.getFluid(3000), Materials.DilutedSulfuricAcid.getFluid(4000), Materials.Empty.getCells(1), 30, 30);
+ GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(3), GT_Utility.getIntegratedCircuit(1), null, null, Materials.Water.getFluid(1000), Materials.DilutedSulfuricAcid.getFluid(4000), Materials.Empty.getCells(3), 30, 30);
//FormicAcid
- GT_Values.RA.addChemicalRecipe(Sodiumformate.get(cell,2), GT_Utility.getIntegratedCircuit(1), Materials.SulfuricAcid.getFluid(1000),null,FormicAcid.get(cell,2),Sodiumsulfate.get(dust),15);
- GT_Values.RA.addChemicalRecipe(Materials.SulfuricAcid.getCells(2), GT_Utility.getIntegratedCircuit(1), Sodiumformate.getFluidOrGas(1000),FormicAcid.getFluidOrGas(2000),Materials.Empty.getCells(2),Sodiumsulfate.get(dust),15);
+ GT_Values.RA.addChemicalRecipe(Materials.CarbonMonoxide.getCells(1), Materials.SodiumHydroxide.getDust(1), null, null, Sodiumformate.get(cell), null, 15);
+ GT_Values.RA.addChemicalRecipe(Sodiumformate.get(cell, 2), GT_Utility.getIntegratedCircuit(1), Materials.SulfuricAcid.getFluid(1000), null, FormicAcid.get(cell, 2), Sodiumsulfate.get(dust), 15);
+ GT_Values.RA.addChemicalRecipe(Materials.SulfuricAcid.getCells(2), GT_Utility.getIntegratedCircuit(1), Sodiumformate.getFluidOrGas(1000), FormicAcid.getFluidOrGas(2000), Materials.Empty.getCells(2), Sodiumsulfate.get(dust), 15);
//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(1), null, null, null, AquaRegia.get(cell, 2), 30, 30);
//AmmoniumCloride
- GT_Values.RA.addChemicalRecipe(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.HydrochloricAcid.getFluid(1000),null, AmmoniumChloride.get(cell,1),null,15);
- GT_Values.RA.addChemicalRecipe(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), AmmoniumChloride.getFluidOrGas(1000),Materials.Empty.getCells(1),null,15);
+ GT_Values.RA.addChemicalRecipe(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.HydrochloricAcid.getFluid(1000), null, AmmoniumChloride.get(cell, 1), null, 15);
+ GT_Values.RA.addChemicalRecipe(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), AmmoniumChloride.getFluidOrGas(1000), Materials.Empty.getCells(1), null, 15);
//base sollution
- for (Werkstoff w :Werkstoff.werkstoffHashMap.values())
- if (w.containsStuff(Materials.Sulfur)&&(w.containsStuff(Materials.Copper)||w.containsStuff(Materials.Nickel))) {
+ 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);
}
for (Materials m : Materials.values())
- if (materialsContains(m,Materials.Sulfur)&&(materialsContains(m,Materials.Copper)||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);
+ 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);
}
//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.addSifterRecipe(PTSaltCrude.get(dust),new ItemStack[]{
+ 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.addSifterRecipe(PTSaltCrude.get(dust), new ItemStack[]{
PTSaltRefined.get(dust),
PTSaltRefined.get(dust),
PTSaltRefined.get(dust),
@@ -85,16 +102,16 @@ public class PlatinumSludgeOverHaul {
PTSaltRefined.get(dust),
PTSaltRefined.get(dust),
PTSaltRefined.get(dust),
- },new int[]{
- 1000,1000,1000,1000,1000,1000,1000,1000,500,
- },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.addChemicalRecipe(PTRawPowder.get(dust,2),Materials.Calcium.getDust(1),null,null,Materials.Platinum.getDust(2),CalciumChloride.get(dust),30);
+ }, 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.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.addSifterRecipe(PDSalt.get(dust),new ItemStack[]{
+ 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.addSifterRecipe(PDSalt.get(dust), new ItemStack[]{
PDMetallicPowder.get(dust),
PDMetallicPowder.get(dust),
PDMetallicPowder.get(dust),
@@ -104,46 +121,46 @@ public class PlatinumSludgeOverHaul {
PDMetallicPowder.get(dust),
PDMetallicPowder.get(dust),
PDMetallicPowder.get(dust),
- },new int[]{
- 1000,1000,1000,1000,1000,1000,1000,1000,500,
- },600,30);
- 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(dust,2),Materials.Hydrogen.getCells(1),null,Materials.SulfuricAcid.getFluid(2000),Materials.Sodium.getDust(1),Materials.Empty.getCells(3),30);
+ }, new int[]{
+ 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1500,
+ }, 600, 30);
+ 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(dust, 2), Materials.Hydrogen.getCells(1), null, Materials.SulfuricAcid.getFluid(2000), Materials.Sodium.getDust(1), Materials.Empty.getCells(3), 30);
//K2S2O7
- GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust),Materials.Potassium.getDust(2),Materials.Oxygen.getGas(3000),null,PotassiumDisulfate.get(dust),Materials.Empty.getCells(1),30);
+ GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust), Materials.Potassium.getDust(2), Materials.Oxygen.getGas(3000), null, PotassiumDisulfate.get(dust), 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);
+ 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.addDistillationTowerRecipe(HotRutheniumTetroxideSollution.getFluidOrGas(9000),new FluidStack[]{
+ 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.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);
+ }, 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,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.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);
//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), AmmoniumChloride.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);
+ 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), AmmoniumChloride.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,5),null,null,null,Materials.Water.getFluid(5000),RHSulfateSolution.getFluidOrGas(5000),LeachResidue.get(dustTiny),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);
- GT_Values.RA.addChemicalRecipe(SodiumNitrate.get(dust),GT_Utility.getIntegratedCircuit(1),RHSaltSolution.getFluidOrGas(1000),null,RHNitrate.get(dust),Materials.Salt.getDust(1),300);
- GT_Values.RA.addSifterRecipe(RHNitrate.get(dust),new ItemStack[]{
+ 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(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);
+ GT_Values.RA.addChemicalRecipe(SodiumNitrate.get(dust), GT_Utility.getIntegratedCircuit(1), RHSaltSolution.getFluidOrGas(1000), null, RHNitrate.get(dust), Materials.Salt.getDust(1), 300);
+ GT_Values.RA.addSifterRecipe(RHNitrate.get(dust), new ItemStack[]{
RhFilterCake.get(dust),
RhFilterCake.get(dust),
RhFilterCake.get(dust),
@@ -153,16 +170,15 @@ public class PlatinumSludgeOverHaul {
RhFilterCake.get(dust),
RhFilterCake.get(dust),
RhFilterCake.get(dust),
- },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(2),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);
+ }, new int[]{
+ 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1500,
+ }, 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(2), 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);
}
-
- private static boolean materialsContains(Materials one, ISubTagContainer other){
+ private static boolean materialsContains(Materials one, ISubTagContainer other) {
if (one == null || one.mMaterialList == null || one.mMaterialList.isEmpty())
return false;
for (MaterialStack stack : one.mMaterialList)
@@ -171,9 +187,8 @@ public class PlatinumSludgeOverHaul {
return false;
}
-
- public static void replacePureElements(){
- for (Object entry : FurnaceRecipes.smelting().getSmeltingList().entrySet()){
+ public static void replacePureElements() {
+ 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))
@@ -184,9 +199,22 @@ public class PlatinumSludgeOverHaul {
realEntry.setValue(PDMetallicPowder.get(dust));
}
- maploop: for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) {
+ for (Object obj : CraftingManager.getInstance().getRecipeList()) {
+ PlatinumSludgeOverHaul.setnewMaterialInRecipe(obj);
+ }
+ try {
+ for (Object obj : (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null)) {
+ PlatinumSludgeOverHaul.setnewMaterialInRecipe(obj);
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+
+ maploop:
+ for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) {
HashSet toDel = new HashSet();
- recipeloop: for (GT_Recipe recipe : map.mRecipeList) {
+ recipeloop:
+ for (GT_Recipe recipe : map.mRecipeList) {
if (recipe.mFakeRecipe)
continue maploop;
for (int i = 0; i < recipe.mFluidOutputs.length; i++) {
@@ -196,18 +224,30 @@ public class PlatinumSludgeOverHaul {
toDel.add(recipe);
else if (GT_Utility.areFluidsEqual(Rhodium.getMolten(1), recipe.mFluidOutputs[i]))
toDel.add(recipe);
+ else if (GT_Utility.areFluidsEqual(Materials.Iridium.getMolten(1), recipe.mFluidOutputs[i]))
+ recipe.mFluidOutputs[i] = Materials.Water.getFluid(1000);
+ else if (GT_Utility.areFluidsEqual(Materials.Platinum.getMolten(1), recipe.mFluidOutputs[i]))
+ recipe.mFluidOutputs[i] = Materials.Water.getFluid(1000);
+ else if (GT_Utility.areFluidsEqual(Materials.Osmium.getMolten(1), recipe.mFluidOutputs[i]))
+ recipe.mFluidOutputs[i] = Materials.Water.getFluid(1000);
}
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])) {
+ for (int j = 0; j < recipe.mInputs.length; j++)
+ if (PlatinumSludgeOverHaul.isInBlackList(recipe.mInputs[j]))
+ continue recipeloop;
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])) {
+ for (int j = 0; j < recipe.mInputs.length; j++)
+ if (PlatinumSludgeOverHaul.isInBlackList(recipe.mInputs[j]))
+ continue recipeloop;
int amount = recipe.mOutputs[i].stackSize;
recipe.mOutputs[i] = CrudeRhMetall.get(dust, amount);
}
@@ -217,9 +257,8 @@ public class PlatinumSludgeOverHaul {
//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 (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;
@@ -237,9 +276,8 @@ public class PlatinumSludgeOverHaul {
}
} 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 (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;
@@ -257,9 +295,8 @@ public class PlatinumSludgeOverHaul {
}
} 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 (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;
@@ -277,9 +314,8 @@ public class PlatinumSludgeOverHaul {
}
} 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 (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;
@@ -303,56 +339,64 @@ public class PlatinumSludgeOverHaul {
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 void setnewMaterialInRecipe(Object obj){
+ if (!(obj instanceof GT_Shaped_Recipe))
+ return;
+ GT_Shaped_Recipe recipe = (GT_Shaped_Recipe) obj;
+ ItemStack otpt = recipe.getRecipeOutput();
+ 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) {
+ 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) {
+ 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) {
+ 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) {
+ try {
+ out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize * 4));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
- private static boolean isInBlackList(ItemStack stack){
- if (!BW_Util.checkStackAndPrefix(stack))
- return false;
+ private static boolean isInBlackList(ItemStack stack) {
if (stack.getItem() instanceof BW_MetaGenerated_Items)
return true;
- for (Materials m : PlatinumSludgeOverHaul.BLACKLIST){
+ if (GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId.equals(MainMod.MOD_ID))
+ return true;
+ if (GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId.equals(BartWorksCrossmod.MOD_ID))
+ return true;
+ if (Loader.isModLoaded("miscutils")) {
+ try {
+ if (Class.forName("gtPlusPlus.core.item.base.BaseItemComponent").isAssignableFrom(stack.getItem().getClass()) && !(stack.getUnlocalizedName().contains("dust") || stack.getUnlocalizedName().contains("Dust")))
+ return true;
+ if (Class.forName("gtPlusPlus.core.block.base.BlockBaseModular").isAssignableFrom(Block.getBlockFromItem(stack.getItem()).getClass()))
+ return true;
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+ if (!BW_Util.checkStackAndPrefix(stack))
+ return false;
+ for (Materials m : PlatinumSludgeOverHaul.BLACKLIST) {
if (GT_OreDictUnificator.getAssociation(stack).mMaterial.mMaterial.equals(m))
return true;
}