Class AbstractListMenu<T>

java.lang.Object
ua.mcchickenstudio.opencreative.menus.AbstractMenu
ua.mcchickenstudio.opencreative.menus.AbstractListMenu<T>
All Implemented Interfaces:
org.bukkit.inventory.InventoryHolder, InventoryMenu
Direct Known Subclasses:
ListBrowserMenu, WorldEnvironmentColorMenu

public abstract class AbstractListMenu<T> extends AbstractMenu

AbstractListMenu

This class represents a AbstractMenu that has scrollable list of elements. It creates pages and arrows to change current page.
See Also:
  • Field Details

    • elements

      protected final List<T> elements
  • Constructor Details

    • AbstractListMenu

      public AbstractListMenu(org.bukkit.entity.Player player, String title, AbstractListMenu.PlacementLayout layout)
    • AbstractListMenu

      public AbstractListMenu(org.bukkit.entity.Player player, String title, int[] elementsSlots, int[] charmsBarSlots, int[] decorationSlots)
  • Method Details

    • getCurrentPage

      public int getCurrentPage()
    • setCurrentPage

      public void setCurrentPage(int currentPage)
    • getElementIcon

      protected abstract org.bukkit.inventory.ItemStack getElementIcon(T element)
    • fillOtherItems

      protected abstract void fillOtherItems()
    • onCharmsBarClick

      protected abstract void onCharmsBarClick(org.bukkit.event.inventory.InventoryClickEvent event)
    • onElementClick

      protected abstract void onElementClick(org.bukkit.event.inventory.InventoryClickEvent event)
    • getElements

      protected abstract List<T> getElements()
    • fillDecorationItems

      protected void fillDecorationItems()
    • fillElements

      protected void fillElements(int page)
    • fillEmpty

      protected void fillEmpty()
    • getElementsFromPage

      protected List<T> getElementsFromPage(int page)
    • getPages

      public final int getPages()
    • fillItems

      public void fillItems(org.bukkit.entity.Player player)
      Specified by:
      fillItems in class AbstractMenu
    • onClick

      public void onClick(@NotNull @NotNull org.bukkit.event.inventory.InventoryClickEvent event)
      Description copied from interface: InventoryMenu
      Executes when player clicks in inventory.
      Specified by:
      onClick in interface InventoryMenu
      Specified by:
      onClick in class AbstractMenu
      Parameters:
      event - event of click in inventory.
    • nextPage

      protected void nextPage()
    • previousPage

      protected void previousPage()
    • getPlayer

      protected org.bukkit.entity.Player getPlayer()
    • getPreviousPage

      protected int getPreviousPage()
    • getNextPage

      protected int getNextPage()
    • getElementsSlots

      protected int[] getElementsSlots()
    • getCharmsBarSlots

      protected int[] getCharmsBarSlots()
    • getDecorationSlots

      protected int[] getDecorationSlots()