From 8b67cad4cc13f2cc547ae4572bd9205adb337d8a Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Mon, 12 Mar 2012 16:46:47 -0400 Subject: [Bleeding] Added DoubleChest wrapper so that DoubleChestInventory can return something other than null. Addresses BUKKIT-995 --- src/main/java/org/bukkit/block/DoubleChest.java | 47 ++++++++++++++++++++++ .../org/bukkit/inventory/DoubleChestInventory.java | 4 ++ 2 files changed, 51 insertions(+) create mode 100644 src/main/java/org/bukkit/block/DoubleChest.java (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/block/DoubleChest.java b/src/main/java/org/bukkit/block/DoubleChest.java new file mode 100644 index 00000000..cfc5b208 --- /dev/null +++ b/src/main/java/org/bukkit/block/DoubleChest.java @@ -0,0 +1,47 @@ +package org.bukkit.block; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.inventory.DoubleChestInventory; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryHolder; + +public class DoubleChest implements InventoryHolder { + private DoubleChestInventory inventory; + + public DoubleChest(DoubleChestInventory chest) { + inventory = chest; + } + + public Inventory getInventory() { + return inventory; + } + + public InventoryHolder getLeftSide() { + return inventory.getLeftSide().getHolder(); + } + + public InventoryHolder getRightSide() { + return inventory.getRightSide().getHolder(); + } + + public Location getLocation() { + return new Location(getWorld(), getX(), getY(), getZ()); + } + + public World getWorld() { + return ((Chest)getLeftSide()).getWorld(); + } + + public double getX() { + return 0.5 * (((Chest)getLeftSide()).getX() + ((Chest)getRightSide()).getX()); + } + + public double getY() { + return 0.5 * (((Chest)getLeftSide()).getY() + ((Chest)getRightSide()).getY()); + } + + public double getZ() { + return 0.5 * (((Chest)getLeftSide()).getZ() + ((Chest)getRightSide()).getZ()); + } +} diff --git a/src/main/java/org/bukkit/inventory/DoubleChestInventory.java b/src/main/java/org/bukkit/inventory/DoubleChestInventory.java index 81d60304..7ad00eee 100644 --- a/src/main/java/org/bukkit/inventory/DoubleChestInventory.java +++ b/src/main/java/org/bukkit/inventory/DoubleChestInventory.java @@ -1,5 +1,7 @@ package org.bukkit.inventory; +import org.bukkit.block.DoubleChest; + public interface DoubleChestInventory extends Inventory { /** * Get the left half of this double chest. @@ -12,4 +14,6 @@ public interface DoubleChestInventory extends Inventory { * @return The right side inventory */ Inventory getRightSide(); + + DoubleChest getHolder(); } -- cgit v1.2.3