001 package org.bukkit.inventory; 002 003 import org.bukkit.entity.Entity; 004 005 /** 006 * An interface to a creatures inventory 007 */ 008 public interface EntityEquipment { 009 010 /** 011 * Gets a copy of the item the entity is currently holding 012 * 013 * @return the currently held item 014 */ 015 ItemStack getItemInHand(); 016 017 /** 018 * Sets the item the entity is holding 019 * 020 * @param stack The item to put into the entities hand 021 */ 022 void setItemInHand(ItemStack stack); 023 024 /** 025 * Gets a copy of the helmet currently being worn by the entity 026 * 027 * @return The helmet being worn 028 */ 029 ItemStack getHelmet(); 030 031 /** 032 * Sets the helmet worn by the entity 033 * 034 * @param helmet The helmet to put on the entity 035 */ 036 void setHelmet(ItemStack helmet); 037 038 /** 039 * Gets a copy of the chest plate currently being worn by the entity 040 * 041 * @return The chest plate being worn 042 */ 043 ItemStack getChestplate(); 044 045 /** 046 * Sets the chest plate worn by the entity 047 * 048 * @param chestplate The chest plate to put on the entity 049 */ 050 void setChestplate(ItemStack chestplate); 051 052 /** 053 * Gets a copy of the leggings currently being worn by the entity 054 * 055 * @return The leggings being worn 056 */ 057 ItemStack getLeggings(); 058 059 /** 060 * Sets the leggings worn by the entity 061 * 062 * @param leggings The leggings to put on the entity 063 */ 064 void setLeggings(ItemStack leggings); 065 066 /** 067 * Gets a copy of the boots currently being worn by the entity 068 * 069 * @return The boots being worn 070 */ 071 ItemStack getBoots(); 072 073 /** 074 * Sets the boots worn by the entity 075 * 076 * @param boots The boots to put on the entity 077 */ 078 void setBoots(ItemStack boots); 079 080 /** 081 * Gets a copy of all worn armor 082 * 083 * @return The array of worn armor 084 */ 085 ItemStack[] getArmorContents(); 086 087 /** 088 * Sets the entities armor to the provided array of ItemStacks 089 * 090 * @param items The items to set the armor as 091 */ 092 void setArmorContents(ItemStack[] items); 093 094 /** 095 * Clears the entity of all armor and held items 096 */ 097 void clear(); 098 099 /** 100 * Gets the chance of the currently held item being dropped upon this 101 * creature's death 102 * <p> 103 * <ul> 104 * <li>A drop chance of 0F will never drop 105 * <li>A drop chance of 1F will always drop 106 * </ul> 107 * 108 * @return chance of the currently held item being dropped (1 for players) 109 */ 110 float getItemInHandDropChance(); 111 112 /** 113 * Sets the chance of the item this creature is currently holding being 114 * dropped upon this creature's death 115 * <p> 116 * <ul> 117 * <li>A drop chance of 0F will never drop 118 * <li>A drop chance of 1F will always drop 119 * </ul> 120 * 121 * @param chance the chance of the currently held item being dropped 122 * @throws UnsupportedOperationException when called on players 123 */ 124 void setItemInHandDropChance(float chance); 125 126 /** 127 * Gets the chance of the helmet being dropped upon this creature's death 128 * <p> 129 * <ul> 130 * <li>A drop chance of 0F will never drop 131 * <li>A drop chance of 1F will always drop 132 * </ul> 133 * 134 * @return the chance of the helmet being dropped (1 for players) 135 */ 136 float getHelmetDropChance(); 137 138 /** 139 * Sets the chance of the helmet being dropped upon this creature's death 140 * <p> 141 * <ul> 142 * <li>A drop chance of 0F will never drop 143 * <li>A drop chance of 1F will always drop 144 * </ul> 145 * 146 * @param chance of the helmet being dropped 147 * @throws UnsupportedOperationException when called on players 148 */ 149 void setHelmetDropChance(float chance); 150 151 /** 152 * Gets the chance of the chest plate being dropped upon this creature's 153 * death 154 * <p> 155 * <ul> 156 * <li>A drop chance of 0F will never drop 157 * <li>A drop chance of 1F will always drop 158 * </ul> 159 * 160 * @return the chance of the chest plate being dropped (1 for players) 161 */ 162 float getChestplateDropChance(); 163 164 /** 165 * Sets the chance of the chest plate being dropped upon this creature's 166 * death 167 * <p> 168 * <ul> 169 * <li>A drop chance of 0F will never drop 170 * <li>A drop chance of 1F will always drop 171 * </ul> 172 * 173 * @param chance of the chest plate being dropped 174 * @throws UnsupportedOperationException when called on players 175 */ 176 void setChestplateDropChance(float chance); 177 178 /** 179 * Gets the chance of the leggings being dropped upon this creature's 180 * death 181 * <p> 182 * <ul> 183 * <li>A drop chance of 0F will never drop 184 * <li>A drop chance of 1F will always drop 185 * </ul> 186 * 187 * @return the chance of the leggings being dropped (1 for players) 188 */ 189 float getLeggingsDropChance(); 190 191 /** 192 * Sets the chance of the leggings being dropped upon this creature's 193 * death 194 * <p> 195 * <ul> 196 * <li>A drop chance of 0F will never drop 197 * <li>A drop chance of 1F will always drop 198 * </ul> 199 * 200 * @param chance chance of the leggings being dropped 201 * @throws UnsupportedOperationException when called on players 202 */ 203 void setLeggingsDropChance(float chance); 204 205 /** 206 * Gets the chance of the boots being dropped upon this creature's death 207 * <p> 208 * <ul> 209 * <li>A drop chance of 0F will never drop 210 * <li>A drop chance of 1F will always drop 211 * </ul> 212 * 213 * @return the chance of the boots being dropped (1 for players) 214 */ 215 float getBootsDropChance(); 216 217 /** 218 * Sets the chance of the boots being dropped upon this creature's death 219 * <p> 220 * <ul> 221 * <li>A drop chance of 0F will never drop 222 * <li>A drop chance of 1F will always drop 223 * </ul> 224 * 225 * @param chance of the boots being dropped 226 * @throws UnsupportedOperationException when called on players 227 */ 228 void setBootsDropChance(float chance); 229 230 /** 231 * Get the entity this EntityEquipment belongs to 232 * 233 * @return the entity this EntityEquipment belongs to 234 */ 235 Entity getHolder(); 236 }