aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java68
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java108
-rw-r--r--src/Java/gtPlusPlus/core/util/array/ArrayUtils.java18
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java89
-rw-r--r--src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java186
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT.java172
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java41
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java17
12 files changed, 416 insertions, 325 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index c36bdf175d..21d3ff8db7 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -2,7 +2,6 @@ package gtPlusPlus.core.item;
import static gtPlusPlus.core.creative.AddToCreativeTab.tabMachines;
import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc;
import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT;
-import static gtPlusPlus.core.util.item.ItemUtils.generateItemsFromMaterial;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.common.compat.COMPAT_Baubles;
@@ -31,6 +30,7 @@ import gtPlusPlus.core.lib.CORE.configSwitches;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.debug.DEBUG_INIT;
import gtPlusPlus.core.util.item.ItemUtils;
@@ -206,59 +206,59 @@ public final class ModItems {
//Elements generate first so they can be used in compounds.
//Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle.
- generateItemsFromMaterial(ELEMENT.getInstance().URANIUM233);
- generateItemsFromMaterial(ELEMENT.getInstance().ZIRCONIUM);
+ MaterialGenerator.generateItemsFromMaterial(ELEMENT.getInstance().URANIUM233);
+ MaterialGenerator.generateItemsFromMaterial(ELEMENT.getInstance().ZIRCONIUM);
//Carbides - Tungsten Carbide exists in .09 so don't generate it. - Should still come before alloys though
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
- generateItemsFromMaterial(ALLOY.TUNGSTEN_CARBIDE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.TUNGSTEN_CARBIDE);
}
- generateItemsFromMaterial(ALLOY.SILICON_CARBIDE);
- generateItemsFromMaterial(ALLOY.ZIRCONIUM_CARBIDE);
- generateItemsFromMaterial(ALLOY.TANTALUM_CARBIDE);
- generateItemsFromMaterial(ALLOY.NIOBIUM_CARBIDE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.SILICON_CARBIDE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.ZIRCONIUM_CARBIDE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.TANTALUM_CARBIDE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.NIOBIUM_CARBIDE);
//Generate some Alloys
- generateItemsFromMaterial(ALLOY.ENERGYCRYSTAL);
- generateItemsFromMaterial(ALLOY.BLOODSTEEL);
- generateItemsFromMaterial(ALLOY.BEDROCKIUM);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.ENERGYCRYSTAL);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.BLOODSTEEL);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.BEDROCKIUM);
- generateItemsFromMaterial(ALLOY.STABALLOY);
- generateItemsFromMaterial(ALLOY.TANTALLOY_60);
- generateItemsFromMaterial(ALLOY.TANTALLOY_61);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.STABALLOY);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.TANTALLOY_60);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.TANTALLOY_61);
- generateItemsFromMaterial(ALLOY.INCONEL_625);
- generateItemsFromMaterial(ALLOY.INCONEL_690);
- generateItemsFromMaterial(ALLOY.INCONEL_792);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.INCONEL_625);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.INCONEL_690);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.INCONEL_792);
- generateItemsFromMaterial(ALLOY.ZERON_100);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.ZERON_100);
- generateItemsFromMaterial(ALLOY.MARAGING250);
- generateItemsFromMaterial(ALLOY.MARAGING300);
- generateItemsFromMaterial(ALLOY.MARAGING350);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.MARAGING250);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.MARAGING300);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.MARAGING350);
- generateItemsFromMaterial(ALLOY.STELLITE);
- generateItemsFromMaterial(ALLOY.TALONITE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.STELLITE);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.TALONITE);
//Tumbaga was the name given by Spaniards to a non-specific alloy of gold and copper
- generateItemsFromMaterial(ALLOY.TUMBAGA);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.TUMBAGA);
//Potin is traditionally an alloy of bronze, tin and lead, with varying quantities of each possible
- generateItemsFromMaterial(ALLOY.POTIN);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.POTIN);
- generateItemsFromMaterial(ALLOY.HASTELLOY_W);
- generateItemsFromMaterial(ALLOY.HASTELLOY_X);
- generateItemsFromMaterial(ALLOY.HASTELLOY_C276);
- generateItemsFromMaterial(ALLOY.HASTELLOY_N);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.HASTELLOY_W);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.HASTELLOY_X);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.HASTELLOY_C276);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.HASTELLOY_N);
- generateItemsFromMaterial(ALLOY.INCOLOY_020);
- generateItemsFromMaterial(ALLOY.INCOLOY_DS);
- generateItemsFromMaterial(ALLOY.INCOLOY_MA956);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.INCOLOY_020);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.INCOLOY_DS);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.INCOLOY_MA956);
//Leagrisium
- generateItemsFromMaterial(ALLOY.LEAGRISIUM);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.LEAGRISIUM);
//Must be the final Alloy to Generate
- generateItemsFromMaterial(ALLOY.QUANTUM);
+ MaterialGenerator.generateItemsFromMaterial(ALLOY.QUANTUM);
} catch (Throwable r){
Utils.LOG_INFO("Failed to Generated a Material. "+r.getMessage());
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index d73ac96bec..893b310ba4 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -27,7 +27,7 @@ public class Material {
protected Object dataVar;
- private ArrayList<MaterialStack> vMaterialInput;
+ private ArrayList<MaterialStack> vMaterialInput = new ArrayList<MaterialStack>();
public final long[] vSmallestRatio;
private final short[] RGBA;
@@ -98,7 +98,7 @@ public class Material {
if (inputs.length != 0){
for (int i=0; i < inputs.length; i++){
if (inputs[i] != null){
- this.vMaterialInput.set(i, inputs[i]);
+ this.vMaterialInput.add(i, inputs[i]);
}
}
}
@@ -288,6 +288,7 @@ public class Material {
final public ItemStack[] getMaterialComposites(){
//Utils.LOG_WARNING("Something requested the materials needed for "+localizedName);
+ if (vMaterialInput != null){
if (!vMaterialInput.isEmpty()){
ItemStack[] temp = new ItemStack[vMaterialInput.size()];
for (int i=0;i<vMaterialInput.size();i++){
@@ -310,6 +311,7 @@ public class Material {
}
return temp;
}
+ }
return new ItemStack[]{};
}
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
new file mode 100644
index 0000000000..55014f5ee8
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -0,0 +1,108 @@
+package gtPlusPlus.core.material;
+
+import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
+import gtPlusPlus.core.block.base.BlockBaseModular;
+import gtPlusPlus.core.item.base.bolts.BaseItemBolt;
+import gtPlusPlus.core.item.base.dusts.BaseItemDust;
+import gtPlusPlus.core.item.base.gears.BaseItemGear;
+import gtPlusPlus.core.item.base.ingots.BaseItemIngot;
+import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot;
+import gtPlusPlus.core.item.base.nugget.BaseItemNugget;
+import gtPlusPlus.core.item.base.plates.BaseItemPlate;
+import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
+import gtPlusPlus.core.item.base.rings.BaseItemRing;
+import gtPlusPlus.core.item.base.rods.BaseItemRod;
+import gtPlusPlus.core.item.base.rods.BaseItemRodLong;
+import gtPlusPlus.core.item.base.rotors.BaseItemRotor;
+import gtPlusPlus.core.item.base.screws.BaseItemScrew;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelter;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Extruder;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Plates;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_ShapedCrafting;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+
+public class MaterialGenerator implements Runnable {
+
+ final Material toGenerate;
+
+ public MaterialGenerator(final Material M){
+ this.toGenerate = M;
+ }
+
+ @Override
+ public void run() {
+ generateItemsFromMaterial(toGenerate);
+ }
+
+
+ public static void generateItemsFromMaterial(final Material matInfo){
+ String unlocalizedName = matInfo.getUnlocalizedName();
+ String materialName = matInfo.getLocalizedName();
+ short[] C = matInfo.getRGBA();
+ int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
+ boolean hotIngot = matInfo.requiresBlastFurnace();
+ int materialTier = matInfo.vTier; //TODO
+
+ if (materialTier > 10 || materialTier <= 0){
+ materialTier = 2;
+ }
+
+ int sRadiation = 0;
+ if (ItemUtils.isRadioactive(materialName)){
+ sRadiation = ItemUtils.getRadioactivityLevel(materialName);
+ }
+
+ if (sRadiation >= 1){
+ Item temp;
+ Block tempBlock;
+ tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour);
+ temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation);
+
+ temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation);
+ temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation);
+ temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation);
+ temp = new BaseItemNugget(matInfo);
+ temp = new BaseItemPlate(matInfo);
+ temp = new BaseItemRod(matInfo);
+ temp = new BaseItemRodLong(matInfo);
+ }
+
+ else {
+ Item temp;
+ Block tempBlock;
+ tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour);
+ tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.FRAME, Colour);
+ temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation);
+ if (hotIngot){
+ Item tempIngot = temp;
+ temp = new BaseItemIngotHot("itemHotIngot"+unlocalizedName, materialName, ItemUtils.getSimpleStack(tempIngot, 1), materialTier);
+ }
+ temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation);
+ temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation);
+ temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation);
+ temp = new BaseItemNugget(matInfo);
+ temp = new BaseItemPlate(matInfo);
+ temp = new BaseItemPlateDouble(matInfo);
+ temp = new BaseItemBolt(matInfo);
+ temp = new BaseItemRod(matInfo);
+ temp = new BaseItemRodLong(matInfo);
+ temp = new BaseItemRing(matInfo);
+ temp = new BaseItemScrew(matInfo);
+ temp = new BaseItemRotor(matInfo);
+ temp = new BaseItemGear(matInfo);
+ }
+
+ //Add A jillion Recipes
+ RecipeGen_Plates.generateRecipes(matInfo);
+ RecipeGen_Extruder.generateRecipes(matInfo);
+ RecipeGen_ShapedCrafting.generateRecipes(matInfo);
+ RecipeGen_DustGeneration.generateRecipes(matInfo);
+ RecipeGen_BlastSmelter.generateARecipe(matInfo);
+
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java b/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java
new file mode 100644
index 0000000000..ea02aaf1da
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java
@@ -0,0 +1,18 @@
+package gtPlusPlus.core.util.array;
+
+import java.util.Arrays;
+
+public class ArrayUtils {
+
+ public static void expandArray(Object[] someArray, Object newValueToAdd) {
+ Object[] series = someArray;
+ series = addElement(series, newValueToAdd);
+ }
+
+ private static Object[] addElement(Object[] series, Object newValueToAdd) {
+ series = Arrays.copyOf(series, series.length + 1);
+ series[series.length - 1] = newValueToAdd;
+ return series;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
index 39cdaacdb6..69d909f294 100644
--- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
@@ -4,26 +4,12 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
-import gtPlusPlus.core.block.base.BlockBaseModular;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.BasicSpawnEgg;
-import gtPlusPlus.core.item.base.bolts.BaseItemBolt;
import gtPlusPlus.core.item.base.dusts.BaseItemDust;
import gtPlusPlus.core.item.base.dusts.BaseItemDustUnique;
import gtPlusPlus.core.item.base.dusts.decimal.BaseItemCentidust;
import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust;
-import gtPlusPlus.core.item.base.gears.BaseItemGear;
-import gtPlusPlus.core.item.base.ingots.BaseItemIngot;
-import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot;
-import gtPlusPlus.core.item.base.nugget.BaseItemNugget;
-import gtPlusPlus.core.item.base.plates.BaseItemPlate;
-import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
-import gtPlusPlus.core.item.base.rings.BaseItemRing;
-import gtPlusPlus.core.item.base.rods.BaseItemRod;
-import gtPlusPlus.core.item.base.rods.BaseItemRodLong;
-import gtPlusPlus.core.item.base.rotors.BaseItemRotor;
-import gtPlusPlus.core.item.base.screws.BaseItemScrew;
import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase;
import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase;
import gtPlusPlus.core.lib.CORE;
@@ -32,16 +18,10 @@ import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.materials.MaterialUtils;
import gtPlusPlus.core.util.wrapper.var;
-import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelter;
-import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration;
-import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Extruder;
-import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Plates;
-import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_ShapedCrafting;
import java.util.ArrayList;
import java.util.List;
-import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
@@ -299,75 +279,6 @@ public class ItemUtils {
return null;
}
- public static void generateItemsFromMaterial(Material matInfo){
-
- String unlocalizedName = matInfo.getUnlocalizedName();
- String materialName = matInfo.getLocalizedName();
- short[] C = matInfo.getRGBA();
- int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
- boolean hotIngot = matInfo.requiresBlastFurnace();
- int materialTier = matInfo.vTier; //TODO
-
- if (materialTier > 10 || materialTier <= 0){
- materialTier = 2;
- }
-
-
-
- int sRadiation = 0;
- if (isRadioactive(materialName)){
- sRadiation = getRadioactivityLevel(materialName);
- }
-
- if (sRadiation >= 1){
- Item temp;
- Block tempBlock;
- tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour);
- temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation);
-
- temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation);
- temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation);
- temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation);
- temp = new BaseItemNugget(matInfo);
- temp = new BaseItemPlate(matInfo);
- temp = new BaseItemRod(matInfo);
- temp = new BaseItemRodLong(matInfo);
- }
-
- else {
- Item temp;
- Block tempBlock;
- tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour);
- tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.FRAME, Colour);
- temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation);
- if (hotIngot){
- Item tempIngot = temp;
- temp = new BaseItemIngotHot("itemHotIngot"+unlocalizedName, materialName, ItemUtils.getSimpleStack(tempIngot, 1), materialTier);
- }
- temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation);
- temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation);
- temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation);
- temp = new BaseItemNugget(matInfo);
- temp = new BaseItemPlate(matInfo);
- temp = new BaseItemPlateDouble(matInfo);
- temp = new BaseItemBolt(matInfo);
- temp = new BaseItemRod(matInfo);
- temp = new BaseItemRodLong(matInfo);
- temp = new BaseItemRing(matInfo);
- temp = new BaseItemScrew(matInfo);
- temp = new BaseItemRotor(matInfo);
- temp = new BaseItemGear(matInfo);
- }
-
- //Add A jillion Recipes
- RecipeGen_Plates.generateRecipes(matInfo);
- RecipeGen_Extruder.generateRecipes(matInfo);
- RecipeGen_ShapedCrafting.generateRecipes(matInfo);
- RecipeGen_DustGeneration.generateRecipes(matInfo);
- RecipeGen_BlastSmelter.generateARecipe(matInfo);
-
- }
-
public static Item[] generateDusts(String unlocalizedName, String materialName, int materialTier, Material matInfo, int Colour){
int radioactive = getRadioactivityLevel(materialName);
Item[] output = {
diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
index dac1162357..1ccb0f771c 100644
--- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
@@ -77,7 +77,7 @@ public class MaterialUtils {
50, //Protons
50, //Neutrons
false,
- null,
+ "",
sRadioactivity);
return temp;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java
index 34b8dde304..61661b324b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java
@@ -116,7 +116,7 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter
Utils.LOG_INFO("Found some Valid Inputs.");
long tVoltage = getMaxInputVoltage();
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sBlastRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
+ GT_Recipe tRecipe = Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
if ((tRecipe != null) && (this.mHeatingCapacity >= tRecipe.mSpecialValue) && (tRecipe.isRecipeInputEqual(true, tFluids, tInputs))) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
@@ -135,7 +135,7 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter
this.mEUt = (-this.mEUt);
}
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
- this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0), tRecipe.getOutput(1)};
+ this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)};
updateSlots();
return true;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index 54a5614b80..fec7fade67 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -2,13 +2,9 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.enums.SubTag;
-import gregtech.api.objects.MaterialStack;
-import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.ItemUtils;
@@ -16,159 +12,20 @@ import java.util.ArrayList;
import net.minecraft.item.ItemStack;
-public class RecipeGen_BlastSmelter {
+public class RecipeGen_BlastSmelter implements Runnable{
- public static void generateRecipes(){
-
- Materials[] GregMaterials = Materials.values();
-
- for (Materials M : GregMaterials){
-
- if (M.equals(Materials.Iridium) || M.equals(Materials.Osmium) || M.equals(Materials.Osmiridium)
- || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
- || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
- || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
- || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
- ){
-
-
- //Add a Blast Smelting Recipe, Let's go!
- ItemStack tStack;
- if ((null != (tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, M.mSmeltInto, 1L))) && (!M.contains(SubTag.NO_SMELTING) && (M.contains(SubTag.METAL)))) {
-
- //Prepare some Variables
- ItemStack[] components;
- MaterialStack[] tMaterial;
- short counter=0;
- int inputStackCount=0;
- int fluidAmount=0;
- boolean doTest = true;
-
- //This Bad boy here is what dictates unique recipes. Fuck life, right?
- ItemStack circuitGT = ItemUtils.getGregtechCircuit(0);
-
-
- //Set a duration
- int duration = 0;
- if (M.mBlastFurnaceTemp > 150){
- duration = (int) Math.max(M.getMass() / 50L, 1L) * M.mBlastFurnaceTemp;
- }
- else {
- duration = (int) Math.max(M.getMass() / 50L, 1L) * 150;
- }
-
-
- //Make a simple one Material Materialstack[] and log it for validity.
- tMaterial = new MaterialStack[]{new MaterialStack(M, 1)};
- circuitGT = ItemUtils.getGregtechCircuit(1);
- ItemStack[] tItemStackTest = new ItemStack[]{circuitGT, ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+M, 1)};
- inputStackCount = 1;
- fluidAmount = 144*inputStackCount;
- Utils.LOG_WARNING("Adding an Alloy Blast Smelter Recipe for "+M+". Gives "+fluidAmount+"L of molten metal.");
- Utils.LOG_WARNING("tMaterial.length: "+tMaterial.length+".");
- for (int das=0;das<tItemStackTest.length;das++){
- if (tItemStackTest[das] != null)
- Utils.LOG_WARNING("tMaterial["+das+"]: "+tItemStackTest[das].getDisplayName()+" Meta: "+tItemStackTest[das].getItemDamage()+", Amount: "+tItemStackTest[das].stackSize);
- }
-
- //Generate Recipes for all singular materials that can be made molten.
- if (M.mBlastFurnaceRequired) {
- doTest = CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getMolten(fluidAmount), 100, duration, 240);
- }
- else {
- doTest = CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getMolten(fluidAmount), 100, duration/2, 120);
- }
-
- if (doTest){
- //Reset the Variables for compounds if last recipe was a success.
- inputStackCount=0;
- counter=0;
-
-
- int mMaterialListSize=0;
- for (MaterialStack ternkfsdf:M.mMaterialList){
- mMaterialListSize++;
- }
- Utils.LOG_WARNING("Size: "+mMaterialListSize);
- //If this Material has some kind of compound list, proceed
- if (mMaterialListSize > 1){
- MaterialStack[] tempStack = new MaterialStack[mMaterialListSize];
- circuitGT = ItemUtils.getGregtechCircuit(mMaterialListSize);
- //Just double checking
- if (tempStack.length > 1){
-
- //Builds me a MaterialStack[] from the MaterialList of M.
- int ooo=0;
- for (MaterialStack xMaterial : M.mMaterialList){
- Utils.LOG_WARNING("FOUND: "+xMaterial.mMaterial);
- Utils.LOG_WARNING("ADDING: "+xMaterial.mMaterial);
- tempStack[ooo] = M.mMaterialList.get(ooo);
- ooo++;
- }
-
- //Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for the 144L fluid multiplier
- components = new ItemStack[tempStack.length];
- for (MaterialStack aOutputPart : tempStack){
- if (aOutputPart != null){
- Utils.LOG_WARNING("Finding dust: "+aOutputPart.mMaterial);
- ItemStack rStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+aOutputPart.mMaterial, (int) aOutputPart.mAmount);
- if (rStack != null){
- Utils.LOG_WARNING("Found dust: "+aOutputPart.mMaterial);
- components[counter] = rStack;
- inputStackCount = inputStackCount+rStack.stackSize;
- }
- }
- counter++;
- }
-
-
- if (mMaterialListSize > 0 && mMaterialListSize < 9){
- ItemStack[] components_NoCircuit = components;
- //Builds me an ItemStack[] of the materials. - With a circuit
- components = new ItemStack[components_NoCircuit.length+1];
- for (int fr=0;fr<components.length;fr++){
- if (fr==0){
- components[0] = circuitGT;
- }
- else {
- components[fr] = components_NoCircuit[fr-1];
- }
- }
- }
-
- /*//Add a shapeless recipe for each dust this way - Compat mode.
- ItemStack outputStack = tStack;
- outputStack.stackSize = mMaterialListSize;
- RecipeUtils.buildShapelessRecipe(outputStack, components);*/
-
-
-
- //Set Fluid output
- fluidAmount = 144*inputStackCount;
-
-
- Utils.LOG_WARNING("Adding an Alloy Blast Smelter Recipe for "+M+" using it's compound dusts. This material has "+ inputStackCount+" parts. Gives "+fluidAmount+"L of molten metal.");
- Utils.LOG_WARNING("tMaterial.length: "+components.length+".");
- for (int das=0;das<components.length;das++){
- if (components[das] != null)
- Utils.LOG_WARNING("tMaterial["+das+"]: "+components[das].getDisplayName()+" Meta: "+components[das].getItemDamage()+", Amount: "+components[das].stackSize);
- }
- if (M.mBlastFurnaceRequired) {
- CORE.RA.addBlastSmelterRecipe(components, M.getMolten(fluidAmount), 100, duration, 500);
- }
- else {
- CORE.RA.addBlastSmelterRecipe(components, M.getMolten(fluidAmount), 100, duration, 240);
- }
- }
- }
- }
- }
- }
- }
+ final Material toGenerate;
+
+ public RecipeGen_BlastSmelter(final Material M){
+ this.toGenerate = M;
+ }
+
+ @Override
+ public void run() {
+ generateARecipe(toGenerate);
}
-
- public static void generateARecipe(Material M){
+ public static void generateARecipe(final Material M){
//Add a Blast Smelting Recipe, Let's go!
ItemStack tStack;
@@ -176,7 +33,7 @@ public class RecipeGen_BlastSmelter {
//Prepare some Variables
ItemStack[] components;
- ArrayList<gtPlusPlus.core.material.MaterialStack> tMaterial;
+ ArrayList<MaterialStack> tMaterial = new ArrayList<MaterialStack>();
short counter=0;
int inputStackCount=0;
int fluidAmount=0;
@@ -367,22 +224,5 @@ public class RecipeGen_BlastSmelter {
Utils.LOG_WARNING("doTest: "+doTest+" | tMaterial != null: "+(tMaterial != null));
}
}
-
}
-
-
- private ItemStack[] getItemStackFromMaterialStack(MaterialStack[] aInput){
- ItemStack[] components = new ItemStack[aInput.length];
- short counter=0;
- for (MaterialStack aOutputPart : aInput){
- if (aOutputPart != null && components[counter] != null){
- ItemStack aStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+aOutputPart.mMaterial, (int) aOutputPart.mAmount);
- components[counter] = aStack;
- }
- counter++;
- }
- return components;
- }
-
-
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT.java
new file mode 100644
index 0000000000..be2dbff77a
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT.java
@@ -0,0 +1,172 @@
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.objects.MaterialStack;
+import gregtech.api.util.GT_OreDictUnificator;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
+import net.minecraft.item.ItemStack;
+
+public class RecipeGen_BlastSmelterGT implements Runnable{
+
+ public RecipeGen_BlastSmelterGT(){
+
+ }
+
+ @Override
+ public void run() {
+ generateRecipes();
+ }
+
+ public static void generateRecipes(){
+
+ Materials[] GregMaterials = Materials.values();
+
+ for (Materials M : GregMaterials){
+
+ if (M.equals(Materials.Iridium) || M.equals(Materials.Osmium) || M.equals(Materials.Osmiridium)
+ || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
+ || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
+ || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
+ || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium)
+ ){
+
+
+ //Add a Blast Smelting Recipe, Let's go!
+ ItemStack tStack;
+ if ((null != (tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, M.mSmeltInto, 1L))) && (!M.contains(SubTag.NO_SMELTING) && (M.contains(SubTag.METAL)))) {
+
+ //Prepare some Variables
+ ItemStack[] components;
+ MaterialStack[] tMaterial;
+ short counter=0;
+ int inputStackCount=0;
+ int fluidAmount=0;
+ boolean doTest = true;
+
+ //This Bad boy here is what dictates unique recipes. Fuck life, right?
+ ItemStack circuitGT = ItemUtils.getGregtechCircuit(0);
+
+
+ //Set a duration
+ int duration = 0;
+ if (M.mBlastFurnaceTemp > 150){
+ duration = (int) Math.max(M.getMass() / 50L, 1L) * M.mBlastFurnaceTemp;
+ }
+ else {
+ duration = (int) Math.max(M.getMass() / 50L, 1L) * 150;
+ }
+
+
+ //Make a simple one Material Materialstack[] and log it for validity.
+ tMaterial = new MaterialStack[]{new MaterialStack(M, 1)};
+ circuitGT = ItemUtils.getGregtechCircuit(1);
+ ItemStack[] tItemStackTest = new ItemStack[]{circuitGT, ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+M, 1)};
+ inputStackCount = 1;
+ fluidAmount = 144*inputStackCount;
+ Utils.LOG_WARNING("Adding an Alloy Blast Smelter Recipe for "+M+". Gives "+fluidAmount+"L of molten metal.");
+ Utils.LOG_WARNING("tMaterial.length: "+tMaterial.length+".");
+ for (int das=0;das<tItemStackTest.length;das++){
+ if (tItemStackTest[das] != null)
+ Utils.LOG_WARNING("tMaterial["+das+"]: "+tItemStackTest[das].getDisplayName()+" Meta: "+tItemStackTest[das].getItemDamage()+", Amount: "+tItemStackTest[das].stackSize);
+ }
+
+ //Generate Recipes for all singular materials that can be made molten.
+ if (M.mBlastFurnaceRequired) {
+ doTest = CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getMolten(fluidAmount), 100, duration, 240);
+ }
+ else {
+ doTest = CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getMolten(fluidAmount), 100, duration/2, 120);
+ }
+
+ if (doTest){
+ //Reset the Variables for compounds if last recipe was a success.
+ inputStackCount=0;
+ counter=0;
+
+
+ int mMaterialListSize=0;
+ for (MaterialStack ternkfsdf:M.mMaterialList){
+ mMaterialListSize++;
+ }
+ Utils.LOG_WARNING("Size: "+mMaterialListSize);
+ //If this Material has some kind of compound list, proceed
+ if (mMaterialListSize > 1){
+ MaterialStack[] tempStack = new MaterialStack[mMaterialListSize];
+ circuitGT = ItemUtils.getGregtechCircuit(mMaterialListSize);
+ //Just double checking
+ if (tempStack.length > 1){
+
+ //Builds me a MaterialStack[] from the MaterialList of M.
+ int ooo=0;
+ for (MaterialStack xMaterial : M.mMaterialList){
+ Utils.LOG_WARNING("FOUND: "+xMaterial.mMaterial);
+ Utils.LOG_WARNING("ADDING: "+xMaterial.mMaterial);
+ tempStack[ooo] = M.mMaterialList.get(ooo);
+ ooo++;
+ }
+
+ //Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for the 144L fluid multiplier
+ components = new ItemStack[tempStack.length];
+ for (MaterialStack aOutputPart : tempStack){
+ if (aOutputPart != null){
+ Utils.LOG_WARNING("Finding dust: "+aOutputPart.mMaterial);
+ ItemStack rStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+aOutputPart.mMaterial, (int) aOutputPart.mAmount);
+ if (rStack != null){
+ Utils.LOG_WARNING("Found dust: "+aOutputPart.mMaterial);
+ components[counter] = rStack;
+ inputStackCount = inputStackCount+rStack.stackSize;
+ }
+ }
+ counter++;
+ }
+
+
+ if (mMaterialListSize > 0 && mMaterialListSize < 9){
+ ItemStack[] components_NoCircuit = components;
+ //Builds me an ItemStack[] of the materials. - With a circuit
+ components = new ItemStack[components_NoCircuit.length+1];
+ for (int fr=0;fr<components.length;fr++){
+ if (fr==0){
+ components[0] = circuitGT;
+ }
+ else {
+ components[fr] = components_NoCircuit[fr-1];
+ }
+ }
+ }
+
+ /*//Add a shapeless recipe for each dust this way - Compat mode.
+ ItemStack outputStack = tStack;
+ outputStack.stackSize = mMaterialListSize;
+ RecipeUtils.buildShapelessRecipe(outputStack, components);*/
+
+
+
+ //Set Fluid output
+ fluidAmount = 144*inputStackCount;
+
+
+ Utils.LOG_WARNING("Adding an Alloy Blast Smelter Recipe for "+M+" using it's compound dusts. This material has "+ inputStackCount+" parts. Gives "+fluidAmount+"L of molten metal.");
+ Utils.LOG_WARNING("tMaterial.length: "+components.length+".");
+ for (int das=0;das<components.length;das++){
+ if (components[das] != null)
+ Utils.LOG_WARNING("tMaterial["+das+"]: "+components[das].getDisplayName()+" Meta: "+components[das].getItemDamage()+", Amount: "+components[das].stackSize);
+ }
+ if (M.mBlastFurnaceRequired) {
+ CORE.RA.addBlastSmelterRecipe(components, M.getMolten(fluidAmount), 100, duration, 500);
+ }
+ else {
+ CORE.RA.addBlastSmelterRecipe(components, M.getMolten(fluidAmount), 100, duration, 240);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index 4f847d697f..c0122cbcf5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -7,10 +7,21 @@ import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.recipe.RecipeUtils;
import net.minecraft.item.ItemStack;
-public class RecipeGen_DustGeneration {
+public class RecipeGen_DustGeneration implements Runnable{
- public static void generateRecipes(Material material){
- int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 64 : 16;
+ final Material toGenerate;
+
+ public RecipeGen_DustGeneration(final Material M){
+ this.toGenerate = M;
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(toGenerate);
+ }
+
+ public static void generateRecipes(final Material material){
+ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 64 : 16;
Utils.LOG_WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO
//Ring Recipe
@@ -27,12 +38,12 @@ public class RecipeGen_DustGeneration {
}
- ItemStack normalDust = material.getDust(1);
- ItemStack smallDust = material.getSmallDust(1);
- ItemStack tinyDust = material.getTinyDust(1);
+ final ItemStack normalDust = material.getDust(1);
+ final ItemStack smallDust = material.getSmallDust(1);
+ final ItemStack tinyDust = material.getTinyDust(1);
- ItemStack[] inputStacks = material.getMaterialComposites();
- ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing);
+ final ItemStack[] inputStacks = material.getMaterialComposites();
+ final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing);
if (RecipeUtils.recipeBuilder(
tinyDust, tinyDust, tinyDust,
@@ -87,7 +98,7 @@ public class RecipeGen_DustGeneration {
if (inputStacks.length != 0 && inputStacks.length <= 4){
//Log Input items
Utils.LOG_WARNING(ItemUtils.getArrayStackNames(inputStacks));
- long[] inputStackSize = material.vSmallestRatio;
+ final long[] inputStackSize = material.vSmallestRatio;
Utils.LOG_INFO("mixer is stacksizeVar null? "+(inputStackSize != null));
//Is smallest ratio invalid?
if (inputStackSize != null){
@@ -98,10 +109,18 @@ public class RecipeGen_DustGeneration {
}
//Relog input values, with stack sizes
Utils.LOG_WARNING(ItemUtils.getArrayStackNames(inputStacks));
+
+ //Get us four ItemStacks to input into the mixer
+ ItemStack input1, input2, input3, input4;
+ input1 = (inputStacks.length >= 1) ? (input1 = (inputStacks[0] == null) ? null : inputStacks[0]) : null;
+ input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) : null;
+ input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) : null;
+ input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) : null;
+
//Add mixer Recipe
if (GT_Values.RA.addMixerRecipe(
- inputStacks[0], inputStacks[1],
- inputStacks[2], inputStacks[3],
+ input1, input2,
+ input3, input4,
null, null,
outputStacks,
(int) Math.max(material.getMass() * 2L * 1, 1),
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
index add6cf41b4..0502156525 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
@@ -8,18 +8,28 @@ import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import net.minecraft.item.ItemStack;
-public class RecipeGen_Plates {
+public class RecipeGen_Plates implements Runnable{
- public static void generateRecipes(Material material){
+ final Material toGenerate;
+
+ public RecipeGen_Plates(final Material M){
+ this.toGenerate = M;
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(toGenerate);
+ }
+
+ public static void generateRecipes(final Material material){
- int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 64 : 16;
- ItemStack ingotStackOne = material.getIngot(1);
- ItemStack ingotStackTwo = material.getIngot(2);
- ItemStack shape_Mold = ItemList.Shape_Mold_Plate.get(0);
- ItemStack shape_Extruder = ItemList.Shape_Extruder_Plate.get(0);
- ItemStack plate_Single = material.getPlate(1);
- ItemStack plate_SingleTwo = material.getPlate(2);
- ItemStack plate_Double = material.getPlateDouble(1);
+ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 64 : 16;
+ final ItemStack ingotStackOne = material.getIngot(1);
+ final ItemStack ingotStackTwo = material.getIngot(2);
+ final ItemStack shape_Mold = ItemList.Shape_Mold_Plate.get(0);
+ final ItemStack plate_Single = material.getPlate(1);
+ final ItemStack plate_SingleTwo = material.getPlate(2);
+ final ItemStack plate_Double = material.getPlateDouble(1);
Utils.LOG_WARNING("Generating Plate recipes for "+material.getLocalizedName());
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
index 0e8db188ae..6eaa164342 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
@@ -6,9 +6,20 @@ import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.recipe.RecipeUtils;
import net.minecraft.item.ItemStack;
-public class RecipeGen_ShapedCrafting {
+public class RecipeGen_ShapedCrafting implements Runnable{
- public static void generateRecipes(Material material){
+ final Material toGenerate;
+
+ public RecipeGen_ShapedCrafting(final Material M){
+ this.toGenerate = M;
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(toGenerate);
+ }
+
+ public static void generateRecipes(final Material material){
Utils.LOG_WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO
//Plates
@@ -62,7 +73,7 @@ public class RecipeGen_ShapedCrafting {
//Framebox Recipe
if (!material.isRadioactive){
- ItemStack stackStick = material.getRod(1);
+ final ItemStack stackStick = material.getRod(1);
if (RecipeUtils.recipeBuilder(
stackStick, stackStick, stackStick,
stackStick, "craftingToolWrench", stackStick,