aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/recipe
diff options
context:
space:
mode:
authordraknyte1 <draknyte1@hotmail.com>2016-11-02 15:49:00 +1000
committerdraknyte1 <draknyte1@hotmail.com>2016-11-02 15:49:00 +1000
commitd594987b2cfdefa447ee585a68d4a4bef4ece3a5 (patch)
tree814813fc14ce5dcd8dfa7aeaecd939ac42d12877 /src/Java/gtPlusPlus/core/util/recipe
parent26292158575a0f0acb51ae50715887f871d2b5a0 (diff)
parent49a520da5da01594b5c42652d9db5c7c04e49ad8 (diff)
downloadGT5-Unofficial-d594987b2cfdefa447ee585a68d4a4bef4ece3a5.tar.gz
GT5-Unofficial-d594987b2cfdefa447ee585a68d4a4bef4ece3a5.tar.bz2
GT5-Unofficial-d594987b2cfdefa447ee585a68d4a4bef4ece3a5.zip
Merge branch 'master' of https://github.com/draknyte1/GTplusplus
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/recipe')
-rw-r--r--src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java (renamed from src/Java/gtPlusPlus/core/util/recipe/UtilsRecipe.java)46
-rw-r--r--src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java56
2 files changed, 85 insertions, 17 deletions
diff --git a/src/Java/gtPlusPlus/core/util/recipe/UtilsRecipe.java b/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java
index 997aaa95c9..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,9 +22,9 @@ 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 void 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){
+ 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){
ArrayList<Object> validSlots = new ArrayList<Object>();
@@ -101,13 +102,14 @@ public class UtilsRecipe {
try {
GameRegistry.addRecipe(new ShapedOreRecipe(resultItem.copy(), (Object[]) validSlots.toArray()));
- Utils.LOG_INFO("Success! Added a recipe for "+resultItem.toString());
+ Utils.LOG_INFO("Success! Added a recipe for "+resultItem.getDisplayName());
if (!COMPAT_HANDLER.areInitItemsLoaded){
RegistrationHandler.recipesSuccess++;
}
else {
LateRegistrationHandler.recipesSuccess++;
}
+ return true;
}
catch(NullPointerException | ClassCastException k){
k.getMessage();
@@ -120,7 +122,8 @@ public class UtilsRecipe {
}
else {
LateRegistrationHandler.recipesFailed++;
- }
+ }
+ return false;
}
}
@@ -173,7 +176,7 @@ public class UtilsRecipe {
//GameRegistry.addRecipe(new ShapelessOreRecipe(Output, outputAmount), (Object[]) validSlots.toArray());
GameRegistry.addRecipe(new ShapelessOreRecipe(Output, (Object[]) validSlots.toArray()));
//GameRegistry.addShapelessRecipe(new ItemStack(output_ITEM, 1), new Object[] {slot_1, slot_2});
- Utils.LOG_INFO("Success! Added a recipe for "+Output.toString());
+ Utils.LOG_INFO("Success! Added a recipe for "+Output.getDisplayName());
RegistrationHandler.recipesSuccess++;
}
catch(RuntimeException k){
@@ -241,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;
}
@@ -267,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;
}
@@ -314,7 +317,7 @@ public class UtilsRecipe {
- public static void addShapedGregtechRecipe(
+ public static boolean addShapedGregtechRecipe(
Object InputItem1, Object InputItem2, Object InputItem3,
Object InputItem4, Object InputItem5, Object InputItem6,
Object InputItem7, Object InputItem8, Object InputItem9,
@@ -330,10 +333,10 @@ public class UtilsRecipe {
(!(InputItem8 instanceof ItemStack) && !(InputItem8 instanceof String) && (InputItem8 != null)) ||
(!(InputItem9 instanceof ItemStack) && !(InputItem9 instanceof String) && (InputItem9 != null))){
Utils.LOG_INFO("One Input item was not an ItemStack of an OreDict String.");
- return;
+ return false;
}
- GT_ModHandler.addCraftingRecipe(OutputItem,
+ if (GT_ModHandler.addCraftingRecipe(OutputItem,
GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE |
GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
new Object[]{"ABC", "DEF", "GHI",
@@ -345,18 +348,23 @@ public class UtilsRecipe {
'F', InputItem6,
'G', InputItem7,
'H', InputItem8,
- 'I', InputItem9});
+ 'I', InputItem9})){
+ Utils.LOG_INFO("Success! Added a recipe for "+OutputItem.getDisplayName());
+ RegistrationHandler.recipesSuccess++;
+ return true;
+ }
+ return false;
}
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});
@@ -367,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;
+ }
+
+
+}