--- ../src-base/minecraft/net/minecraft/inventory/ContainerHopper.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerHopper.java @@ -4,13 +4,36 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; +// CraftBukkit start +import org.bukkit.craftbukkit.inventory.CraftInventory; +import org.bukkit.craftbukkit.inventory.CraftInventoryView; +// CraftBukkit end + public class ContainerHopper extends Container { private final IInventory field_94538_a; private static final String __OBFID = "CL_00001750"; + // CraftBukkit start + private CraftInventoryView bukkitEntity = null; + private InventoryPlayer player; + + public CraftInventoryView getBukkitView() + { + if (bukkitEntity != null) + { + return bukkitEntity; + } + + CraftInventory inventory = new CraftInventory(this.field_94538_a); + bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this); + return bukkitEntity; + } + // CraftBukkit end + public ContainerHopper(InventoryPlayer p_i1814_1_, IInventory p_i1814_2_) { + this.player = p_i1814_1_; // CraftBukkit - save player this.field_94538_a = p_i1814_2_; p_i1814_2_.openInventory(); byte b0 = 51; @@ -37,6 +60,11 @@ public boolean canInteractWith(EntityPlayer p_75145_1_) { + if (!this.checkReachable) + { + return true; // CraftBukkit + } + return this.field_94538_a.isUseableByPlayer(p_75145_1_); }