# GuiPaginator

Kurzbeschreibung

GuiPaginator ist ein Paginator für Inventar-GUIs, der große Item-Listen auf mehrere Seiten verteilt und Navigation sowie Click-Handler unterstützt.


# Anwendung

Paginator für Item-Liste bauen:

GuiPaginator paginator = new GuiPaginator("Items", itemsList, 4);
paginator.setItemClickHandler((player, item) -> {
	// Item wurde angeklickt
});
paginator.open(player);

Typische Use-Cases:

  • Anzeige langer Item-Listen in Menüs
  • Navigation zwischen Seiten
  • Callbacks für Item- und Seitenwechsel

# Quick Reference

Signaturen:

  • public GuiPaginator(String title, List<ItemStack> items, int rows)
  • public GuiPaginator(String title, List<ItemStack> items, int rows, boolean itemsRemovable)
  • public void open(Player player)
  • public void open(Player player, int page)
  • public int getPageCount()
  • public void setItemClickHandler(BiConsumer<Player, ItemStack> handler)
  • public void setPageChangeHandler(BiConsumer<Player, Integer> handler)
  • public void setDetailedItemClickHandler(BiConsumer<Player, ItemClick> handler)
  • public void refresh()
  • public boolean removeItemAtIndex(int index)
  • public List<ItemStack> getItemsSnapshot()
  • public int indexOfItem(ItemStack item)
  • public static void unregisterAll()

# Hinweise

  • Standardmäßig können Spieler keine Items aus der GUI entfernen (kann aktiviert werden)
  • getCurrentPage(player) liefert -1, wenn Spieler die Paginator-GUI nicht geöffnet hat.