org.bukkit.inventory
Class InventoryView

java.lang.Object
  extended by org.bukkit.inventory.InventoryView

public abstract class InventoryView
extends Object

Represents a view linking two inventories and a single player (whose inventory may or may not be one of the two).

Note: If you implement this interface but fail to satisfy the expected contracts of certain methods, there's no guarantee that the game will work as it should.


Nested Class Summary
static class InventoryView.Property
          Represents various extra properties of certain inventory windows.
 
Field Summary
static int OUTSIDE
           
 
Constructor Summary
InventoryView()
           
 
Method Summary
 void close()
          Closes the inventory view.
 int convertSlot(int rawSlot)
          Converts a raw slot ID into its local slot ID into whichever of the two inventories the slot points to.
 int countSlots()
          Check the total number of slots in this view, combining the upper and lower inventories.
abstract  Inventory getBottomInventory()
          Get the lower inventory involved in this transaction.
 ItemStack getCursor()
          Get the item on the cursor of one of the viewing players.
 ItemStack getItem(int slot)
          Gets one item in this inventory view by its raw slot ID.
abstract  HumanEntity getPlayer()
          Get the player viewing.
 String getTitle()
          Get the title of this inventory window.
abstract  Inventory getTopInventory()
          Get the upper inventory involved in this transaction.
abstract  InventoryType getType()
          Determine the type of inventory involved in the transaction.
 void setCursor(ItemStack item)
          Sets the item on the cursor of one of the viewing players.
 void setItem(int slot, ItemStack item)
          Sets one item in this inventory view by its raw slot ID.
 boolean setProperty(InventoryView.Property prop, int value)
          Sets an extra property of this inventory if supported by that inventory, for example the state of a progress bar.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OUTSIDE

public static final int OUTSIDE
See Also:
Constant Field Values
Constructor Detail

InventoryView

public InventoryView()
Method Detail

getTopInventory

public abstract Inventory getTopInventory()
Get the upper inventory involved in this transaction.

Returns:
the inventory

getBottomInventory

public abstract Inventory getBottomInventory()
Get the lower inventory involved in this transaction.

Returns:
the inventory

getPlayer

public abstract HumanEntity getPlayer()
Get the player viewing.

Returns:
the player

getType

public abstract InventoryType getType()
Determine the type of inventory involved in the transaction. This indicates the window style being shown. It will never return PLAYER, since that is common to all windows.

Returns:
the inventory type

setItem

public void setItem(int slot,
                    ItemStack item)
Sets one item in this inventory view by its raw slot ID.

Note: If slot ID -999 is chosen, it may be expected that the item is dropped on the ground. This is not required behaviour, however.

Parameters:
slot - The ID as returned by InventoryClickEvent.getRawSlot()
item - The new item to put in the slot, or null to clear it.

getItem

public ItemStack getItem(int slot)
Gets one item in this inventory view by its raw slot ID.

Parameters:
slot - The ID as returned by InventoryClickEvent.getRawSlot()
Returns:
The item currently in the slot.

setCursor

public final void setCursor(ItemStack item)
Sets the item on the cursor of one of the viewing players.

Parameters:
item - The item to put on the cursor, or null to remove the item on their cursor.

getCursor

public final ItemStack getCursor()
Get the item on the cursor of one of the viewing players.

Returns:
The item on the player's cursor, or null if they aren't holding one.

convertSlot

public final int convertSlot(int rawSlot)
Converts a raw slot ID into its local slot ID into whichever of the two inventories the slot points to.

If the raw slot refers to the upper inventory, it will be returned unchanged and thus be suitable for getTopInventory().getItem(); if it refers to the lower inventory, the output will differ from the input and be suitable for getBottomInventory().getItem().

Parameters:
rawSlot - The raw slot ID.
Returns:
The converted slot ID.

close

public final void close()
Closes the inventory view.


countSlots

public final int countSlots()
Check the total number of slots in this view, combining the upper and lower inventories.

Note though that it's possible for this to be greater than the sum of the two inventories if for example some slots are not being used.

Returns:
The total size

setProperty

public final boolean setProperty(InventoryView.Property prop,
                                 int value)
Sets an extra property of this inventory if supported by that inventory, for example the state of a progress bar.

Parameters:
prop - the window property to update
value - the new value for the window property
Returns:
true if the property was updated successfully, false if the property is not supported by that inventory

getTitle

public final String getTitle()
Get the title of this inventory window.

Returns:
The title.


Copyright © 2014. All rights reserved.