Class MergedWindow

java.lang.Object
de.studiocode.invui.window.impl.BaseWindow
de.studiocode.invui.window.impl.merged.MergedWindow
All Implemented Interfaces:
GUIParent, Window
Direct Known Subclasses:
CombinedWindow, SplitWindow

public abstract class MergedWindow extends BaseWindow
A Window that uses both top and player Inventory.
  • Field Details

    • upperInventory

      protected org.bukkit.inventory.Inventory upperInventory
  • Constructor Details

    • MergedWindow

      public MergedWindow(org.bukkit.entity.Player player, net.md_5.bungee.api.chat.BaseComponent[] title, int size, org.bukkit.inventory.Inventory upperInventory, boolean closeable, boolean removeOnClose)
  • Method Details

    • initUpperItems

      protected void initUpperItems()
    • redrawItem

      protected void redrawItem(int index, SlotElement element, boolean setItem)
      Overrides:
      redrawItem in class BaseWindow
    • setInvItem

      protected void setInvItem(int slot, org.bukkit.inventory.ItemStack itemStack)
      Specified by:
      setInvItem in class BaseWindow
    • setUpperInvItem

      protected void setUpperInvItem(int slot, org.bukkit.inventory.ItemStack itemStack)
    • setPlayerInvItem

      protected void setPlayerInvItem(int slot, org.bukkit.inventory.ItemStack itemStack)
    • handleViewerDeath

      public void handleViewerDeath(org.bukkit.event.entity.PlayerDeathEvent event)
      Description copied from interface: Window
      A method called by the WindowManager to notify the Window that it's viewer has died.
      Parameters:
      event - The PlayerDeathEvent associated with this action.
    • handleOpened

      protected void handleOpened()
      Specified by:
      handleOpened in class BaseWindow
    • handleClosed

      protected void handleClosed()
      Specified by:
      handleClosed in class BaseWindow
    • handleClick

      public void handleClick(org.bukkit.event.inventory.InventoryClickEvent event)
      Description copied from interface: Window
      A method called by the WindowManager to notify the Window that one of its Items has been clicked.
      Parameters:
      event - The InventoryClickEvent associated with this action.
    • handleItemShift

      public void handleItemShift(org.bukkit.event.inventory.InventoryClickEvent event)
      Description copied from interface: Window
      A method called by the WindowManager to notify the Window that ItemStacks have been shift-clicked from the lower Inventory to this Window
      Parameters:
      event - The InventoryClickEvent associated with this action.
    • handleCursorCollect

      public void handleCursorCollect(org.bukkit.event.inventory.InventoryClickEvent event)
      Description copied from interface: Window
      A method called by the WindowManager to notify the Window that a Player is trying to collect ItemStack to the cursor by double-clicking in the player inventory. This method is not called when the player inventory is also part of the Window. (MergedWindow)
      Parameters:
      event - The InventoryClickEvent associated with this action.
    • getInventories

      public org.bukkit.inventory.Inventory[] getInventories()
      Description copied from interface: Window
      Gets the underlying Inventorys.
      Returns:
      The underlying Inventorys.
    • getUpperInventory

      public org.bukkit.inventory.Inventory getUpperInventory()
    • getPlayerInventory

      public org.bukkit.inventory.Inventory getPlayerInventory()
    • getSlotElement

      protected abstract SlotElement getSlotElement(int index)
      Specified by:
      getSlotElement in class BaseWindow
    • getWhereClicked

      protected abstract Pair<GUI,Integer> getWhereClicked(org.bukkit.event.inventory.InventoryClickEvent event)