package pneumaticCraft.common.inventory; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; class SlotPneumaticArmor extends Slot{ /** * The armor type that can be placed on that slot, it uses the same values * of armorType field on ItemArmor. */ final int armorType; private final EntityPlayer player; SlotPneumaticArmor(EntityPlayer player, IInventory par2IInventory, int par3, int par4, int par5, int par6){ super(par2IInventory, par3, par4, par5); this.player = player; armorType = par6; } /** * Returns the maximum stack size for a given slot (usually the same as * getInventoryStackLimit(), but 1 in the case of armor slots) */ @Override public int getSlotStackLimit(){ return 1; } /** * Check if the stack is a valid item for this slot. Always true beside for * the armor slots. */ @Override public boolean isItemValid(ItemStack par1ItemStack){ Item item = par1ItemStack == null ? null : par1ItemStack.getItem(); return item != null && item.isValidArmor(par1ItemStack, armorType, player); } @Override @SideOnly(Side.CLIENT) /** * Returns the icon index on items.png that is used as background image of the slot. */ public IIcon getBackgroundIconIndex(){ return ItemArmor.func_94602_b(armorType); } }