aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java56
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java62
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java31
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java6
15 files changed, 149 insertions, 68 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
index c57ad71fc7..68f78503e8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
@@ -6,11 +6,12 @@ import java.util.Map;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
public class GT_Material_Loader {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java
index 7f59621324..2cf8994a0d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
index 332fa18281..9131975b21 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
@@ -1,15 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
-import net.minecraft.item.ItemStack;
public class ProcessingToolHeadChoocher implements Interface_OreRecipeRegistrator, Runnable {
public ProcessingToolHeadChoocher() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
index c596bf0a4c..e3dc240995 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.core.material.Material;
public class RecipeGen_AlloySmelter implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
index 6279a28d5c..9f27cfd5ab 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
+
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class RecipeGen_Assembler implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index aa4f0ce494..cceb22d0dd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -2,8 +2,11 @@ package gtPlusPlus.xmod.gregtech.loaders;
import java.util.ArrayList;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
@@ -13,9 +16,8 @@ import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_BlastSmelter implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java
index ee5ac63f38..e76b769ef6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java
@@ -1,12 +1,18 @@
package gtPlusPlus.xmod.gregtech.loaders;
-import gregtech.api.enums.*;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
import gregtech.api.interfaces.IOreRecipeRegistrator;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_BlastSmelterGT_Ex implements IOreRecipeRegistrator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index 41fb792fc0..056d5a2afd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -1,15 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_DustGeneration implements Runnable{
@@ -230,50 +232,58 @@ public class RecipeGen_DustGeneration implements Runnable{
}
else if (inputStacks.length == 2) {
input3 = CI.getNumberedCircuit(20);
-
+
}
else if (inputStacks.length == 3) {
input4 = CI.getNumberedCircuit(20);
-
+
}
-
-
+
+
//Add mixer Recipe
FluidStack oxygen = GT_Values.NF;
if (material.getComposites() != null){
+ int compSlot = 0;
for (final MaterialStack x : material.getComposites()){
if (!material.getComposites().isEmpty()){
if (x != null){
if (x.getStackMaterial() != null){
if (x.getStackMaterial().getDust(1) == null){
- if (x.getStackMaterial().getState() == MaterialState.GAS){
- oxygen = x.getStackMaterial().getFluid(1000);
+ MaterialState f = x.getStackMaterial().getState();
+ if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID){
+ oxygen = x.getStackMaterial().getFluid((int) (material.vSmallestRatio[compSlot] * 1000));
}
}
}
}
}
+ compSlot++;
}
}
//Add mixer Recipe
- if (GT_Values.RA.addMixerRecipe(
- input1, input2,
- input3, input4,
- oxygen,
- null,
- outputStacks,
- (int) Math.max(material.getMass() * 2L * 1, 1),
- 2 * material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example.
- {
- Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success");
- return true;
+ try {
+ if (GT_Values.RA.addMixerRecipe(
+ input1, input2,
+ input3, input4,
+ oxygen,
+ null,
+ outputStacks,
+ (int) Math.max(material.getMass() * 2L * 1, 1),
+ 2 * material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example.
+ {
+ Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success");
+ return true;
+ }
+ else {
+ Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Failed");
+ return false;
+ }
}
- else {
- Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Failed");
- return false;
+ catch (Throwable t) {
+ t.printStackTrace();
}
}
else {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
index 198c22fb8e..2b4a837c93 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
@@ -1,11 +1,13 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
-import net.minecraft.item.ItemStack;
public class RecipeGen_Extruder implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
index 610227e6e8..0d4d293bd8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
index 32fa282b0c..4a5d136372 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
@@ -1,17 +1,19 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_MaterialProcessing implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index bdcb30f930..1e252edc29 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -1,21 +1,23 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_Ore implements Runnable{
@@ -46,25 +48,49 @@ public class RecipeGen_Ore implements Runnable{
else {
return;
}
+
+ boolean allFailed = false;
if (material.getComposites().size() >= 1 && material.getComposites().get(1) != null){
bonusB = material.getComposites().get(1).getStackMaterial();
- }
- else if (material.getComposites().get(0) != null){
- bonusB = material.getComposites().get(0).getStackMaterial();
+ //If Secondary Output has no solid output, try the third (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 2 && material.getComposites().get(2) != null) {
+ bonusB = material.getComposites().get(2).getStackMaterial();
+ //If Third Output has no solid output, try the Fourth (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 3 && material.getComposites().get(3) != null) {
+ bonusB = material.getComposites().get(3).getStackMaterial();
+ //If Fourth Output has no solid output, try the Fifth (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(4) != null) {
+ bonusB = material.getComposites().get(4).getStackMaterial();
+ //If Fifth Output has no solid output, default out to Chrome.
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(4) != null) {
+ allFailed = true;
+ bonusB = null;
+ }
+ }
+ }
+ }
}
else {
- //Ultra Bonus
- bonusB = ELEMENT.getInstance().GALLIUM;
+ allFailed = true;
+ bonusB = null;
}
- AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
+ //Default out if it's made of fluids or some shit.
+ if (allFailed) {
+ bonusB = ELEMENT.getInstance().CHROMIUM;
+ }
+ AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
for (MaterialStack r : material.getComposites()){
if (r != null){
componentMap.put(new Pair<Integer, Material>(r.getPartsPerOneHundred(), r.getStackMaterial()));
}
}
+ //Need two valid outputs
+ if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) {
+ return;
+ }
/**
* Macerate
*/
@@ -99,7 +125,7 @@ public class RecipeGen_Ore implements Runnable{
-
+
/**
* Thermal Centrifuge
@@ -112,15 +138,21 @@ public class RecipeGen_Ore implements Runnable{
if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushedPurified(1), material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone, 25*20, 24)){
Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'");
}*/
+
+ Logger.MATERIALS("material.getCrushed(1): "+(material.getCrushed(1) != null));
+ Logger.MATERIALS("material.getCrushedPurified(1): "+(material.getCrushedPurified(1) != null));
+ Logger.MATERIALS("bonusA.getTinyDust(1): "+(bonusA.getTinyDust(1) != null)+" | Material: "+(bonusA != null) + " | Material name: "+(bonusA != null ? bonusA.getLocalizedName() : "invalid material"));
+ Logger.MATERIALS("bonusB.getTinyDust(1): "+(bonusB.getTinyDust(1) != null)+" | Material: "+(bonusB != null) + " | Material name: "+(bonusB != null ? bonusB.getLocalizedName() : "invalid material"));
+
//.08 compat
if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushed(1), 200, material.getCrushedCentrifuged(1), bonusB.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore'");
+ Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: "+material.getCrushed(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+bonusB.getTinyDust(1).getDisplayName()+", "+dustStone.getDisplayName()+".");
}
if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushedPurified(1), 200, material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'");
+ Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "+material.getCrushedPurified(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+bonusA.getTinyDust(1).getDisplayName()+", "+dustStone.getDisplayName()+".");
}
-
+
/**
* Forge Hammer
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
index 6c54fb816b..85b87b1d13 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
@@ -1,12 +1,14 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
-import net.minecraft.item.ItemStack;
public class RecipeGen_Plates implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
index 98fb6050d4..05b292f192 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
@@ -7,21 +7,36 @@ import java.util.Map;
import org.apache.commons.lang3.reflect.FieldUtils;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.OrePrefixes;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class RecipeGen_Recycling implements Runnable {
+ public static AutoMap<Runnable> mQueuedRecyclingGenerators = new AutoMap<Runnable>();
+
+ public static void executeGenerators() {
+ if (mQueuedRecyclingGenerators.size() > 0) {
+ for (Runnable R : mQueuedRecyclingGenerators.values()) {
+ R.run();
+ }
+ }
+ }
+
final Material toGenerate;
public static Map<String, ItemStack> mNameMap;
@@ -30,14 +45,14 @@ public class RecipeGen_Recycling implements Runnable {
if (mNameMap == null){
mNameMap = this.getNameMap();
}
- if (mNameMap != null){
- generateRecipes(this.toGenerate);
- }
+ mQueuedRecyclingGenerators.put(this);
}
@Override
public void run() {
-
+ if (mNameMap != null){
+ generateRecipes(this.toGenerate);
+ }
}
public static void generateRecipes(final Material material) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
index 4386807f4d..3b5db4aab5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
@@ -1,12 +1,14 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
public class RecipeGen_ShapedCrafting implements Runnable{