Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mrolas.muchMoney.common.tileEntities;
- import mrolas.muchMoney.common.item.Items;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.inventory.IInventory;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.nbt.NBTTagList;
- import net.minecraft.tileentity.TileEntity;
- public class TileEntityShopStop
- extends TileEntity
- implements IInventory
- {
- private long coins;
- private long price;
- private ItemStack[] stacks;
- public TileEntityShopStop ()
- {
- stacks = new ItemStack[6];
- }
- @Override
- public int getSizeInventory ()
- {
- return stacks.length;
- }
- @Override
- public ItemStack getStackInSlot (int i)
- {
- return stacks[i];
- }
- @Override
- public ItemStack decrStackSize (int i, int j)
- {
- ItemStack stack = getStackInSlot(i);
- if (stack != null)
- {
- if (stack.stackSize <= j)
- {
- setInventorySlotContents(i, null);
- }
- else
- {
- stack = stack.splitStack(j);
- onInventoryChanged();
- }
- }
- return stack;
- }
- @Override
- public ItemStack getStackInSlotOnClosing (int i)
- {
- ItemStack stack = getStackInSlot(i);
- setInventorySlotContents(i, null);
- return stack;
- }
- @Override
- public void setInventorySlotContents (int i, ItemStack itemstack)
- {
- stacks[i] = itemstack;
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
- onInventoryChanged();
- }
- @Override
- public String getInvName ()
- {
- return "InventoryShopStop";
- }
- @Override
- public boolean isInvNameLocalized ()
- {
- return false;
- }
- @Override
- public int getInventoryStackLimit ()
- {
- return 64;
- }
- @Override
- public boolean isUseableByPlayer (EntityPlayer entityplayer)
- {
- return entityplayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) <= 64;
- }
- @Override
- public void openChest () {}
- @Override
- public void closeChest () {}
- @Override
- public boolean isItemValidForSlot (int i, ItemStack itemstack)
- {
- if (i == 5)
- {
- return true;
- }
- else
- {
- return itemstack.itemID == Items.coin.itemID;
- }
- }
- @Override
- public void writeToNBT (NBTTagCompound compound)
- {
- super.writeToNBT(compound);
- NBTTagList items = new NBTTagList();
- for (int i = 0; i < getSizeInventory(); i++)
- {
- ItemStack stack = getStackInSlot(i);
- if (stack != null)
- {
- NBTTagCompound item = new NBTTagCompound();
- item.setByte("Slot", (byte)i);
- stack.writeToNBT(compound);
- items.appendTag(item);
- }
- }
- compound.setTag("Items", items);
- }
- @Override
- public void readFromNBT (NBTTagCompound compound)
- {
- super.readFromNBT(compound);
- NBTTagList items = compound.getTagList("Items");
- for (int i = 0; i < items.tagCount(); i++)
- {
- NBTTagCompound item = (NBTTagCompound)items.tagAt(i);
- int slot = item.getByte("Slot");
- if (slot >= 0 && slot < getSizeInventory())
- {
- setInventorySlotContents(slot, ItemStack.loadItemStackFromNBT(item));
- }
- }
- }
- public void receiveButtonEvent (byte buttonId)
- {
- switch (buttonId)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement