mirror of
https://github.com/PaperMC/Paper.git
synced 2024-10-29 23:09:33 +01:00
111 lines
2.6 KiB
Java
111 lines
2.6 KiB
Java
|
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;
|
||
|
}
|
||
|
}
|