You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.6 KiB
77 lines
2.6 KiB
--- ../src-base/minecraft/net/minecraft/inventory/ContainerChest.java |
|
+++ ../src-work/minecraft/net/minecraft/inventory/ContainerChest.java |
|
@@ -3,10 +3,46 @@ |
|
import net.minecraft.entity.player.EntityPlayer; |
|
import net.minecraft.item.ItemStack; |
|
|
|
+// CraftBukkit start |
|
+import net.minecraft.entity.player.InventoryPlayer; |
|
+import org.bukkit.craftbukkit.inventory.CraftInventory; |
|
+import org.bukkit.craftbukkit.inventory.CraftInventoryView; |
|
+// CraftBukkit end |
|
+ |
|
public class ContainerChest extends Container |
|
{ |
|
- private IInventory lowerChestInventory; |
|
+ public IInventory lowerChestInventory; // CraftBukkit - private->public |
|
private int numRows; |
|
+ // CraftBukkit start |
|
+ private CraftInventoryView bukkitEntity = null; |
|
+ private InventoryPlayer player; |
|
+ |
|
+ public CraftInventoryView getBukkitView() |
|
+ { |
|
+ if (bukkitEntity != null || player == null) // Cauldron |
|
+ { |
|
+ return bukkitEntity; |
|
+ } |
|
+ |
|
+ CraftInventory inventory; |
|
+ |
|
+ if (this.lowerChestInventory instanceof InventoryPlayer) |
|
+ { |
|
+ inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryPlayer((InventoryPlayer) this.lowerChestInventory); |
|
+ } |
|
+ else if (this.lowerChestInventory instanceof InventoryLargeChest) |
|
+ { |
|
+ inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryDoubleChest((InventoryLargeChest) this.lowerChestInventory); |
|
+ } |
|
+ else |
|
+ { |
|
+ inventory = new CraftInventory(this.lowerChestInventory); |
|
+ } |
|
+ |
|
+ bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this); |
|
+ return bukkitEntity; |
|
+ } |
|
+ // CraftBukkit end |
|
private static final String __OBFID = "CL_00001742"; |
|
|
|
public ContainerChest(IInventory p_i1806_1_, IInventory p_i1806_2_) |
|
@@ -15,6 +51,12 @@ |
|
this.numRows = p_i1806_2_.getSizeInventory() / 9; |
|
p_i1806_2_.openInventory(); |
|
int i = (this.numRows - 4) * 18; |
|
+ // CraftBukkit start - Save player |
|
+ if (p_i1806_1_ instanceof InventoryPlayer) // Cauldron - make sure it is an InventoryPlayer before casting |
|
+ { |
|
+ this.player = (InventoryPlayer) p_i1806_1_; |
|
+ } |
|
+ // CraftBukkit end |
|
int j; |
|
int k; |
|
|
|
@@ -42,6 +84,13 @@ |
|
|
|
public boolean canInteractWith(EntityPlayer p_75145_1_) |
|
{ |
|
+ // CraftBukkit start |
|
+ if (!this.checkReachable) |
|
+ { |
|
+ return true; |
|
+ } |
|
+ // CraftBukkit end |
|
+ |
|
return this.lowerChestInventory.isUseableByPlayer(p_75145_1_); |
|
} |
|
|
|
|