001 package org.bukkit.inventory; 002 003 import org.bukkit.entity.HumanEntity; 004 005 /** 006 * Interface to the inventory of a Player, including the four armor slots. 007 */ 008 public interface PlayerInventory extends Inventory { 009 010 /** 011 * Get all ItemStacks from the armor slots 012 * 013 * @return All the ItemStacks from the armor slots 014 */ 015 public ItemStack[] getArmorContents(); 016 017 /** 018 * Return the ItemStack from the helmet slot 019 * 020 * @return The ItemStack in the helmet slot 021 */ 022 public ItemStack getHelmet(); 023 024 /** 025 * Return the ItemStack from the chestplate slot 026 * 027 * @return The ItemStack in the chestplate slot 028 */ 029 public ItemStack getChestplate(); 030 031 /** 032 * Return the ItemStack from the leg slot 033 * 034 * @return The ItemStack in the leg slot 035 */ 036 public ItemStack getLeggings(); 037 038 /** 039 * Return the ItemStack from the boots slot 040 * 041 * @return The ItemStack in the boots slot 042 */ 043 public ItemStack getBoots(); 044 045 /** 046 * Put the given ItemStacks into the armor slots 047 * 048 * @param items The ItemStacks to use as armour 049 */ 050 public void setArmorContents(ItemStack[] items); 051 052 /** 053 * Put the given ItemStack into the helmet slot. This does not check if 054 * the ItemStack is a helmet 055 * 056 * @param helmet The ItemStack to use as helmet 057 */ 058 public void setHelmet(ItemStack helmet); 059 060 /** 061 * Put the given ItemStack into the chestplate slot. This does not check 062 * if the ItemStack is a chestplate 063 * 064 * @param chestplate The ItemStack to use as chestplate 065 */ 066 public void setChestplate(ItemStack chestplate); 067 068 /** 069 * Put the given ItemStack into the leg slot. This does not check if the 070 * ItemStack is a pair of leggings 071 * 072 * @param leggings The ItemStack to use as leggings 073 */ 074 public void setLeggings(ItemStack leggings); 075 076 /** 077 * Put the given ItemStack into the boots slot. This does not check if the 078 * ItemStack is a boots 079 * 080 * @param boots The ItemStack to use as boots 081 */ 082 public void setBoots(ItemStack boots); 083 084 /** 085 * Returns the ItemStack currently hold 086 * 087 * @return The currently held ItemStack 088 */ 089 public ItemStack getItemInHand(); 090 091 /** 092 * Sets the item in hand 093 * 094 * @param stack Stack to set 095 */ 096 public void setItemInHand(ItemStack stack); 097 098 /** 099 * Get the slot number of the currently held item 100 * 101 * @return Held item slot number 102 */ 103 public int getHeldItemSlot(); 104 105 /** 106 * Set the slot number of the currently held item. 107 * <p> 108 * This validates whether the slot is between 0 and 8 inclusive. 109 * 110 * @param slot The new slot number 111 * @throws IllegalArgumentException Thrown if slot is not between 0 and 8 112 * inclusive 113 */ 114 public void setHeldItemSlot(int slot); 115 116 /** 117 * Clears all matching items from the inventory. Setting either value to 118 * -1 will skip it's check, while setting both to -1 will clear all items 119 * in your inventory unconditionally. 120 * 121 * @param id the id of the item you want to clear from the inventory 122 * @param data the data of the item you want to clear from the inventory 123 * @return The number of items cleared 124 * @deprecated Magic value 125 */ 126 @Deprecated 127 public int clear(int id, int data); 128 129 public HumanEntity getHolder(); 130 }