diff options
Diffstat (limited to 'patch-remap/og/net/minecraft/world/inventory/ContainerChest.patch')
-rw-r--r-- | patch-remap/og/net/minecraft/world/inventory/ContainerChest.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/world/inventory/ContainerChest.patch b/patch-remap/og/net/minecraft/world/inventory/ContainerChest.patch new file mode 100644 index 0000000000..e955215fd1 --- /dev/null +++ b/patch-remap/og/net/minecraft/world/inventory/ContainerChest.patch @@ -0,0 +1,62 @@ +--- a/net/minecraft/world/inventory/ContainerChest.java ++++ b/net/minecraft/world/inventory/ContainerChest.java +@@ -6,11 +6,40 @@ + import net.minecraft.world.entity.player.PlayerInventory; + import net.minecraft.world.item.ItemStack; + ++// CraftBukkit start ++import net.minecraft.world.InventoryLargeChest; ++import org.bukkit.craftbukkit.inventory.CraftInventory; ++import org.bukkit.craftbukkit.inventory.CraftInventoryView; ++// CraftBukkit end ++ + public class ContainerChest extends Container { + + private static final int SLOTS_PER_ROW = 9; + private final IInventory container; + private final int containerRows; ++ // CraftBukkit start ++ private CraftInventoryView bukkitEntity = null; ++ private PlayerInventory player; ++ ++ @Override ++ public CraftInventoryView getBukkitView() { ++ if (bukkitEntity != null) { ++ return bukkitEntity; ++ } ++ ++ CraftInventory inventory; ++ if (this.container instanceof PlayerInventory) { ++ inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryPlayer((PlayerInventory) this.container); ++ } else if (this.container instanceof InventoryLargeChest) { ++ inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryDoubleChest((InventoryLargeChest) this.container); ++ } else { ++ inventory = new CraftInventory(this.container); ++ } ++ ++ bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this); ++ return bukkitEntity; ++ } ++ // CraftBukkit end + + private ContainerChest(Containers<?> containers, int i, PlayerInventory playerinventory, int j) { + this(containers, i, playerinventory, new InventorySubcontainer(9 * j), j); +@@ -56,6 +85,10 @@ + iinventory.startOpen(playerinventory.player); + int k = (this.containerRows - 4) * 18; + ++ // CraftBukkit start - Save player ++ this.player = playerinventory; ++ // CraftBukkit end ++ + int l; + int i1; + +@@ -79,6 +112,7 @@ + + @Override + public boolean stillValid(EntityHuman entityhuman) { ++ if (!this.checkReachable) return true; // CraftBukkit + return this.container.stillValid(entityhuman); + } + |