summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/InventoryEnderChest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/InventoryEnderChest.java')
-rw-r--r--src/main/java/net/minecraft/server/InventoryEnderChest.java110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java
new file mode 100644
index 00000000..c7e3bdb6
--- /dev/null
+++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java
@@ -0,0 +1,110 @@
+package net.minecraft.server;
+
+// CraftBukkit start
+import java.util.List;
+import org.bukkit.craftbukkit.entity.CraftHumanEntity;
+import org.bukkit.entity.HumanEntity;
+// CraftBukkit end
+
+public class InventoryEnderChest extends InventorySubcontainer {
+
+ private TileEntityEnderChest a;
+
+ // CraftBukkit start
+ public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
+ public org.bukkit.entity.Player player;
+ private int maxStack = MAX_STACK;
+
+ public ItemStack[] getContents() {
+ return this.items;
+ }
+
+ public void onOpen(CraftHumanEntity who) {
+ transaction.add(who);
+ }
+
+ public void onClose(CraftHumanEntity who) {
+ transaction.remove(who);
+ }
+
+ public List<HumanEntity> getViewers() {
+ return transaction;
+ }
+
+ public org.bukkit.inventory.InventoryHolder getOwner() {
+ return this.player;
+ }
+
+ public void setMaxStackSize(int size) {
+ maxStack = size;
+ }
+
+ public int getMaxStackSize() {
+ return maxStack;
+ }
+ // CraftBukkit end
+
+ public InventoryEnderChest() {
+ super("container.enderchest", 27);
+ }
+
+ public void a(TileEntityEnderChest tileentityenderchest) {
+ this.a = tileentityenderchest;
+ }
+
+ public void a(NBTTagList nbttaglist) {
+ int i;
+
+ for (i = 0; i < this.getSize(); ++i) {
+ this.setItem(i, (ItemStack) null);
+ }
+
+ for (i = 0; i < nbttaglist.size(); ++i) {
+ NBTTagCompound nbttagcompound = (NBTTagCompound) nbttaglist.get(i);
+ int j = nbttagcompound.getByte("Slot") & 255;
+
+ if (j >= 0 && j < this.getSize()) {
+ this.setItem(j, ItemStack.a(nbttagcompound));
+ }
+ }
+ }
+
+ public NBTTagList g() {
+ NBTTagList nbttaglist = new NBTTagList("EnderItems");
+
+ for (int i = 0; i < this.getSize(); ++i) {
+ ItemStack itemstack = this.getItem(i);
+
+ if (itemstack != null) {
+ NBTTagCompound nbttagcompound = new NBTTagCompound();
+
+ nbttagcompound.setByte("Slot", (byte) i);
+ itemstack.save(nbttagcompound);
+ nbttaglist.add(nbttagcompound);
+ }
+ }
+
+ return nbttaglist;
+ }
+
+ public boolean a(EntityHuman entityhuman) {
+ return this.a != null && !this.a.a(entityhuman) ? false : super.a(entityhuman);
+ }
+
+ public void startOpen() {
+ if (this.a != null) {
+ this.a.a();
+ }
+
+ super.startOpen();
+ }
+
+ public void f() {
+ if (this.a != null) {
+ this.a.b();
+ }
+
+ super.f();
+ this.a = null;
+ }
+}