170 lines
5.1 KiB
Java
170 lines
5.1 KiB
Java
package org.bukkit.entity;
|
|
|
|
import org.bukkit.GameMode;
|
|
import org.bukkit.Location;
|
|
import org.bukkit.inventory.Inventory;
|
|
import org.bukkit.inventory.InventoryHolder;
|
|
import org.bukkit.inventory.InventoryView;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.inventory.PlayerInventory;
|
|
import org.bukkit.permissions.Permissible;
|
|
|
|
/**
|
|
* Represents a human entity, such as an NPC or a player
|
|
*/
|
|
public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, InventoryHolder {
|
|
|
|
/**
|
|
* Returns the name of this player
|
|
*
|
|
* @return Player name
|
|
*/
|
|
public String getName();
|
|
|
|
/**
|
|
* Get the player's inventory.
|
|
*
|
|
* @return The inventory of the player, this also contains the armor slots.
|
|
*/
|
|
public PlayerInventory getInventory();
|
|
|
|
/**
|
|
* Get the player's EnderChest inventory
|
|
*
|
|
* @return The EnderChest of the player
|
|
*/
|
|
public Inventory getEnderChest();
|
|
|
|
/**
|
|
* If the player currently has an inventory window open, this method will set a
|
|
* property of that window, such as the state of a progress bar.
|
|
*
|
|
* @param prop The property.
|
|
* @param value The value to set the property to.
|
|
* @return True if the property was successfully set.
|
|
*/
|
|
public boolean setWindowProperty(InventoryView.Property prop, int value);
|
|
|
|
/**
|
|
* Gets the inventory view the player is currently viewing. If they do not have
|
|
* an inventory window open, it returns their internal crafting view.
|
|
*
|
|
* @return The inventory view.
|
|
*/
|
|
public InventoryView getOpenInventory();
|
|
|
|
/**
|
|
* Opens an inventory window with the specified inventory on the top and the player's inventory
|
|
* on the bottom.
|
|
*
|
|
* @param inventory The inventory to open
|
|
* @return The newly opened inventory view
|
|
*/
|
|
public InventoryView openInventory(Inventory inventory);
|
|
|
|
/**
|
|
* Opens an empty workbench inventory window with the player's inventory on the bottom.
|
|
*
|
|
* @param location The location to attach it to. If null, the player's location is used.
|
|
* @param force If false, and there is no workbench block at the location, no inventory will be
|
|
* opened and null will be returned.
|
|
* @return The newly opened inventory view, or null if it could not be opened.
|
|
*/
|
|
public InventoryView openWorkbench(Location location, boolean force);
|
|
|
|
/**
|
|
* Opens an empty enchanting inventory window with the player's inventory on the bottom.
|
|
*
|
|
* @param location The location to attach it to. If null, the player's location is used.
|
|
* @param force If false, and there is no enchanting table at the location, no inventory will be
|
|
* opened and null will be returned.
|
|
* @return The newly opened inventory view, or null if it could not be opened.
|
|
*/
|
|
public InventoryView openEnchanting(Location location, boolean force);
|
|
|
|
/**
|
|
* Opens an inventory window to the specified inventory view.
|
|
*
|
|
* @param inventory The view to open
|
|
*/
|
|
public void openInventory(InventoryView inventory);
|
|
|
|
/**
|
|
* Force-closes the currently open inventory view for this player, if any.
|
|
*/
|
|
public void closeInventory();
|
|
|
|
/**
|
|
* Returns the ItemStack currently in your hand, can be empty.
|
|
*
|
|
* @return The ItemStack of the item you are currently holding.
|
|
*/
|
|
public ItemStack getItemInHand();
|
|
|
|
/**
|
|
* Sets the item to the given ItemStack, this will replace whatever the
|
|
* user was holding.
|
|
*
|
|
* @param item The ItemStack which will end up in the hand
|
|
*/
|
|
public void setItemInHand(ItemStack item);
|
|
|
|
/**
|
|
* Returns the ItemStack currently on your cursor, can be empty.
|
|
* Will always be empty if the player currently has no open window.
|
|
*
|
|
* @return The ItemStack of the item you are currently moving around.
|
|
*/
|
|
public ItemStack getItemOnCursor();
|
|
|
|
/**
|
|
* Sets the item to the given ItemStack, this will replace whatever the
|
|
* user was moving. Will always be empty if the player currently has no open window.
|
|
*
|
|
* @param item The ItemStack which will end up in the hand
|
|
*/
|
|
public void setItemOnCursor(ItemStack item);
|
|
|
|
/**
|
|
* Returns whether this player is slumbering.
|
|
*
|
|
* @return slumber state
|
|
*/
|
|
public boolean isSleeping();
|
|
|
|
/**
|
|
* Get the sleep ticks of the player. This value may be capped.
|
|
*
|
|
* @return slumber ticks
|
|
*/
|
|
public int getSleepTicks();
|
|
|
|
/**
|
|
* Gets this humans current {@link GameMode}
|
|
*
|
|
* @return Current game mode
|
|
*/
|
|
public GameMode getGameMode();
|
|
|
|
/**
|
|
* Sets this humans current {@link GameMode}
|
|
*
|
|
* @param mode New game mode
|
|
*/
|
|
public void setGameMode(GameMode mode);
|
|
|
|
/**
|
|
* Check if the player is currently blocking (ie with a sword).
|
|
*
|
|
* @return Whether they are blocking.
|
|
*/
|
|
public boolean isBlocking();
|
|
|
|
/**
|
|
* Get the total amount of experience required for the player to level
|
|
*
|
|
* @return Experience required to level up
|
|
*/
|
|
public int getExpToLevel();
|
|
}
|