63 lines
1.9 KiB
Diff
63 lines
1.9 KiB
Diff
|
--- ../src_base/common/net/minecraft/src/FurnaceRecipes.java
|
||
|
+++ ../src_work/common/net/minecraft/src/FurnaceRecipes.java
|
||
|
@@ -1,5 +1,6 @@
|
||
|
package net.minecraft.src;
|
||
|
|
||
|
+import java.util.Arrays;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
|
||
|
@@ -10,6 +11,7 @@
|
||
|
/** The list of smelting results. */
|
||
|
private Map smeltingList = new HashMap();
|
||
|
private Map field_77605_c = new HashMap();
|
||
|
+ private Map metaSmeltingList = new HashMap();
|
||
|
|
||
|
/**
|
||
|
* Used to call methods addSmelting and getSmeltingResult.
|
||
|
@@ -50,7 +52,9 @@
|
||
|
|
||
|
/**
|
||
|
* Returns the smelting result of an item.
|
||
|
+ * Deprecated in favor of a metadata sensitive version
|
||
|
*/
|
||
|
+ @Deprecated
|
||
|
public ItemStack getSmeltingResult(int par1)
|
||
|
{
|
||
|
return (ItemStack)this.smeltingList.get(Integer.valueOf(par1));
|
||
|
@@ -65,4 +69,34 @@
|
||
|
{
|
||
|
return this.field_77605_c.containsKey(Integer.valueOf(par1)) ? ((Float)this.field_77605_c.get(Integer.valueOf(par1))).floatValue() : 0.0F;
|
||
|
}
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Add a metadata-sensitive furnace recipe
|
||
|
+ * @param itemID The Item ID
|
||
|
+ * @param metadata The Item Metadata
|
||
|
+ * @param itemstack The ItemStack for the result
|
||
|
+ */
|
||
|
+ public void addSmelting(int itemID, int metadata, ItemStack itemstack)
|
||
|
+ {
|
||
|
+ metaSmeltingList.put(Arrays.asList(itemID, metadata), itemstack);
|
||
|
+ }
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Used to get the resulting ItemStack form a source ItemStack
|
||
|
+ * @param item The Source ItemStack
|
||
|
+ * @return The result ItemStack
|
||
|
+ */
|
||
|
+ public ItemStack getSmeltingResult(ItemStack item)
|
||
|
+ {
|
||
|
+ if (item == null)
|
||
|
+ {
|
||
|
+ return null;
|
||
|
+ }
|
||
|
+ ItemStack ret = (ItemStack)metaSmeltingList.get(Arrays.asList(item.itemID, item.getItemDamage()));
|
||
|
+ if (ret != null)
|
||
|
+ {
|
||
|
+ return ret;
|
||
|
+ }
|
||
|
+ return (ItemStack)smeltingList.get(Integer.valueOf(item.itemID));
|
||
|
+ }
|
||
|
}
|