aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-10-25 23:47:58 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-10-25 23:47:58 +1000
commitf2a89339d7f6f875d34d4a7bb1868a1d4a3cf644 (patch)
tree114d97fb80a7a6310ea0a6f77030607f83bed627 /src/Java/gtPlusPlus/core/util
parente5e1581403e9f6e9d76e362c5e4861b4258af7cc (diff)
downloadGT5-Unofficial-f2a89339d7f6f875d34d4a7bb1868a1d4a3cf644.tar.gz
GT5-Unofficial-f2a89339d7f6f875d34d4a7bb1868a1d4a3cf644.tar.bz2
GT5-Unofficial-f2a89339d7f6f875d34d4a7bb1868a1d4a3cf644.zip
+ Tried improving the handling of Blast Smelting.
+ Tried adding shapeless dust recipes for all of my alloys. (The shapeless recipe system is dumb) + Added a custom GUI for NEI recipes for the Blast Smelter. % Refactored some Utils classes.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java4
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java (renamed from src/Java/gtPlusPlus/core/util/item/UtilsItems.java)14
-rw-r--r--src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java (renamed from src/Java/gtPlusPlus/core/util/recipe/UtilsRecipe.java)23
-rw-r--r--src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java56
-rw-r--r--src/Java/gtPlusPlus/core/util/wrapper/var.java8
5 files changed, 84 insertions, 21 deletions
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index 93621200ab..2e25b8b0e9 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -6,7 +6,7 @@ import gregtech.api.enums.TC_Aspects.TC_AspectStack;
import gtPlusPlus.GTplusplus;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
import ic2.core.Ic2Items;
import ic2.core.init.InternalName;
@@ -488,7 +488,7 @@ public class Utils {
ItemStack temp = (ItemStack) methode.invoke(item, cellID++, yourName, new Block[0]);
Utils.LOG_INFO("Successfully created "+temp.getDisplayName()+"s.");
FluidContainerRegistry.registerFluidContainer(FluidUtils.getFluidStack(s.toLowerCase(), 0), temp.copy(), Ic2Items.cell.copy());
- UtilsItems.addItemToOreDictionary(temp.copy(), "cell"+s);
+ ItemUtils.addItemToOreDictionary(temp.copy(), "cell"+s);
return temp;
}
catch(Exception e){
diff --git a/src/Java/gtPlusPlus/core/util/item/UtilsItems.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
index dcc73860d0..89d78413c0 100644
--- a/src/Java/gtPlusPlus/core/util/item/UtilsItems.java
+++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
@@ -32,6 +32,7 @@ import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.fluid.FluidUtils;
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;
@@ -48,7 +49,7 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.registry.GameRegistry;
-public class UtilsItems {
+public class ItemUtils {
public static ItemStack getSimpleStack(Item x){
return getSimpleStack(x, 1);
@@ -72,7 +73,7 @@ public class UtilsItems {
}
public static ItemStack getIC2Cell(String S){
- ItemStack moreTemp = UtilsItems.getItemStackOfAmountFromOreDictNoBroken("cell"+S, 1);
+ ItemStack moreTemp = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+S, 1);
if (moreTemp == null){
int cellID = 0;
@@ -192,12 +193,12 @@ public class UtilsItems {
ItemStack temp;
if (fqrn.toLowerCase().contains(oreDict.toLowerCase())){
String sanitizedName = fqrn.replace(oreDict, "");
- temp = UtilsItems.getItemStack(sanitizedName, stackSize);
+ temp = ItemUtils.getItemStack(sanitizedName, stackSize);
return temp;
}
String[] fqrnSplit = fqrn.split(":");
if(fqrnSplit[2] == null){fqrnSplit[2] = "0";}
- temp = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(fqrnSplit[2]), stackSize);
+ temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(fqrnSplit[2]), stackSize);
return temp;
}
@@ -341,7 +342,7 @@ public class UtilsItems {
temp = new BaseItemIngot("itemIngot"+unlocalizedName, materialName, Colour, sRadiation);
if (hotIngot){
Item tempIngot = temp;
- temp = new BaseItemIngotHot("itemHotIngot"+unlocalizedName, materialName, UtilsItems.getSimpleStack(tempIngot, 1), materialTier);
+ 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);
@@ -363,6 +364,7 @@ public class UtilsItems {
RecipeGen_Extruder.generateRecipes(matInfo);
RecipeGen_ShapedCrafting.generateRecipes(matInfo);
RecipeGen_DustGeneration.generateRecipes(matInfo);
+ RecipeGen_BlastSmelter.generateARecipe(matInfo);
FluidUtils.generateFluid(matInfo, 1);
@@ -559,7 +561,7 @@ public class UtilsItems {
}
public static ItemStack getGregtechCircuit(int Meta){
- return UtilsItems.getItemStackWithMeta(LoadedMods.Gregtech, "gregtech:gt.integrated_circuit", "Gregtech Circuit", Meta, 0);
+ return ItemUtils.getItemStackWithMeta(LoadedMods.Gregtech, "gregtech:gt.integrated_circuit", "Gregtech Circuit", Meta, 0);
}
}
diff --git a/src/Java/gtPlusPlus/core/util/recipe/UtilsRecipe.java b/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java
index ee582c0646..39a118e440 100644
--- a/src/Java/gtPlusPlus/core/util/recipe/UtilsRecipe.java
+++ b/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java
@@ -6,7 +6,8 @@ import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler;
import gtPlusPlus.core.handler.Recipes.RegistrationHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.recipe.shapeless.ShapelessUtils;
import java.util.ArrayList;
import java.util.Iterator;
@@ -21,7 +22,7 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import cpw.mods.fml.common.registry.GameRegistry;
-public class UtilsRecipe {
+public class RecipeUtils {
public static boolean recipeBuilder(Object slot_1, Object slot_2, Object slot_3, Object slot_4, Object slot_5, Object slot_6, Object slot_7, Object slot_8, Object slot_9, ItemStack resultItem){
@@ -243,7 +244,7 @@ public class UtilsRecipe {
public static boolean removeCraftingRecipe(Object x){
if (null == x){return false;}
if (x instanceof String){
- Item R = UtilsItems.getItem((String) x);
+ Item R = ItemUtils.getItem((String) x);
if (R != null){
x = R;
}
@@ -269,7 +270,7 @@ public class UtilsRecipe {
return false;
}
}
- if (UtilsRecipe.attemptRecipeRemoval((Item) x)){
+ if (RecipeUtils.attemptRecipeRemoval((Item) x)){
Utils.LOG_INFO("Recipe removal successful");
return true;
}
@@ -358,12 +359,12 @@ public class UtilsRecipe {
public static void addShapelessGregtechRecipe(ItemStack OutputItem, Object... inputItems){
for(Object whatever : inputItems){
- if (!(whatever instanceof ItemStack) && !(whatever instanceof String)){
+ if (!(whatever instanceof ItemStack) && !(whatever instanceof String)){
Utils.LOG_INFO("One Input item was not an ItemStack of an OreDict String.");
- return;
- }
- }
-
+ return;
+ }
+ }
+
GT_ModHandler.addShapelessCraftingRecipe(OutputItem,
GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE,
new Object[]{inputItems});
@@ -374,4 +375,8 @@ public class UtilsRecipe {
return oreDictList.get(0);
}
+ public static boolean buildShapelessRecipe(ItemStack output, Object[] input){
+ return ShapelessUtils.addShapelessRecipe(output, input);
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java b/src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java
new file mode 100644
index 0000000000..bf9d4960d8
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java
@@ -0,0 +1,56 @@
+package gtPlusPlus.core.util.recipe.shapeless;
+
+import gtPlusPlus.core.util.Utils;
+
+import java.util.ArrayList;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.ShapelessRecipes;
+
+public class ShapelessUtils {
+
+
+ public static boolean addShapelessRecipe(ItemStack output, Object ... params)
+ {
+ ArrayList<ItemStack> arraylist = new ArrayList<ItemStack>();
+ Object[] aobject = params;
+ int i = params.length;
+
+ for (int j = 0; j < i; ++j)
+ {
+ Object object1 = aobject[j];
+
+ if (object1 instanceof ItemStack)
+ {
+ arraylist.add(((ItemStack)object1).copy());
+ }
+ else if (object1 instanceof Item)
+ {
+ arraylist.add(new ItemStack((Item)object1));
+ }
+ else
+ {
+ if ((object1 == null))
+ {
+ Utils.LOG_INFO(("Invalid shapeless input, ignoring!"));
+ }
+ else if (!(object1 instanceof Block) && (object1 != null))
+ {
+ Utils.LOG_INFO(("Invalid shapeless recipe!"));
+ return false;
+ }
+ else {
+ arraylist.add(new ItemStack((Block)object1));
+ }
+ }
+ }
+ CraftingManager.getInstance().getRecipeList().add(new ShapelessRecipes(output, arraylist));
+ //CraftingManager.getInstance().addShapelessRecipe(output, arraylist);
+ return true;
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/util/wrapper/var.java b/src/Java/gtPlusPlus/core/util/wrapper/var.java
index d5e55bd658..3e7413ed85 100644
--- a/src/Java/gtPlusPlus/core/util/wrapper/var.java
+++ b/src/Java/gtPlusPlus/core/util/wrapper/var.java
@@ -2,7 +2,7 @@ package gtPlusPlus.core.util.wrapper;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.item.ItemStack;
public class var{
@@ -42,7 +42,7 @@ public class var{
}
private ItemStack getOreDictStack(int stackSize){
- ItemStack v = UtilsItems.getItemStack(sanitizedName, stackSize);
+ ItemStack v = ItemUtils.getItemStack(sanitizedName, stackSize);
return v;
}
@@ -56,10 +56,10 @@ public class var{
String meta = "0";
try {
if(fqrnSplit[2] != null){meta = fqrnSplit[2];}
- temp = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(meta), stackSize);
+ temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(meta), stackSize);
}
catch (ArrayIndexOutOfBoundsException a){
- temp = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(meta), stackSize);
+ temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(meta), stackSize);
}
return temp;
}