--- ../src-base/minecraft/net/minecraft/inventory/ContainerFurnace.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerFurnace.java @@ -8,12 +8,34 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.tileentity.TileEntityFurnace; +// CraftBukkit start +import org.bukkit.craftbukkit.inventory.CraftInventoryFurnace; +import org.bukkit.craftbukkit.inventory.CraftInventoryView; +// CraftBukkit end + public class ContainerFurnace extends Container { private TileEntityFurnace tileFurnace; private int lastCookTime; private int lastBurnTime; private int lastItemBurnTime; + + // CraftBukkit start + private CraftInventoryView bukkitEntity = null; + private InventoryPlayer player; + + public CraftInventoryView getBukkitView() + { + if (bukkitEntity != null) + { + return bukkitEntity; + } + + CraftInventoryFurnace inventory = new CraftInventoryFurnace(this.tileFurnace); + bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this); + return bukkitEntity; + } + // CraftBukkit end private static final String __OBFID = "CL_00001748"; public ContainerFurnace(InventoryPlayer p_i1812_1_, TileEntityFurnace p_i1812_2_) @@ -22,6 +44,7 @@ this.addSlotToContainer(new Slot(p_i1812_2_, 0, 56, 17)); this.addSlotToContainer(new Slot(p_i1812_2_, 1, 56, 53)); this.addSlotToContainer(new SlotFurnace(p_i1812_1_.player, p_i1812_2_, 2, 116, 35)); + this.player = p_i1812_1_; // CraftBukkit - save player int i; for (i = 0; i < 3; ++i) @@ -96,6 +119,11 @@ public boolean canInteractWith(EntityPlayer p_75145_1_) { + if (!this.checkReachable) + { + return true; // CraftBukkit + } + return this.tileFurnace.isUseableByPlayer(p_75145_1_); }