Add EntityEquipment API. Adds BUKKIT-3103

By: feildmaster <admin@feildmaster.com>
This commit is contained in:
Bukkit/Spigot 2012-12-09 00:52:20 -06:00
parent 9e827c037c
commit e5f57b28c9
2 changed files with 231 additions and 0 deletions

View file

@ -6,6 +6,7 @@ import java.util.List;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.inventory.EntityEquipment;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
@ -293,4 +294,25 @@ public interface LivingEntity extends Entity {
* @param remove The remove status
*/
public void setRemoveWhenFarAway(boolean remove);
/**
* Gets the inventory with the equipment worn by this entity.
*
* @return the entities inventory.
*/
public EntityEquipment getEquipment();
/**
* Sets whether or not the entity can pick up items
*
* @param pickup Whether or not the entity can pick up items
*/
public void setCanPickupItems(boolean pickup);
/**
* Gets if the entity can pick up items
*
* @return whether or not the entity can pick up items
*/
public boolean getCanPickupItems();
}

View file

@ -0,0 +1,209 @@
package org.bukkit.inventory;
import org.bukkit.entity.Entity;
/**
* An interface to a creatures inventory
*/
public interface EntityEquipment {
/**
* Gets a copy of the item the entity is currently holding
*
* @return the currently held item
*/
ItemStack getItemInHand();
/**
* Sets the item the entity is holding
*
* @param stack The item to put into the entities hand
*/
void setItemInHand(ItemStack stack);
/**
* Gets a copy of the helmet currently being worn by the entity
*
* @return The helmet being worn
*/
ItemStack getHelmet();
/**
* Sets the helmet worn by the entity
*
* @param helmet The helmet to put on the entity
*/
void setHelmet(ItemStack helmet);
/**
* Gets a copy of the chest plate currently being worn by the entity
*
* @return The chest plate being worn
*/
ItemStack getChestplate();
/**
* Sets the chest plate worn by the entity
*
* @param chestplate The chest plate to put on the entity
*/
void setChestplate(ItemStack chestplate);
/**
* Gets a copy of the leggings currently being worn by the entity
*
* @return The leggings being worn
*/
ItemStack getLeggings();
/**
* Sets the leggings worn by the entity
*
* @param leggings The leggings to put on the entity
*/
void setLeggings(ItemStack leggings);
/**
* Gets a copy of the boots currently being worn by the entity
*
* @return The boots being worn
*/
ItemStack getBoots();
/**
* Sets the boots worn by the entity
*
* @param boots The boots to put on the entity
*/
void setBoots(ItemStack boots);
/**
* Gets a copy of all worn armor
*
* @return The array of worn armor
*/
ItemStack[] getArmorContents();
/**
* Sets the entities armor to the provided array of ItemStacks
*
* @param items The items to set the armor as
*/
void setArmorContents(ItemStack[] items);
/**
* Clears the entity of all armor and held items
*/
void clear();
/**
* Gets the chance of the currently held item being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @return chance of the currently held item being dropped (1 for players)
*/
float getItemInHandDropChance();
/**
* Sets the chance of the item this creature is currently holding being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @param chance the chance of the currently held item being dropped
* @throws UnsupportedOperationException when called on players
*/
void setItemInHandDropChance(float chance);
/**
* Gets the chance of the helmet being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @return the chance of the helmet being dropped (1 for players)
*/
float getHelmetDropChance();
/**
* Sets the chance of the helmet being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @param chance of the helmet being dropped
* @throws UnsupportedOperationException when called on players
*/
void setHelmetDropChance(float chance);
/**
* Gets the chance of the chest plate being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @return the chance of the chest plate being dropped (1 for players)
*/
float getChestPlateDropChance();
/**
* Sets the chance of the chest plate being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @param chance of the chest plate being dropped
* @throws UnsupportedOperationException when called on players
*/
void setChestPlateDropChance(float chance);
/**
* Gets the chance of the leggings being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @return the chance of the leggings being dropped (1 for players)
*/
float getLeggingsDropChance();
/**
* Sets the chance of the leggings being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @param chance chance of the leggings being dropped
* @throws UnsupportedOperationException when called on players
*/
void setLeggingsDropChance(float chance);
/**
* Gets the chance of the boots being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @return the chance of the boots being dropped (1 for players)
*/
float getBootsDropChance();
/**
* Sets the chance of the boots being dropped upon this creature's death
* <p />
* <li />A drop chance of 0F will never drop
* <li />A drop chance of 1F will always drop
*
* @param chance of the boots being dropped
* @throws UnsupportedOperationException when called on players
*/
void setBootsDropChance(float chance);
/**
* Get the entity this CreatureEquipment belongs to
*
* @return the entity this CreatureEquipment belongs to
*/
Entity getHolder();
}