3
0
Fork 1
KCauldronX/patches/net/minecraft/inventory/ContainerHopper.java.patch

52 lines
1.6 KiB
Diff

--- ../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_);
}