From bdb138cf17738a684bc95d81ae72ee1faab48a42 Mon Sep 17 00:00:00 2001 From: pahimar Date: Fri, 28 Jun 2013 15:27:21 -0400 Subject: [PATCH] Vanilla smelting "recipes" now also provide output that can be consumed by the DynEMC system --- .../pahimar/ee3/core/util/EnergyStack.java | 49 ++ .../com/pahimar/ee3/core/util/OreStack.java | 72 +-- .../pahimar/ee3/core/util/RecipeHelper.java | 1 + .../pahimar/ee3/item/CustomWrappedStack.java | 74 ++- .../ee3/item/crafting/RecipeRegistry.java | 21 +- .../ee3/item/crafting/RecipesPotions.java | 437 +++++++++--------- .../ee3/item/crafting/RecipesSmeltable.java | 41 ++ 7 files changed, 419 insertions(+), 276 deletions(-) create mode 100644 ee3_common/com/pahimar/ee3/core/util/EnergyStack.java create mode 100644 ee3_common/com/pahimar/ee3/item/crafting/RecipesSmeltable.java diff --git a/ee3_common/com/pahimar/ee3/core/util/EnergyStack.java b/ee3_common/com/pahimar/ee3/core/util/EnergyStack.java new file mode 100644 index 00000000..04481a01 --- /dev/null +++ b/ee3_common/com/pahimar/ee3/core/util/EnergyStack.java @@ -0,0 +1,49 @@ +package com.pahimar.ee3.core.util; + + +public class EnergyStack { + + public static final String VANILLA_SMELTING_ENERGY_NAME = "vanillaFuelValueUnits"; + public static final int VANILLA_SMELTING_ENERGY_THRESHOLD = 200; + + public String energyName; + public int stackSize; + + public EnergyStack(String energyName, int stackSize) { + + this.energyName = energyName; + this.stackSize = stackSize; + } + + public EnergyStack() { + + this("", 0); + } + + public EnergyStack(String energyName) { + + this(energyName, 1); + } + + @Override + public String toString() { + StringBuilder stringBuilder = new StringBuilder(); + + stringBuilder.append(String.format("%dxenergyStack.%s", stackSize, energyName)); + + return stringBuilder.toString(); + } + + @Override + public boolean equals(Object object) { + + if (!(object instanceof EnergyStack)) { + return false; + } + + EnergyStack energyStack = (EnergyStack) object; + + return (this.stackSize == energyStack.stackSize && this.energyName.equalsIgnoreCase(energyStack.energyName)); + } + +} diff --git a/ee3_common/com/pahimar/ee3/core/util/OreStack.java b/ee3_common/com/pahimar/ee3/core/util/OreStack.java index b3cd2c46..da143c7e 100644 --- a/ee3_common/com/pahimar/ee3/core/util/OreStack.java +++ b/ee3_common/com/pahimar/ee3/core/util/OreStack.java @@ -10,84 +10,88 @@ public class OreStack implements Comparator { public String oreName; public int stackSize; - + public OreStack() { - + stackSize = 0; oreName = null; } - + public OreStack(String oreName, int stackSize) { - + this.oreName = oreName; this.stackSize = stackSize; } - + public OreStack(String oreName) { - + this(oreName, 1); } - + public OreStack(int oreID) { - + this(OreDictionary.getOreName(oreID)); } - + public OreStack(int oreID, int stackSize) { - + this(OreDictionary.getOreName(oreID), stackSize); } - + public OreStack(ItemStack itemStack) { - + this(OreDictionary.getOreID(itemStack), itemStack.stackSize); } - + public ArrayList getOres() { - + return OreDictionary.getOres(oreName); } - + public int getOreID() { - + return OreDictionary.getOreID(oreName); } - + + @Override public String toString() { - return "" + stackSize + "xoreDictionary." + oreName; + + StringBuilder stringBuilder = new StringBuilder(); + + stringBuilder.append(String.format("%dxoreDictionary.%s", stackSize, oreName)); + + return stringBuilder.toString(); } - + @Override public boolean equals(Object object) { - - if (!(object instanceof OreStack)) { + + if (!(object instanceof OreStack)) return false; - } - + OreStack oreStackObject = (OreStack) object; - - return ((stackSize == oreStackObject.stackSize) && (oreName.equals(oreStackObject.oreName))); + + return stackSize == oreStackObject.stackSize && oreName.equals(oreStackObject.oreName); } @Override public int compare(OreStack oreStack1, OreStack oreStack2) { - if ((oreStack1 != null) && (oreStack2 != null)) { - if (oreStack1.oreName.equals(oreStack2.oreName)) { + if (oreStack1 != null && oreStack2 != null) { + if (oreStack1.oreName.equals(oreStack2.oreName)) return 0; - } } - + return -1; } - + public static boolean compareStacks(OreStack oreStack1, OreStack oreStack2) { - + return oreStack1.compareToStack(oreStack2); } - + public boolean compareToStack(OreStack oreStack) { - - return (compare(this, oreStack) == 0); + + return compare(this, oreStack) == 0; } } diff --git a/ee3_common/com/pahimar/ee3/core/util/RecipeHelper.java b/ee3_common/com/pahimar/ee3/core/util/RecipeHelper.java index 7d7f512b..8d1fae07 100644 --- a/ee3_common/com/pahimar/ee3/core/util/RecipeHelper.java +++ b/ee3_common/com/pahimar/ee3/core/util/RecipeHelper.java @@ -168,6 +168,7 @@ public class RecipeHelper { ArrayList reverseRecipeList = new ArrayList(); + @SuppressWarnings("unchecked") ArrayList recipeList = new ArrayList(CraftingManager.getInstance().getRecipeList()); for (IRecipe recipe : recipeList) { diff --git a/ee3_common/com/pahimar/ee3/item/CustomWrappedStack.java b/ee3_common/com/pahimar/ee3/item/CustomWrappedStack.java index a64cb81a..a39dd2ac 100644 --- a/ee3_common/com/pahimar/ee3/item/CustomWrappedStack.java +++ b/ee3_common/com/pahimar/ee3/item/CustomWrappedStack.java @@ -3,6 +3,7 @@ package com.pahimar.ee3.item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; +import com.pahimar.ee3.core.util.EnergyStack; import com.pahimar.ee3.core.util.ItemUtil; import com.pahimar.ee3.core.util.OreStack; @@ -11,13 +12,17 @@ public class CustomWrappedStack { private int stackSize; private ItemStack itemStack; private OreStack oreStack; + private EnergyStack energyStack; /** - * Creates a new CustomWrappedStack object which wraps the given input. Valid inputs would be ItemStacks or OreStacks. - * If something other than an ItemStack or an OreStack is used as input, nothing is wrapped and the size of the wrapped - * stack is set to -1 to indicate an invalid wrapped stack. + * Creates a new CustomWrappedStack object which wraps the given input. + * Valid inputs would be ItemStacks or OreStacks. If something other than an + * ItemStack or an OreStack is used as input, nothing is wrapped and the + * size of the wrapped stack is set to -1 to indicate an invalid wrapped + * stack. * - * @param object The newly created wrapped stack object + * @param object + * The newly created wrapped stack object */ public CustomWrappedStack(Object object) { @@ -27,36 +32,51 @@ public class CustomWrappedStack { if (object instanceof ItemStack) { ItemStack itemStack = (ItemStack) object; - + /* - * If the ItemStack does not exist in the OreDictionary, wrap it as an ItemStack + * If the ItemStack does not exist in the OreDictionary, wrap it as + * an ItemStack */ if (OreDictionary.getOreID(itemStack) == -1) { this.itemStack = itemStack; oreStack = null; + energyStack = null; stackSize = itemStack.stackSize; this.itemStack.stackSize = 1; } /* - * Else the ItemStack exists in the OreDictionary, so wrap it as an OreStack instead of an ItemStack + * Else the ItemStack exists in the OreDictionary, so wrap it as an + * OreStack instead of an ItemStack */ else { this.itemStack = null; oreStack = new OreStack(itemStack); + energyStack = null; stackSize = oreStack.stackSize; oreStack.stackSize = 1; } } /* - * We are given an OreStack to wrap + * Or we are given an OreStack to wrap */ else if (object instanceof OreStack) { itemStack = null; oreStack = (OreStack) object; + energyStack = null; stackSize = oreStack.stackSize; oreStack.stackSize = 1; } + /* + * Or we are given an EnergyStack to wrap + */ + else if (object instanceof EnergyStack) { + itemStack = null; + oreStack = null; + energyStack = (EnergyStack) object; + stackSize = energyStack.stackSize; + energyStack.stackSize = 1; + } /* * Else, we are given something we cannot wrap */ @@ -66,7 +86,8 @@ public class CustomWrappedStack { } /** - * Returns the stack size of the wrapped stack, or -1 if we wrapped an invalid input + * Returns the stack size of the wrapped stack, or -1 if we wrapped an + * invalid input * * @return The size of the wrapped stack */ @@ -78,7 +99,8 @@ public class CustomWrappedStack { /** * Sets the size of the wrapped stack * - * @param stackSize The new size of the wrapped stack + * @param stackSize + * The new size of the wrapped stack */ public void setStackSize(int stackSize) { @@ -88,7 +110,9 @@ public class CustomWrappedStack { /** * Returns the wrapped stack * - * @return The wrapped ItemStack or OreStack, or null if something other than an ItemStack or OreStack was used to create this object + * @return The wrapped ItemStack, OreStack, or EnergyStack, or null if + * something other than an ItemStack, OreStack, or EnergyStack was + * used to create this object */ public Object getWrappedStack() { @@ -98,7 +122,10 @@ public class CustomWrappedStack { else if (oreStack != null) { return oreStack; } - + else if (energyStack != null) { + return energyStack; + } + return null; } @@ -130,6 +157,11 @@ public class CustomWrappedStack { else if (customWrappedStack.oreStack != null) return oreStack.equals(customWrappedStack.oreStack) && stackSize == oreStack.stackSize; } + else if (energyStack != null) { + if (customWrappedStack.energyStack != null) { + return energyStack.equals(customWrappedStack.energyStack) && stackSize == energyStack.stackSize; + } + } return false; } @@ -137,24 +169,27 @@ public class CustomWrappedStack { @Override public String toString() { + StringBuilder stringBuilder = new StringBuilder(); + if (itemStack != null) { - StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(String.format("itemID: %d, metaData: %d, stackSize: %d, ", itemStack.itemID, itemStack.getItemDamage(), stackSize)); - + if (itemStack.hasTagCompound()) { stringBuilder.append(String.format("nbtTagCompound: %s, ", itemStack.getTagCompound().toString())); } - + stringBuilder.append(String.format("itemName: %s, className: %s ", itemStack.getItemName(), itemStack.getItem().getClass().toString())); - return stringBuilder.toString(); } else if (oreStack != null) { - return stackSize + "xoreDictionary." + oreStack.oreName; + stringBuilder.append(String.format("%dxoreDictionary.%s", stackSize, oreStack.oreName)); + } + else if (energyStack != null) { + stringBuilder.append(String.format("%dxenergyStack.%s", stackSize, energyStack.energyName)); } - return null; + return stringBuilder.toString(); } @Override @@ -179,6 +214,9 @@ public class CustomWrappedStack { else if (oreStack != null) { hashCode = 37 * hashCode + oreStack.oreName.hashCode(); } + else if (energyStack != null) { + hashCode = 37 * hashCode + energyStack.energyName.hashCode(); + } return hashCode; } diff --git a/ee3_common/com/pahimar/ee3/item/crafting/RecipeRegistry.java b/ee3_common/com/pahimar/ee3/item/crafting/RecipeRegistry.java index bf3b4f58..ae601ac6 100644 --- a/ee3_common/com/pahimar/ee3/item/crafting/RecipeRegistry.java +++ b/ee3_common/com/pahimar/ee3/item/crafting/RecipeRegistry.java @@ -7,10 +7,10 @@ import java.util.List; import java.util.Set; import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import com.pahimar.ee3.core.util.EnergyStack; import com.pahimar.ee3.core.util.ItemUtil; import com.pahimar.ee3.core.util.LogHelper; import com.pahimar.ee3.core.util.OreStack; @@ -132,6 +132,12 @@ public class RecipeRegistry { found = true; } } + else if (wrappedInputStack.getWrappedStack() instanceof EnergyStack && collatedStacks.get(i).getWrappedStack() instanceof EnergyStack) { + if (((EnergyStack)wrappedInputStack.getWrappedStack()).energyName.equalsIgnoreCase(((EnergyStack) collatedStacks.get(i).getWrappedStack()).energyName)) { + collatedStacks.get(i).setStackSize(collatedStacks.get(i).getStackSize() + wrappedInputStack.getStackSize()); + found = true; + } + } } } @@ -151,16 +157,17 @@ public class RecipeRegistry { static { recipeRegistry = new RecipeRegistry(); - Multimap> potionRecipes = RecipesPotions.getPotionRecipes(); + //Multimap> potionRecipes = RecipesPotions.getPotionRecipes(); + Multimap> potionRecipes = RecipesSmeltable.getSmeltingRecipes(); - Set keySet = potionRecipes.keySet(); - Iterator keySetIter = keySet.iterator(); - ItemStack key = null; + Set keySet = potionRecipes.keySet(); + Iterator keySetIter = keySet.iterator(); + CustomWrappedStack key = null; while (keySetIter.hasNext()) { key = keySetIter.next(); - for (List potionInputs : potionRecipes.get(key)) { - recipeRegistry.addRecipe(new CustomWrappedStack(key), potionInputs); + for (List potionInputs : potionRecipes.get(key)) { + recipeRegistry.addRecipe(key, potionInputs); } } } diff --git a/ee3_common/com/pahimar/ee3/item/crafting/RecipesPotions.java b/ee3_common/com/pahimar/ee3/item/crafting/RecipesPotions.java index 7496bef7..d3ac43f6 100644 --- a/ee3_common/com/pahimar/ee3/item/crafting/RecipesPotions.java +++ b/ee3_common/com/pahimar/ee3/item/crafting/RecipesPotions.java @@ -9,271 +9,274 @@ import net.minecraft.item.ItemStack; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import com.pahimar.ee3.item.CustomWrappedStack; public class RecipesPotions { - private static ItemStack netherWart = new ItemStack(372, 1, 0); - private static ItemStack glowstoneDust = new ItemStack(Item.lightStoneDust); - private static ItemStack redstoneDust = new ItemStack(331, 1, 0); - private static ItemStack gunpowder = new ItemStack(Item.gunpowder); - private static ItemStack goldenCarrot = new ItemStack(Item.goldenCarrot); - private static ItemStack magmaCream = new ItemStack(Item.magmaCream); - private static ItemStack sugar = new ItemStack(Item.sugar); - private static ItemStack glisteringMelon = new ItemStack(Item.speckledMelon); - private static ItemStack spiderEye = new ItemStack(Item.spiderEye); - private static ItemStack ghastTear = new ItemStack(Item.ghastTear); - private static ItemStack fermentedSpiderEye = new ItemStack(Item.fermentedSpiderEye); - private static ItemStack blazePowder = new ItemStack(Item.blazePowder); + private static CustomWrappedStack reagentWater = new CustomWrappedStack(new ItemStack(Block.waterStill)); + private static CustomWrappedStack reagentNetherWart = new CustomWrappedStack(new ItemStack(372, 1, 0)); + private static CustomWrappedStack reagentGlowstoneDust = new CustomWrappedStack(new ItemStack(Item.lightStoneDust)); + private static CustomWrappedStack reagentRedstoneDust = new CustomWrappedStack(new ItemStack(331, 1, 0)); + private static CustomWrappedStack reagentGunpowder = new CustomWrappedStack(new ItemStack(Item.gunpowder)); + private static CustomWrappedStack reagentGoldenCarrot = new CustomWrappedStack(new ItemStack(Item.goldenCarrot)); + private static CustomWrappedStack reagentMagmaCream = new CustomWrappedStack(new ItemStack(Item.magmaCream)); + private static CustomWrappedStack reagentSugar = new CustomWrappedStack(new ItemStack(Item.sugar)); + private static CustomWrappedStack reagentGlisteringMelon = new CustomWrappedStack(new ItemStack(Item.speckledMelon)); + private static CustomWrappedStack reagentSpiderEye = new CustomWrappedStack(new ItemStack(Item.spiderEye)); + private static CustomWrappedStack reagentGhastTear = new CustomWrappedStack(new ItemStack(Item.ghastTear)); + private static CustomWrappedStack reagentFermentedSpiderEye = new CustomWrappedStack(new ItemStack(Item.fermentedSpiderEye)); + private static CustomWrappedStack reagentBlazePowder = new CustomWrappedStack(new ItemStack(Item.blazePowder)); - public static ItemStack bottleWater = new ItemStack(Item.potion.itemID, 1, 0); - public static ItemStack potionAwkward = new ItemStack(Item.potion.itemID, 1, 16); - public static ItemStack potionThick = new ItemStack(Item.potion.itemID, 1, 32); - public static ItemStack potionMundane = new ItemStack(Item.potion.itemID, 1, 128); - public static ItemStack potionMundaneExtended = new ItemStack(Item.potion.itemID, 1, 64); - public static ItemStack potionMundaneSplash = new ItemStack(Item.potion.itemID, 1, 16512); - public static ItemStack potionMundaneSplashExtended = new ItemStack(Item.potion.itemID, 1, 16448); + private static CustomWrappedStack bottleWater = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 0)); + + private static CustomWrappedStack potionAwkward = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16)); + private static CustomWrappedStack potionThick = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 32)); + private static CustomWrappedStack potionMundane = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 128)); + private static CustomWrappedStack potionMundaneExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 64)); + private static CustomWrappedStack potionMundaneSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16512)); + private static CustomWrappedStack potionMundaneSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16448)); - public static ItemStack potionRegeneration = new ItemStack(Item.potion.itemID, 1, 8193); - public static ItemStack potionRegenerationEnhanced = new ItemStack(Item.potion.itemID, 1, 8225); - public static ItemStack potionRegenerationExtended = new ItemStack(Item.potion.itemID, 1, 8257); - public static ItemStack potionRegenerationSplash = new ItemStack(Item.potion.itemID, 1, 16385); - public static ItemStack potionRegenerationSplashEnhanced = new ItemStack(Item.potion.itemID, 1, 16417); - public static ItemStack potionRegenerationSplashExtended = new ItemStack(Item.potion.itemID, 1, 16449); + private static CustomWrappedStack potionRegeneration = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8193)); + private static CustomWrappedStack potionRegenerationEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8225)); + private static CustomWrappedStack potionRegenerationExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8257)); + private static CustomWrappedStack potionRegenerationSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16385)); + private static CustomWrappedStack potionRegenerationSplashEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16417)); + private static CustomWrappedStack potionRegenerationSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16449)); - public static ItemStack potionSwiftness = new ItemStack(Item.potion.itemID, 1, 8194); - public static ItemStack potionSwiftnessEnhanced = new ItemStack(Item.potion.itemID, 1, 8226); - public static ItemStack potionSwiftnessExtended = new ItemStack(Item.potion.itemID, 1, 8258); - public static ItemStack potionSwiftnessSplash = new ItemStack(Item.potion.itemID, 1, 16386); - public static ItemStack potionSwiftnessSplashEnhanced = new ItemStack(Item.potion.itemID, 1, 16418); - public static ItemStack potionSwiftnessSplashExtended = new ItemStack(Item.potion.itemID, 1, 16450); + private static CustomWrappedStack potionSwiftness = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8194)); + private static CustomWrappedStack potionSwiftnessEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8226)); + private static CustomWrappedStack potionSwiftnessExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8258)); + private static CustomWrappedStack potionSwiftnessSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16386)); + private static CustomWrappedStack potionSwiftnessSplashEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16418)); + private static CustomWrappedStack potionSwiftnessSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16450)); - public static ItemStack potionFireResist = new ItemStack(Item.potion.itemID, 1, 8195); - public static ItemStack potionFireResistExtended = new ItemStack(Item.potion.itemID, 1, 8259); - public static ItemStack potionFireResistSplash = new ItemStack(Item.potion.itemID, 1, 16387); - public static ItemStack potionFireResistSplashExtended = new ItemStack(Item.potion.itemID, 1, 16451); + private static CustomWrappedStack potionFireResist = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8195)); + private static CustomWrappedStack potionFireResistExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8259)); + private static CustomWrappedStack potionFireResistSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16387)); + private static CustomWrappedStack potionFireResistSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16451)); - public static ItemStack potionPoison = new ItemStack(Item.potion.itemID, 1, 8196); - public static ItemStack potionPoisonEnhanced = new ItemStack(Item.potion.itemID, 1, 8228); - public static ItemStack potionPoisonExtended = new ItemStack(Item.potion.itemID, 1, 8260); - public static ItemStack potionPoisonSplash = new ItemStack(Item.potion.itemID, 1, 16388); - public static ItemStack potionPoisonSplashEnhanced = new ItemStack(Item.potion.itemID, 1, 16420); - public static ItemStack potionPoisonSplashExtended = new ItemStack(Item.potion.itemID, 1, 16452); + private static CustomWrappedStack potionPoison = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8196)); + private static CustomWrappedStack potionPoisonEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8228)); + private static CustomWrappedStack potionPoisonExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8260)); + private static CustomWrappedStack potionPoisonSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16388)); + private static CustomWrappedStack potionPoisonSplashEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16420)); + private static CustomWrappedStack potionPoisonSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16452)); - public static ItemStack potionHealing = new ItemStack(Item.potion.itemID, 1, 8197); - public static ItemStack potionHealingEnhanced = new ItemStack(Item.potion.itemID, 1, 8229); - public static ItemStack potionHealingSplash = new ItemStack(Item.potion.itemID, 1, 16389); - public static ItemStack potionHealingSplashEnhanced = new ItemStack(Item.potion.itemID, 1, 16421); + private static CustomWrappedStack potionHealing = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8197)); + private static CustomWrappedStack potionHealingEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8229)); + private static CustomWrappedStack potionHealingSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16389)); + private static CustomWrappedStack potionHealingSplashEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16421)); - public static ItemStack potionNightVision = new ItemStack(Item.potion.itemID, 1, 8198); - public static ItemStack potionNightVisionExtended = new ItemStack(Item.potion.itemID, 1, 8262); - public static ItemStack potionNightVisionSplash = new ItemStack(Item.potion.itemID, 1, 16390); - public static ItemStack potionNightVisionSplashExtended = new ItemStack(Item.potion.itemID, 1, 16454); + private static CustomWrappedStack potionNightVision = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8198)); + private static CustomWrappedStack potionNightVisionExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8262)); + private static CustomWrappedStack potionNightVisionSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16390)); + private static CustomWrappedStack potionNightVisionSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16454)); - public static ItemStack potionWeakness = new ItemStack(Item.potion.itemID, 1, 8200); - public static ItemStack potionWeaknessExtended = new ItemStack(Item.potion.itemID, 1, 8264); - public static ItemStack potionWeaknessSplash = new ItemStack(Item.potion.itemID, 1, 16392); - public static ItemStack potionWeaknessSplashExtended = new ItemStack(Item.potion.itemID, 1, 16456); + private static CustomWrappedStack potionWeakness = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8200)); + private static CustomWrappedStack potionWeaknessExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8264)); + private static CustomWrappedStack potionWeaknessSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16392)); + private static CustomWrappedStack potionWeaknessSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16456)); - public static ItemStack potionStrength = new ItemStack(Item.potion.itemID, 1, 8201); - public static ItemStack potionStrengthEnhanced = new ItemStack(Item.potion.itemID, 1, 8233); - public static ItemStack potionStrengthExtended = new ItemStack(Item.potion.itemID, 1, 8265); - public static ItemStack potionStrengthSplash = new ItemStack(Item.potion.itemID, 1, 16393); - public static ItemStack potionStrengthSplashEnhanced = new ItemStack(Item.potion.itemID, 1, 16425); - public static ItemStack potionStrengthSplashExtended = new ItemStack(Item.potion.itemID, 1, 16457); + private static CustomWrappedStack potionStrength = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8201)); + private static CustomWrappedStack potionStrengthEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8233)); + private static CustomWrappedStack potionStrengthExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8265)); + private static CustomWrappedStack potionStrengthSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16393)); + private static CustomWrappedStack potionStrengthSplashEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16425)); + private static CustomWrappedStack potionStrengthSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16457)); - public static ItemStack potionSlowness = new ItemStack(Item.potion.itemID, 1, 8202); - public static ItemStack potionSlownessExtended = new ItemStack(Item.potion.itemID, 1, 8266); - public static ItemStack potionSlownessSplash = new ItemStack(Item.potion.itemID, 1, 16394); - public static ItemStack potionSlownessSplashExtended = new ItemStack(Item.potion.itemID, 1, 16458); + private static CustomWrappedStack potionSlowness = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8202)); + private static CustomWrappedStack potionSlownessExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8266)); + private static CustomWrappedStack potionSlownessSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16394)); + private static CustomWrappedStack potionSlownessSplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16458)); - public static ItemStack potionHarming = new ItemStack(Item.potion.itemID, 1, 8204); - public static ItemStack potionHarmingEnhanced = new ItemStack(Item.potion.itemID, 1, 8236); - public static ItemStack potionHarmingSplash = new ItemStack(Item.potion.itemID, 1, 16396); - public static ItemStack potionHarmingSplashEnhanced = new ItemStack(Item.potion.itemID, 1, 16428); + private static CustomWrappedStack potionHarming = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8204)); + private static CustomWrappedStack potionHarmingEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8236)); + private static CustomWrappedStack potionHarmingSplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16396)); + private static CustomWrappedStack potionHarmingSplashEnhanced = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16428)); - public static ItemStack potionInvisibility = new ItemStack(Item.potion.itemID, 1, 8206); - public static ItemStack potionInvisibilityExtended = new ItemStack(Item.potion.itemID, 1, 8270); - public static ItemStack potionInvisibilitySplash = new ItemStack(Item.potion.itemID, 1, 16398); - public static ItemStack potionInvisibilitySplashExtended = new ItemStack(Item.potion.itemID, 1, 16462); + private static CustomWrappedStack potionInvisibility = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8206)); + private static CustomWrappedStack potionInvisibilityExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 8270)); + private static CustomWrappedStack potionInvisibilitySplash = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16398)); + private static CustomWrappedStack potionInvisibilitySplashExtended = new CustomWrappedStack(new ItemStack(Item.potion.itemID, 1, 16462)); - public static Multimap> getPotionRecipes() { + public static Multimap> getPotionRecipes() { - Multimap> potionRecipes = HashMultimap.create(); + Multimap> potionRecipes = HashMultimap.create(); - potionRecipes.put(bottleWater, Arrays.asList(new ItemStack(Block.waterStill))); + potionRecipes.put(bottleWater, Arrays.asList(reagentWater)); - potionRecipes.put(potionAwkward, Arrays.asList(bottleWater, netherWart)); + potionRecipes.put(potionAwkward, Arrays.asList(bottleWater, reagentNetherWart)); - potionRecipes.put(potionNightVision, Arrays.asList(potionAwkward, goldenCarrot)); - potionRecipes.put(potionNightVision, Arrays.asList(potionNightVisionExtended, glowstoneDust)); - potionRecipes.put(potionNightVisionSplash, Arrays.asList(potionNightVisionSplashExtended, glowstoneDust)); - potionRecipes.put(potionNightVisionSplash, Arrays.asList(potionNightVision, gunpowder)); + potionRecipes.put(potionNightVision, Arrays.asList(potionAwkward, reagentGoldenCarrot)); + potionRecipes.put(potionNightVision, Arrays.asList(potionNightVisionExtended, reagentGlowstoneDust)); + potionRecipes.put(potionNightVisionSplash, Arrays.asList(potionNightVisionSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionNightVisionSplash, Arrays.asList(potionNightVision, reagentGunpowder)); - potionRecipes.put(potionNightVisionExtended, Arrays.asList(potionNightVision, redstoneDust)); - potionRecipes.put(potionNightVisionSplashExtended, Arrays.asList(potionNightVisionSplash, redstoneDust)); - potionRecipes.put(potionNightVisionSplashExtended, Arrays.asList(potionNightVisionExtended, gunpowder)); + potionRecipes.put(potionNightVisionExtended, Arrays.asList(potionNightVision, reagentRedstoneDust)); + potionRecipes.put(potionNightVisionSplashExtended, Arrays.asList(potionNightVisionSplash, reagentRedstoneDust)); + potionRecipes.put(potionNightVisionSplashExtended, Arrays.asList(potionNightVisionExtended, reagentGunpowder)); - potionRecipes.put(potionInvisibility, Arrays.asList(potionNightVision, fermentedSpiderEye)); - potionRecipes.put(potionInvisibility, Arrays.asList(potionInvisibilityExtended, glowstoneDust)); - potionRecipes.put(potionInvisibilitySplash, Arrays.asList(potionNightVisionSplash, fermentedSpiderEye)); - potionRecipes.put(potionInvisibilitySplash, Arrays.asList(potionInvisibilitySplashExtended, glowstoneDust)); - potionRecipes.put(potionInvisibilitySplash, Arrays.asList(potionInvisibility, gunpowder)); + potionRecipes.put(potionInvisibility, Arrays.asList(potionNightVision, reagentFermentedSpiderEye)); + potionRecipes.put(potionInvisibility, Arrays.asList(potionInvisibilityExtended, reagentGlowstoneDust)); + potionRecipes.put(potionInvisibilitySplash, Arrays.asList(potionNightVisionSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionInvisibilitySplash, Arrays.asList(potionInvisibilitySplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionInvisibilitySplash, Arrays.asList(potionInvisibility, reagentGunpowder)); - potionRecipes.put(potionInvisibilityExtended, Arrays.asList(potionInvisibility, redstoneDust)); - potionRecipes.put(potionInvisibilityExtended, Arrays.asList(potionNightVisionExtended, fermentedSpiderEye)); - potionRecipes.put(potionInvisibilitySplashExtended, Arrays.asList(potionInvisibilitySplash, redstoneDust)); - potionRecipes.put(potionInvisibilitySplashExtended, Arrays.asList(potionNightVisionSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionInvisibilitySplashExtended, Arrays.asList(potionInvisibilityExtended, gunpowder)); + potionRecipes.put(potionInvisibilityExtended, Arrays.asList(potionInvisibility, reagentRedstoneDust)); + potionRecipes.put(potionInvisibilityExtended, Arrays.asList(potionNightVisionExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionInvisibilitySplashExtended, Arrays.asList(potionInvisibilitySplash, reagentRedstoneDust)); + potionRecipes.put(potionInvisibilitySplashExtended, Arrays.asList(potionNightVisionSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionInvisibilitySplashExtended, Arrays.asList(potionInvisibilityExtended, reagentGunpowder)); - potionRecipes.put(potionFireResist, Arrays.asList(potionAwkward, magmaCream)); - potionRecipes.put(potionFireResist, Arrays.asList(potionFireResistExtended, glowstoneDust)); - potionRecipes.put(potionFireResistSplash, Arrays.asList(potionFireResistSplashExtended, glowstoneDust)); - potionRecipes.put(potionFireResistSplash, Arrays.asList(potionFireResist, gunpowder)); + potionRecipes.put(potionFireResist, Arrays.asList(potionAwkward, reagentMagmaCream)); + potionRecipes.put(potionFireResist, Arrays.asList(potionFireResistExtended, reagentGlowstoneDust)); + potionRecipes.put(potionFireResistSplash, Arrays.asList(potionFireResistSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionFireResistSplash, Arrays.asList(potionFireResist, reagentGunpowder)); - potionRecipes.put(potionFireResistExtended, Arrays.asList(potionFireResist, redstoneDust)); - potionRecipes.put(potionFireResistSplashExtended, Arrays.asList(potionFireResistSplash, redstoneDust)); - potionRecipes.put(potionFireResistSplashExtended, Arrays.asList(potionFireResistExtended, gunpowder)); + potionRecipes.put(potionFireResistExtended, Arrays.asList(potionFireResist, reagentRedstoneDust)); + potionRecipes.put(potionFireResistSplashExtended, Arrays.asList(potionFireResistSplash, reagentRedstoneDust)); + potionRecipes.put(potionFireResistSplashExtended, Arrays.asList(potionFireResistExtended, reagentGunpowder)); - potionRecipes.put(potionSlowness, Arrays.asList(potionFireResist, fermentedSpiderEye)); - potionRecipes.put(potionSlowness, Arrays.asList(potionSlownessExtended, glowstoneDust)); - potionRecipes.put(potionSlowness, Arrays.asList(potionSwiftness, fermentedSpiderEye)); - potionRecipes.put(potionSlowness, Arrays.asList(potionSwiftnessExtended, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplash, Arrays.asList(potionFireResistSplash, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSlownessSplashExtended, glowstoneDust)); - potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSwiftnessSplash, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSwiftnessSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSlowness, gunpowder)); + potionRecipes.put(potionSlowness, Arrays.asList(potionFireResist, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlowness, Arrays.asList(potionSlownessExtended, reagentGlowstoneDust)); + potionRecipes.put(potionSlowness, Arrays.asList(potionSwiftness, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlowness, Arrays.asList(potionSwiftnessExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplash, Arrays.asList(potionFireResistSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSlownessSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSwiftnessSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSwiftnessSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplash, Arrays.asList(potionSlowness, reagentGunpowder)); - potionRecipes.put(potionSlownessExtended, Arrays.asList(potionFireResistExtended, fermentedSpiderEye)); - potionRecipes.put(potionSlownessExtended, Arrays.asList(potionSwiftnessEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplashExtended, Arrays.asList(potionFireResistSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplashExtended, Arrays.asList(potionSwiftnessSplashEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionSlownessSplashExtended, Arrays.asList(potionSlownessExtended, gunpowder)); + potionRecipes.put(potionSlownessExtended, Arrays.asList(potionFireResistExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessExtended, Arrays.asList(potionSwiftnessEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplashExtended, Arrays.asList(potionFireResistSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplashExtended, Arrays.asList(potionSwiftnessSplashEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionSlownessSplashExtended, Arrays.asList(potionSlownessExtended, reagentGunpowder)); - potionRecipes.put(potionSwiftness, Arrays.asList(potionAwkward, sugar)); - potionRecipes.put(potionSwiftnessSplash, Arrays.asList(potionSwiftness, gunpowder)); + potionRecipes.put(potionSwiftness, Arrays.asList(potionAwkward, reagentSugar)); + potionRecipes.put(potionSwiftnessSplash, Arrays.asList(potionSwiftness, reagentGunpowder)); - potionRecipes.put(potionSwiftnessExtended, Arrays.asList(potionSwiftness, redstoneDust)); - potionRecipes.put(potionSwiftnessExtended, Arrays.asList(potionSwiftnessEnhanced, redstoneDust)); - potionRecipes.put(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessSplash, redstoneDust)); - potionRecipes.put(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessSplashEnhanced, redstoneDust)); - potionRecipes.put(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessExtended, gunpowder)); + potionRecipes.put(potionSwiftnessExtended, Arrays.asList(potionSwiftness, reagentRedstoneDust)); + potionRecipes.put(potionSwiftnessExtended, Arrays.asList(potionSwiftnessEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessSplash, reagentRedstoneDust)); + potionRecipes.put(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessSplashEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessExtended, reagentGunpowder)); - potionRecipes.put(potionSwiftnessEnhanced, Arrays.asList(potionSwiftness, glowstoneDust)); - potionRecipes.put(potionSwiftnessEnhanced, Arrays.asList(potionSwiftnessExtended, glowstoneDust)); - potionRecipes.put(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessSplash, glowstoneDust)); - potionRecipes.put(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessSplashExtended, glowstoneDust)); - potionRecipes.put(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessEnhanced, gunpowder)); + potionRecipes.put(potionSwiftnessEnhanced, Arrays.asList(potionSwiftness, reagentGlowstoneDust)); + potionRecipes.put(potionSwiftnessEnhanced, Arrays.asList(potionSwiftnessExtended, reagentGlowstoneDust)); + potionRecipes.put(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessSplash, reagentGlowstoneDust)); + potionRecipes.put(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessEnhanced, reagentGunpowder)); - potionRecipes.put(potionHealing, Arrays.asList(potionAwkward, glisteringMelon)); - potionRecipes.put(potionHealing, Arrays.asList(potionHealingEnhanced, redstoneDust)); - potionRecipes.put(potionHealingSplash, Arrays.asList(potionHealingSplashEnhanced, redstoneDust)); - potionRecipes.put(potionHealingSplash, Arrays.asList(potionHealing, gunpowder)); + potionRecipes.put(potionHealing, Arrays.asList(potionAwkward, reagentGlisteringMelon)); + potionRecipes.put(potionHealing, Arrays.asList(potionHealingEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionHealingSplash, Arrays.asList(potionHealingSplashEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionHealingSplash, Arrays.asList(potionHealing, reagentGunpowder)); - potionRecipes.put(potionHealingEnhanced, Arrays.asList(potionHealing, glowstoneDust)); - potionRecipes.put(potionHealingSplashEnhanced, Arrays.asList(potionHealingSplash, glowstoneDust)); - potionRecipes.put(potionHealingSplashEnhanced, Arrays.asList(potionHealingEnhanced, gunpowder)); + potionRecipes.put(potionHealingEnhanced, Arrays.asList(potionHealing, reagentGlowstoneDust)); + potionRecipes.put(potionHealingSplashEnhanced, Arrays.asList(potionHealingSplash, reagentGlowstoneDust)); + potionRecipes.put(potionHealingSplashEnhanced, Arrays.asList(potionHealingEnhanced, reagentGunpowder)); - potionRecipes.put(potionHarming, Arrays.asList(potionHealing, fermentedSpiderEye)); - potionRecipes.put(potionHarming, Arrays.asList(potionPoison, fermentedSpiderEye)); - potionRecipes.put(potionHarming, Arrays.asList(potionPoisonExtended, fermentedSpiderEye)); - potionRecipes.put(potionHarming, Arrays.asList(potionHarmingEnhanced, redstoneDust)); - potionRecipes.put(potionHarmingSplash, Arrays.asList(potionHealingSplash, fermentedSpiderEye)); - potionRecipes.put(potionHarmingSplash, Arrays.asList(potionPoisonSplash, fermentedSpiderEye)); - potionRecipes.put(potionHarmingSplash, Arrays.asList(potionPoisonSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionHarmingSplash, Arrays.asList(potionHarmingSplashEnhanced, redstoneDust)); - potionRecipes.put(potionHarmingSplash, Arrays.asList(potionHarming, gunpowder)); + potionRecipes.put(potionHarming, Arrays.asList(potionHealing, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarming, Arrays.asList(potionPoison, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarming, Arrays.asList(potionPoisonExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarming, Arrays.asList(potionHarmingEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionHarmingSplash, Arrays.asList(potionHealingSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingSplash, Arrays.asList(potionPoisonSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingSplash, Arrays.asList(potionPoisonSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingSplash, Arrays.asList(potionHarmingSplashEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionHarmingSplash, Arrays.asList(potionHarming, reagentGunpowder)); - potionRecipes.put(potionHarmingEnhanced, Arrays.asList(potionHealingEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionHarmingEnhanced, Arrays.asList(potionHarming, glowstoneDust)); - potionRecipes.put(potionHarmingEnhanced, Arrays.asList(potionPoisonEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionHealingSplashEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionHarmingSplash, glowstoneDust)); - potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionPoisonSplashEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionHarmingEnhanced, gunpowder)); + potionRecipes.put(potionHarmingEnhanced, Arrays.asList(potionHealingEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingEnhanced, Arrays.asList(potionHarming, reagentGlowstoneDust)); + potionRecipes.put(potionHarmingEnhanced, Arrays.asList(potionPoisonEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionHealingSplashEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionHarmingSplash, reagentGlowstoneDust)); + potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionPoisonSplashEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionHarmingSplashEnhanced, Arrays.asList(potionHarmingEnhanced, reagentGunpowder)); - potionRecipes.put(potionPoison, Arrays.asList(potionAwkward, spiderEye)); - potionRecipes.put(potionPoisonSplash, Arrays.asList(potionPoison, gunpowder)); + potionRecipes.put(potionPoison, Arrays.asList(potionAwkward, reagentSpiderEye)); + potionRecipes.put(potionPoisonSplash, Arrays.asList(potionPoison, reagentGunpowder)); - potionRecipes.put(potionPoisonExtended, Arrays.asList(potionPoisonExtended, redstoneDust)); - potionRecipes.put(potionPoisonExtended, Arrays.asList(potionPoisonEnhanced, redstoneDust)); - potionRecipes.put(potionPoisonSplashExtended, Arrays.asList(potionPoisonSplashExtended, redstoneDust)); - potionRecipes.put(potionPoisonSplashExtended, Arrays.asList(potionPoisonSplashEnhanced, redstoneDust)); - potionRecipes.put(potionPoisonSplashExtended, Arrays.asList(potionPoisonExtended, gunpowder)); + potionRecipes.put(potionPoisonExtended, Arrays.asList(potionPoisonExtended, reagentRedstoneDust)); + potionRecipes.put(potionPoisonExtended, Arrays.asList(potionPoisonEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionPoisonSplashExtended, Arrays.asList(potionPoisonSplashExtended, reagentRedstoneDust)); + potionRecipes.put(potionPoisonSplashExtended, Arrays.asList(potionPoisonSplashEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionPoisonSplashExtended, Arrays.asList(potionPoisonExtended, reagentGunpowder)); - potionRecipes.put(potionPoisonEnhanced, Arrays.asList(potionPoison, glowstoneDust)); - potionRecipes.put(potionPoisonEnhanced, Arrays.asList(potionPoisonExtended, glowstoneDust)); - potionRecipes.put(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonSplash, glowstoneDust)); - potionRecipes.put(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonSplashExtended, glowstoneDust)); - potionRecipes.put(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonEnhanced, gunpowder)); + potionRecipes.put(potionPoisonEnhanced, Arrays.asList(potionPoison, reagentGlowstoneDust)); + potionRecipes.put(potionPoisonEnhanced, Arrays.asList(potionPoisonExtended, reagentGlowstoneDust)); + potionRecipes.put(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonSplash, reagentGlowstoneDust)); + potionRecipes.put(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonEnhanced, reagentGunpowder)); - potionRecipes.put(potionRegeneration, Arrays.asList(potionAwkward, ghastTear)); - potionRecipes.put(potionRegenerationSplash, Arrays.asList(potionRegeneration, gunpowder)); + potionRecipes.put(potionRegeneration, Arrays.asList(potionAwkward, reagentGhastTear)); + potionRecipes.put(potionRegenerationSplash, Arrays.asList(potionRegeneration, reagentGunpowder)); - potionRecipes.put(potionRegenerationExtended, Arrays.asList(potionRegeneration, redstoneDust)); - potionRecipes.put(potionRegenerationExtended, Arrays.asList(potionRegenerationEnhanced, redstoneDust)); - potionRecipes.put(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationSplash, redstoneDust)); - potionRecipes.put(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationSplashEnhanced, redstoneDust)); - potionRecipes.put(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationExtended, gunpowder)); + potionRecipes.put(potionRegenerationExtended, Arrays.asList(potionRegeneration, reagentRedstoneDust)); + potionRecipes.put(potionRegenerationExtended, Arrays.asList(potionRegenerationEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationSplash, reagentRedstoneDust)); + potionRecipes.put(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationSplashEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationExtended, reagentGunpowder)); - potionRecipes.put(potionRegenerationEnhanced, Arrays.asList(potionRegeneration, glowstoneDust)); - potionRecipes.put(potionRegenerationEnhanced, Arrays.asList(potionRegenerationExtended, glowstoneDust)); - potionRecipes.put(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationSplash, glowstoneDust)); - potionRecipes.put(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationSplashExtended, glowstoneDust)); - potionRecipes.put(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationEnhanced, gunpowder)); + potionRecipes.put(potionRegenerationEnhanced, Arrays.asList(potionRegeneration, reagentGlowstoneDust)); + potionRecipes.put(potionRegenerationEnhanced, Arrays.asList(potionRegenerationExtended, reagentGlowstoneDust)); + potionRecipes.put(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationSplash, reagentGlowstoneDust)); + potionRecipes.put(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationEnhanced, reagentGunpowder)); - potionRecipes.put(potionWeakness, Arrays.asList(potionAwkward, fermentedSpiderEye)); - potionRecipes.put(potionWeakness, Arrays.asList(potionRegeneration, fermentedSpiderEye)); - potionRecipes.put(potionWeakness, Arrays.asList(potionRegenerationEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionWeakness, Arrays.asList(potionStrength, fermentedSpiderEye)); - potionRecipes.put(potionWeakness, Arrays.asList(potionStrengthEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionWeakness, Arrays.asList(potionMundane, fermentedSpiderEye)); - potionRecipes.put(potionWeakness, Arrays.asList(potionWeaknessExtended, glowstoneDust)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionRegenerationSplash, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionRegenerationSplashEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionStrengthSplash, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionStrengthSplashEnhanced, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionMundaneSplash, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionWeaknessSplashExtended, glowstoneDust)); - potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionWeakness, gunpowder)); + potionRecipes.put(potionWeakness, Arrays.asList(potionAwkward, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeakness, Arrays.asList(potionRegeneration, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeakness, Arrays.asList(potionRegenerationEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeakness, Arrays.asList(potionStrength, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeakness, Arrays.asList(potionStrengthEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeakness, Arrays.asList(potionMundane, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeakness, Arrays.asList(potionWeaknessExtended, reagentGlowstoneDust)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionRegenerationSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionRegenerationSplashEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionStrengthSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionStrengthSplashEnhanced, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionMundaneSplash, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionWeaknessSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionWeaknessSplash, Arrays.asList(potionWeakness, reagentGunpowder)); - potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionWeakness, redstoneDust)); - potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionRegenerationExtended, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionStrengthExtended, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionMundaneExtended, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionWeaknessSplash, redstoneDust)); - potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionRegenerationSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionStrengthSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionMundaneSplashExtended, fermentedSpiderEye)); - potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionWeaknessExtended, gunpowder)); + potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionWeakness, reagentRedstoneDust)); + potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionRegenerationExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionStrengthExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessExtended, Arrays.asList(potionMundaneExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionWeaknessSplash, reagentRedstoneDust)); + potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionRegenerationSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionStrengthSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionMundaneSplashExtended, reagentFermentedSpiderEye)); + potionRecipes.put(potionWeaknessSplashExtended, Arrays.asList(potionWeaknessExtended, reagentGunpowder)); - potionRecipes.put(potionStrength, Arrays.asList(potionAwkward, blazePowder)); - potionRecipes.put(potionStrengthSplash, Arrays.asList(potionStrength, gunpowder)); + potionRecipes.put(potionStrength, Arrays.asList(potionAwkward, reagentBlazePowder)); + potionRecipes.put(potionStrengthSplash, Arrays.asList(potionStrength, reagentGunpowder)); - potionRecipes.put(potionStrengthEnhanced, Arrays.asList(potionStrength, glowstoneDust)); - potionRecipes.put(potionStrengthEnhanced, Arrays.asList(potionStrengthExtended, glowstoneDust)); - potionRecipes.put(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthSplash, glowstoneDust)); - potionRecipes.put(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthSplashExtended, glowstoneDust)); - potionRecipes.put(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthEnhanced, gunpowder)); + potionRecipes.put(potionStrengthEnhanced, Arrays.asList(potionStrength, reagentGlowstoneDust)); + potionRecipes.put(potionStrengthEnhanced, Arrays.asList(potionStrengthExtended, reagentGlowstoneDust)); + potionRecipes.put(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthSplash, reagentGlowstoneDust)); + potionRecipes.put(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthSplashExtended, reagentGlowstoneDust)); + potionRecipes.put(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthEnhanced, reagentGunpowder)); - potionRecipes.put(potionStrengthExtended, Arrays.asList(potionStrength, redstoneDust)); - potionRecipes.put(potionStrengthExtended, Arrays.asList(potionStrengthEnhanced, redstoneDust)); - potionRecipes.put(potionStrengthSplashExtended, Arrays.asList(potionStrengthSplash, redstoneDust)); - potionRecipes.put(potionStrengthSplashExtended, Arrays.asList(potionStrengthSplashEnhanced, redstoneDust)); - potionRecipes.put(potionStrengthSplashExtended, Arrays.asList(potionStrengthExtended, gunpowder)); + potionRecipes.put(potionStrengthExtended, Arrays.asList(potionStrength, reagentRedstoneDust)); + potionRecipes.put(potionStrengthExtended, Arrays.asList(potionStrengthEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionStrengthSplashExtended, Arrays.asList(potionStrengthSplash, reagentRedstoneDust)); + potionRecipes.put(potionStrengthSplashExtended, Arrays.asList(potionStrengthSplashEnhanced, reagentRedstoneDust)); + potionRecipes.put(potionStrengthSplashExtended, Arrays.asList(potionStrengthExtended, reagentGunpowder)); - potionRecipes.put(potionThick, Arrays.asList(bottleWater, glowstoneDust)); + potionRecipes.put(potionThick, Arrays.asList(bottleWater, reagentGlowstoneDust)); - potionRecipes.put(potionMundane, Arrays.asList(bottleWater, sugar)); - potionRecipes.put(potionMundane, Arrays.asList(bottleWater, glisteringMelon)); - potionRecipes.put(potionMundane, Arrays.asList(bottleWater, spiderEye)); - potionRecipes.put(potionMundane, Arrays.asList(bottleWater, blazePowder)); - potionRecipes.put(potionMundane, Arrays.asList(bottleWater, magmaCream)); - potionRecipes.put(potionMundane, Arrays.asList(bottleWater, ghastTear)); - potionRecipes.put(potionMundaneSplash, Arrays.asList(potionMundane, gunpowder)); + potionRecipes.put(potionMundane, Arrays.asList(bottleWater, reagentSugar)); + potionRecipes.put(potionMundane, Arrays.asList(bottleWater, reagentGlisteringMelon)); + potionRecipes.put(potionMundane, Arrays.asList(bottleWater, reagentSpiderEye)); + potionRecipes.put(potionMundane, Arrays.asList(bottleWater, reagentBlazePowder)); + potionRecipes.put(potionMundane, Arrays.asList(bottleWater, reagentMagmaCream)); + potionRecipes.put(potionMundane, Arrays.asList(bottleWater, reagentGhastTear)); + potionRecipes.put(potionMundaneSplash, Arrays.asList(potionMundane, reagentGunpowder)); - potionRecipes.put(potionMundaneExtended, Arrays.asList(bottleWater, redstoneDust)); - potionRecipes.put(potionMundaneSplashExtended, Arrays.asList(potionMundaneExtended, gunpowder)); + potionRecipes.put(potionMundaneExtended, Arrays.asList(bottleWater, reagentRedstoneDust)); + potionRecipes.put(potionMundaneSplashExtended, Arrays.asList(potionMundaneExtended, reagentGunpowder)); return potionRecipes; } diff --git a/ee3_common/com/pahimar/ee3/item/crafting/RecipesSmeltable.java b/ee3_common/com/pahimar/ee3/item/crafting/RecipesSmeltable.java new file mode 100644 index 00000000..35aa571f --- /dev/null +++ b/ee3_common/com/pahimar/ee3/item/crafting/RecipesSmeltable.java @@ -0,0 +1,41 @@ +package com.pahimar.ee3.item.crafting; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; + +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; +import com.pahimar.ee3.core.util.EnergyStack; +import com.pahimar.ee3.item.CustomWrappedStack; + + +public class RecipesSmeltable { + + private static final CustomWrappedStack smeltingEnergy = new CustomWrappedStack(new EnergyStack(EnergyStack.VANILLA_SMELTING_ENERGY_NAME, EnergyStack.VANILLA_SMELTING_ENERGY_THRESHOLD)); + + public static Multimap> getSmeltingRecipes() { + + Multimap> smeltingRecipes = HashMultimap.create(); + + @SuppressWarnings("unchecked") + Map smeltingList = FurnaceRecipes.smelting().getSmeltingList(); + Map, ItemStack> metaSmeltingList = FurnaceRecipes.smelting().getMetaSmeltingList(); + + for (Integer i : smeltingList.keySet()) { + smeltingRecipes.put(new CustomWrappedStack(smeltingList.get(i)), Arrays.asList(smeltingEnergy, new CustomWrappedStack(new ItemStack(i, 1, 0)))); + } + + for (List idMetaPair : metaSmeltingList.keySet()) { + if (idMetaPair.size() == 2) { + smeltingRecipes.put(new CustomWrappedStack(metaSmeltingList.get(idMetaPair)), Arrays.asList(smeltingEnergy, new CustomWrappedStack(new ItemStack(idMetaPair.get(0), 1, idMetaPair.get(1))))); + } + } + + return smeltingRecipes; + } + +}