diff options
| author | Draknyte1 <Draknyte1@hotmail.com> | 2016-10-25 23:47:58 +1000 |
|---|---|---|
| committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-10-25 23:47:58 +1000 |
| commit | f2a89339d7f6f875d34d4a7bb1868a1d4a3cf644 (patch) | |
| tree | 114d97fb80a7a6310ea0a6f77030607f83bed627 /src/Java/gtPlusPlus/core/util/recipe | |
| parent | e5e1581403e9f6e9d76e362c5e4861b4258af7cc (diff) | |
| download | GT5-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/recipe')
| -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.java | 56 |
2 files changed, 70 insertions, 9 deletions
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; + } + + +} |
