summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/block/DoubleChest.java47
-rw-r--r--src/main/java/org/bukkit/inventory/DoubleChestInventory.java4
2 files changed, 51 insertions, 0 deletions
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();
}