package com.laytonsmith.abstraction.bukkit; import com.laytonsmith.abstraction.MCItemStack; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; /** * * */ public class BukkitMCDoubleChest extends BukkitMCInventory { Inventory left; Inventory right; public BukkitMCDoubleChest(Inventory left, Inventory right){ super(left); } @Override public int getSize() { return left.getSize() + right.getSize(); } @Override public MCItemStack getItem(int slot) { ItemStack is; if(slot < left.getSize()){ is = left.getItem(slot); } else { is = right.getItem(slot - left.getSize()); } return new BukkitMCItemStack(is); } @Override public void setItem(int slot, MCItemStack stack) { ItemStack is = (ItemStack)((BukkitMCItemStack)stack).getHandle(); if(slot < left.getSize()){ left.setItem(slot, is); } else { right.setItem(slot - left.getSize(), is); } } @Override public String toString() { return left.toString() + ":" + right.toString(); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final BukkitMCDoubleChest other = (BukkitMCDoubleChest) obj; if (this.left != other.left && (this.left == null || !this.left.equals(other.left))) { return false; } if (this.right != other.right && (this.right == null || !this.right.equals(other.right))) { return false; } return true; } @Override public int hashCode() { int hash = 7; hash = 59 * hash + (this.left != null ? this.left.hashCode() : 0); hash = 59 * hash + (this.right != null ? this.right.hashCode() : 0); return hash; } }