package com.bergerkiller.bukkit.common.bases;
import java.util.Collections;
import java.util.List;
import net.minecraft.server.EntityHuman;
import net.minecraft.server.IInventory;
import net.minecraft.server.ItemStack;
import org.bukkit.craftbukkit.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.inventory.CraftInventory;
import org.bukkit.entity.HumanEntity;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
/**
* A base Inventory that excludes the getting and setting of items<br>
* Avoid using this class as much as possible, use the Bukkit versions instead!
*/
public class IInventoryBase implements IInventory {
private int maxstacksize = 64;
public void setContents(ItemStack[] items) {
for (int i = 0; i < items.length; i++) {
this.setItem(i, items[i]);
}
}
@Override
public ItemStack[] getContents() {
ItemStack[] contents = new ItemStack[this.getSize()];
for (int i = 0; i < contents.length; i++) {
contents[i] = this.getItem(i);
}
return contents;
}
@Override
public InventoryHolder getOwner() {
return null;
}
@Override
public void startOpen() {
}
@Override
public List<HumanEntity> getViewers() {
return Collections.emptyList();
}
@Override
public void onClose(CraftHumanEntity arg0) {
}
@Override
public void onOpen(CraftHumanEntity arg0) {
}
@Override
public void update() {
}
@Override
public boolean a(EntityHuman arg0) {
return false;
}
@Override
public void closeContainer() {
}
@Override
public int getMaxStackSize() {
return this.maxstacksize;
}
@Override
public void setMaxStackSize(int size) {
this.maxstacksize = size;
}
@Override
public ItemStack splitStack(int index, int size) {
ItemStack item = this.getItem(index);
if (item != null) {
ItemStack itemstack;
if (item.count <= size) {
itemstack = item;
this.setItem(index, null);
return itemstack;
} else {
itemstack = item.a(size);
if (item.count == 0) {
this.setItem(index, null);
}
return itemstack;
}
} else {
return null;
}
}
@Override
public ItemStack splitWithoutUpdate(int index) {
ItemStack item = this.getItem(index);
if (item != null) {
this.setItem(index, null);
return item;
} else {
return null;
}
}
public Inventory getInventory() {
return new CraftInventory(this);
}
@Override
public ItemStack getItem(int arg0) {
return null;
}
@Override
public String getInventoryName() {
return getClass().getSimpleName();
}
@Override
public int getSize() {
return 0;
}
@Override
public void setItem(int arg0, ItemStack arg1) {
}
@Override
public boolean b(int arg0, ItemStack arg1) {
return false;
}
@Override
public boolean k_() {
return false;
}
}