Advertisement
Guest User

TileEntityAlloyOven Class

a guest
Oct 22nd, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.69 KB | None | 0 0
  1. package com.arucraft.tileentity;
  2.  
  3. import net.minecraft.entity.player.EntityPlayer;
  4. import net.minecraft.init.Items;
  5. import net.minecraft.inventory.IInventory;
  6. import net.minecraft.item.Item;
  7. import net.minecraft.item.ItemStack;
  8. import net.minecraft.tileentity.TileEntity;
  9.  
  10. public class TileEntityAlloyOven extends TileEntity implements IInventory{
  11.    
  12.     private ItemStack slots[];
  13.    
  14.     public int tripPower;
  15.     public int tripCooktime;
  16.    
  17.     private String CustomName;
  18.    
  19.     public TileEntityAlloyOven() {
  20.         slots = new ItemStack[5];
  21.     }
  22.     @Override
  23.     public int getSizeInventory() {
  24.         return slots.length;
  25.     }
  26.     @Override
  27.     public ItemStack getStackInSlot(int i) {
  28.         return slots[i];
  29.     }
  30.     @Override
  31.     public ItemStack decrStackSize(int i, int j) {
  32.         if (slots[i] != null) {
  33.             if (slots[i].stackSize <= j) {
  34.                 ItemStack itemstack = slots[i];
  35.                 slots[i] = null;
  36.                 return itemstack;
  37.             }
  38.            
  39.             ItemStack itemstack1 = slots[i].splitStack(j);
  40.            
  41.             if (slots[i].stackSize == 0) {
  42.                 slots[i] = null;
  43.             }
  44.            
  45.             return itemstack1;
  46.         }else{
  47.             return null;
  48.         }
  49.     }
  50.     @Override
  51.     public ItemStack getStackInSlotOnClosing(int p_70304_1_) {
  52.         // TODO Auto-generated method stub
  53.         return null;
  54.     }
  55.     @Override
  56.     public void setInventorySlotContents(int i, ItemStack itemstack) {
  57.         slots[i] = itemstack;
  58.         if (itemstack != null && itemstack.stackSize > getInventoryStackLimit()) {
  59.             itemstack.stackSize = getInventoryStackLimit();
  60.         }
  61.        
  62.        
  63.        
  64.     }
  65.    
  66.     public void setGuiDisplayName (String name) {
  67.         this.CustomName = name;
  68.        
  69.     }
  70.     @Override
  71.     public String getInventoryName() {
  72.         return this.hasCustomInventoryName() ? this.CustomName : "container.alloyoven";
  73.     }
  74.     @Override
  75.     public boolean hasCustomInventoryName() {
  76.         return this.CustomName != null && this.CustomName.length() > 0;
  77.        
  78.        
  79.     }
  80.     @Override
  81.     public int getInventoryStackLimit() {
  82.         return 64;
  83.     }
  84.     @Override
  85.     public boolean isUseableByPlayer(EntityPlayer player) {
  86.         if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
  87.             return false;
  88.            
  89.         }else{
  90.             return player.getDistanceSq((double)xCoord + 0.5D, (double)yCoord + 0.5D, (double)zCoord + 0.5D) <+ 64;
  91.         }
  92.     }
  93.    
  94.     public void openInventory() {}
  95.     public void closeInventory() {}
  96.    
  97.     @Override
  98.     public boolean isItemValidForSlot(int i, ItemStack itemstack) {
  99.         return i == 3 ? false : (i == 1 ? hasItemPower(itemstack) : true);
  100.     }
  101.    
  102.     public boolean hasItemPower(ItemStack itemstack) {
  103.         return getItemPower(itemstack) > 0;
  104.     }
  105.    
  106.     private static int getItemPower (ItemStack itemstack) {
  107.         if (itemstack == null) {
  108.             return 0;
  109.         }else{
  110.             Item item = itemstack.getItem();
  111.            
  112.             if (item == Items.coal) return 50;
  113.            
  114.             return 0;
  115.         }
  116.     }
  117.  
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement