mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-13 16:54:22 +00:00
Metadata-sensitive smelting patch.
This commit is contained in:
1 parent
c9b6cdef1f
commit
9fa40cb432
1 file changed
+144
@@ -1308,6 +1308,57 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Explosion
|
||||
}
|
||||
if(f1 > 0.0F)
|
||||
{
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/FurnaceRecipes.java ../src_work/minecraft/net/minecraft/src/FurnaceRecipes.java
|
||||
--- ../src_base/minecraft/net/minecraft/src/FurnaceRecipes.java 2011-09-19 16:32:52.000000000 -0400
|
||||
+++ ../src_work/minecraft/net/minecraft/src/FurnaceRecipes.java 2011-09-20 20:52:59.000000000 -0400
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
+import java.util.Arrays;
|
||||
|
||||
// Referenced classes of package net.minecraft.src:
|
||||
// Block, ItemStack, Item
|
||||
@@ -40,11 +41,32 @@
|
||||
smeltingList.put(Integer.valueOf(i), itemstack);
|
||||
}
|
||||
|
||||
+ /* FORGE: Add a metadata-sensitive furnace recipe.
|
||||
+ */
|
||||
+ public void addSmelting(int i, int meta, ItemStack itemstack)
|
||||
+ {
|
||||
+ metaSmeltingList.put(Arrays.asList(i,meta), itemstack);
|
||||
+ }
|
||||
+
|
||||
+ /* FORGE: Not used anymore.
|
||||
+ */
|
||||
public ItemStack getSmeltingResult(int i)
|
||||
{
|
||||
return (ItemStack)smeltingList.get(Integer.valueOf(i));
|
||||
}
|
||||
|
||||
+ /* FORGE: Added to allow metadata-sensitive smelting.
|
||||
+ */
|
||||
+ public ItemStack getSmeltingResult(ItemStack src) {
|
||||
+ ItemStack tr;
|
||||
+
|
||||
+ if(src==null) return null;
|
||||
+ tr=(ItemStack)metaSmeltingList.get(
|
||||
+ Arrays.asList(src.itemID,src.getItemDamage()));
|
||||
+ if(tr!=null) return tr;
|
||||
+ return (ItemStack)smeltingList.get(Integer.valueOf(src.itemID));
|
||||
+ }
|
||||
+
|
||||
public Map getSmeltingList()
|
||||
{
|
||||
return smeltingList;
|
||||
@@ -52,5 +74,6 @@
|
||||
|
||||
private static final FurnaceRecipes smeltingBase = new FurnaceRecipes();
|
||||
private Map smeltingList;
|
||||
+ private Map metaSmeltingList;
|
||||
|
||||
}
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemBucket.java ../src_work/minecraft/net/minecraft/src/ItemBucket.java
|
||||
--- ../src_base/minecraft/net/minecraft/src/ItemBucket.java 2011-09-19 16:32:52.000000000 -0400
|
||||
+++ ../src_work/minecraft/net/minecraft/src/ItemBucket.java 2011-09-19 16:32:54.000000000 -0400
|
||||
@@ -2045,6 +2096,27 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Tessellat
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/TileEntityFurnace.java ../src_work/minecraft/net/minecraft/src/TileEntityFurnace.java
|
||||
--- ../src_base/minecraft/net/minecraft/src/TileEntityFurnace.java 2011-09-19 16:32:52.000000000 -0400
|
||||
+++ ../src_work/minecraft/net/minecraft/src/TileEntityFurnace.java 2011-09-20 20:51:30.000000000 -0400
|
||||
@@ -196,7 +196,7 @@
|
||||
{
|
||||
return false;
|
||||
}
|
||||
- ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0].getItem().shiftedIndex);
|
||||
+ ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0]);
|
||||
if(itemstack == null)
|
||||
{
|
||||
return false;
|
||||
@@ -222,7 +222,7 @@
|
||||
{
|
||||
return;
|
||||
}
|
||||
- ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0].getItem().shiftedIndex);
|
||||
+ ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0]);
|
||||
if(furnaceItemStacks[2] == null)
|
||||
{
|
||||
furnaceItemStacks[2] = itemstack.copy();
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/TileEntity.java ../src_work/minecraft/net/minecraft/src/TileEntity.java
|
||||
--- ../src_base/minecraft/net/minecraft/src/TileEntity.java 2011-09-19 16:32:52.000000000 -0400
|
||||
+++ ../src_work/minecraft/net/minecraft/src/TileEntity.java 2011-09-19 16:32:54.000000000 -0400
|
||||
@@ -3312,6 +3384,57 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Ex
|
||||
}
|
||||
if(f1 > 0.0F)
|
||||
{
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/FurnaceRecipes.java ../src_work/minecraft_server/net/minecraft/src/FurnaceRecipes.java
|
||||
--- ../src_base/minecraft_server/net/minecraft/src/FurnaceRecipes.java 2011-09-19 16:32:53.000000000 -0400
|
||||
+++ ../src_work/minecraft_server/net/minecraft/src/FurnaceRecipes.java 2011-09-20 20:52:55.000000000 -0400
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
+import java.util.Arrays;
|
||||
|
||||
// Referenced classes of package net.minecraft.src:
|
||||
// Block, ItemStack, Item
|
||||
@@ -40,11 +41,32 @@
|
||||
smeltingList.put(Integer.valueOf(i), itemstack);
|
||||
}
|
||||
|
||||
+ /* FORGE: Add a metadata-sensitive furnace recipe.
|
||||
+ */
|
||||
+ public void addSmelting(int i, int meta, ItemStack itemstack)
|
||||
+ {
|
||||
+ metaSmeltingList.put(Arrays.asList(i,meta), itemstack);
|
||||
+ }
|
||||
+
|
||||
+ /* FORGE: Not used anymore.
|
||||
+ */
|
||||
public ItemStack getSmeltingResult(int i)
|
||||
{
|
||||
return (ItemStack)smeltingList.get(Integer.valueOf(i));
|
||||
}
|
||||
|
||||
+ /* FORGE: Added to allow metadata-sensitive smelting.
|
||||
+ */
|
||||
+ public ItemStack getSmeltingResult(ItemStack src) {
|
||||
+ ItemStack tr;
|
||||
+
|
||||
+ if(src==null) return null;
|
||||
+ tr=(ItemStack)metaSmeltingList.get(
|
||||
+ Arrays.asList(src.itemID,src.getItemDamage()));
|
||||
+ if(tr!=null) return tr;
|
||||
+ return (ItemStack)smeltingList.get(Integer.valueOf(src.itemID));
|
||||
+ }
|
||||
+
|
||||
public Map getSmeltingList()
|
||||
{
|
||||
return smeltingList;
|
||||
@@ -52,5 +74,6 @@
|
||||
|
||||
private static final FurnaceRecipes smeltingBase = new FurnaceRecipes();
|
||||
private Map smeltingList;
|
||||
+ private Map metaSmeltingList;
|
||||
|
||||
}
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemBucket.java ../src_work/minecraft_server/net/minecraft/src/ItemBucket.java
|
||||
--- ../src_base/minecraft_server/net/minecraft/src/ItemBucket.java 2011-09-19 16:32:53.000000000 -0400
|
||||
+++ ../src_work/minecraft_server/net/minecraft/src/ItemBucket.java 2011-09-19 16:32:54.000000000 -0400
|
||||
@@ -3523,6 +3646,27 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Sl
|
||||
for(int i = 0; i < craftMatrix.getSizeInventory(); i++)
|
||||
{
|
||||
ItemStack itemstack1 = craftMatrix.getStackInSlot(i);
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/TileEntityFurnace.java ../src_work/minecraft_server/net/minecraft/src/TileEntityFurnace.java
|
||||
--- ../src_base/minecraft_server/net/minecraft/src/TileEntityFurnace.java 2011-09-19 16:32:53.000000000 -0400
|
||||
+++ ../src_work/minecraft_server/net/minecraft/src/TileEntityFurnace.java 2011-09-20 20:51:40.000000000 -0400
|
||||
@@ -176,7 +176,7 @@
|
||||
{
|
||||
return false;
|
||||
}
|
||||
- ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0].getItem().shiftedIndex);
|
||||
+ ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0]);
|
||||
if(itemstack == null)
|
||||
{
|
||||
return false;
|
||||
@@ -204,7 +204,7 @@
|
||||
{
|
||||
return;
|
||||
}
|
||||
- ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0].getItem().shiftedIndex);
|
||||
+ ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(furnaceItemStacks[0]);
|
||||
if(furnaceItemStacks[2] == null)
|
||||
{
|
||||
furnaceItemStacks[2] = itemstack.copy();
|
||||
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/TileEntity.java ../src_work/minecraft_server/net/minecraft/src/TileEntity.java
|
||||
--- ../src_base/minecraft_server/net/minecraft/src/TileEntity.java 2011-09-19 16:32:53.000000000 -0400
|
||||
+++ ../src_work/minecraft_server/net/minecraft/src/TileEntity.java 2011-09-19 16:32:54.000000000 -0400
|
||||
|
||||
Reference in new issue
Block a user