ForgePatch/forge/patches/minecraft_server/net/minecraft/src/TileEntityFurnace.java.patch

71 lines
2.9 KiB
Diff

--- ../src_base/minecraft_server/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
+++ ../src_work/minecraft_server/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
@@ -1,6 +1,8 @@
package net.minecraft.src;
-public class TileEntityFurnace extends TileEntity implements IInventory
+import net.minecraft.src.forge.ISidedInventory;
+
+public class TileEntityFurnace extends TileEntity implements IInventory, ISidedInventory
{
/**
* The ItemStacks that hold the items currently being used in the furnace
@@ -249,8 +251,12 @@
}
else
{
- ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex);
- return var1 == null ? false : (this.furnaceItemStacks[2] == null ? true : (!this.furnaceItemStacks[2].isItemEqual(var1) ? false : (this.furnaceItemStacks[2].stackSize < this.getInventoryStackLimit() && this.furnaceItemStacks[2].stackSize < this.furnaceItemStacks[2].getMaxStackSize() ? true : this.furnaceItemStacks[2].stackSize < var1.getMaxStackSize())));
+ ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]);
+ if (var1 == null) return false;
+ if (this.furnaceItemStacks[2] == null) return true;
+ if (!this.furnaceItemStacks[2].isItemEqual(var1)) return false;
+ int result = furnaceItemStacks[2].stackSize + var1.stackSize;
+ return (result < this.getInventoryStackLimit() && result < this.furnaceItemStacks[2].getMaxStackSize());
}
}
@@ -261,13 +267,13 @@
{
if (this.canSmelt())
{
- ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex);
+ ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]);
if (this.furnaceItemStacks[2] == null)
{
this.furnaceItemStacks[2] = var1.copy();
}
- else if (this.furnaceItemStacks[2].itemID == var1.itemID)
+ else if (this.furnaceItemStacks[2].isItemEqual(var1))
{
++this.furnaceItemStacks[2].stackSize;
}
@@ -285,7 +291,7 @@
* Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't
* fuel
*/
- private int getItemBurnTime(ItemStack par1ItemStack)
+ public int getItemBurnTime(ItemStack par1ItemStack)
{
if (par1ItemStack == null)
{
@@ -309,4 +315,18 @@
public void openChest() {}
public void closeChest() {}
+
+ @Override
+ public int getStartInventorySide(int side)
+ {
+ if (side == 0) return 1;
+ if (side == 1) return 0;
+ return 2;
+ }
+
+ @Override
+ public int getSizeInventorySide(int side)
+ {
+ return 1;
+ }
}