Package com.bergerkiller.bukkit.common.bases

Source Code of com.bergerkiller.bukkit.common.bases.IInventoryBase

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;
  }
}
TOP

Related Classes of com.bergerkiller.bukkit.common.bases.IInventoryBase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.