Vanilla smelting "recipes" now also provide output that can be consumed by the DynEMC system

This commit is contained in:
pahimar 2013-06-28 15:27:21 -04:00
parent 71a2fe3864
commit bdb138cf17
7 changed files with 419 additions and 276 deletions

View file

@ -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));
}
}

View file

@ -10,84 +10,88 @@ public class OreStack implements Comparator<OreStack> {
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<ItemStack> 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;
}
}

View file

@ -168,6 +168,7 @@ public class RecipeHelper {
ArrayList<IRecipe> reverseRecipeList = new ArrayList<IRecipe>();
@SuppressWarnings("unchecked")
ArrayList<IRecipe> recipeList = new ArrayList<IRecipe>(CraftingManager.getInstance().getRecipeList());
for (IRecipe recipe : recipeList) {

View file

@ -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;
}

View file

@ -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<ItemStack, List<ItemStack>> potionRecipes = RecipesPotions.getPotionRecipes();
//Multimap<CustomWrappedStack, List<CustomWrappedStack>> potionRecipes = RecipesPotions.getPotionRecipes();
Multimap<CustomWrappedStack, List<CustomWrappedStack>> potionRecipes = RecipesSmeltable.getSmeltingRecipes();
Set<ItemStack> keySet = potionRecipes.keySet();
Iterator<ItemStack> keySetIter = keySet.iterator();
ItemStack key = null;
Set<CustomWrappedStack> keySet = potionRecipes.keySet();
Iterator<CustomWrappedStack> keySetIter = keySet.iterator();
CustomWrappedStack key = null;
while (keySetIter.hasNext()) {
key = keySetIter.next();
for (List<ItemStack> potionInputs : potionRecipes.get(key)) {
recipeRegistry.addRecipe(new CustomWrappedStack(key), potionInputs);
for (List<CustomWrappedStack> potionInputs : potionRecipes.get(key)) {
recipeRegistry.addRecipe(key, potionInputs);
}
}
}

View file

@ -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<ItemStack, List<ItemStack>> getPotionRecipes() {
public static Multimap<CustomWrappedStack, List<CustomWrappedStack>> getPotionRecipes() {
Multimap<ItemStack, List<ItemStack>> potionRecipes = HashMultimap.create();
Multimap<CustomWrappedStack, List<CustomWrappedStack>> 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;
}

View file

@ -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<CustomWrappedStack, List<CustomWrappedStack>> getSmeltingRecipes() {
Multimap<CustomWrappedStack, List<CustomWrappedStack>> smeltingRecipes = HashMultimap.create();
@SuppressWarnings("unchecked")
Map<Integer, ItemStack> smeltingList = FurnaceRecipes.smelting().getSmeltingList();
Map<List<Integer>, 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<Integer> 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;
}
}