Interface PagedGUI<T>

Type Parameters:
T - 分页内容的数据类型
All Superinterfaces:
ChestGUI

public interface PagedGUI<T> extends ChestGUI
分页GUI接口 - 为任何GUI实现提供分页功能
Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
See Also:
  • Method Details

    • getCurrentPage

      int getCurrentPage()
      获取当前页码(从0开始)
      Returns:
      当前页码
    • getTotalPages

      int getTotalPages()
      获取总页数
      Returns:
      总页数
    • getItemsPerPage

      int getItemsPerPage()
      获取每页显示的内容数量
      Returns:
      每页内容数量
    • getCurrentPageItems

      List<T> getCurrentPageItems()
      获取当前页的内容列表
      Returns:
      当前页的内容列表
    • getAllItems

      List<T> getAllItems()
      获取所有内容列表
      Returns:
      所有内容的列表
    • goToPage

      boolean goToPage(int page)
      跳转到指定页
      Parameters:
      page - 目标页码(从0开始)
      Returns:
      是否跳转成功
    • nextPage

      boolean nextPage()
      跳转到下一页
      Returns:
      是否跳转成功
    • previousPage

      boolean previousPage()
      跳转到上一页
      Returns:
      是否跳转成功
    • firstPage

      void firstPage()
      跳转到第一页
    • lastPage

      void lastPage()
      跳转到最后一页
    • setItems

      void setItems(List<T> items)
      设置分页内容
      Parameters:
      items - 内容列表
    • addItem

      void addItem(T item)
      添加单个内容
      Parameters:
      item - 要添加的内容
    • removeItem

      boolean removeItem(T item)
      移除指定内容
      Parameters:
      item - 要移除的内容
      Returns:
      是否移除成功
    • clearItems

      void clearItems()
      清空所有内容
    • setItemRenderer

      void setItemRenderer(Function<T,org.bukkit.inventory.ItemStack> renderer)
      设置内容渲染器 - 将数据转换为ItemStack
      Parameters:
      renderer - 渲染器函数,接收数据对象返回对应的ItemStack
    • setItemClickHandler

      void setItemClickHandler(BiConsumer<T,GUIClickEvent> clickHandler)
      设置内容点击处理器
      Parameters:
      clickHandler - 点击处理器,接收数据对象和点击事件
    • getContentSlots

      int[] getContentSlots()
      获取分页区域的槽位(内容显示区域)
      Returns:
      内容显示区域的槽位数组
    • setContentSlots

      void setContentSlots(int[] slots)
      设置分页区域的槽位
      Parameters:
      slots - 槽位数组
    • refreshCurrentPage

      void refreshCurrentPage()
      刷新当前页显示
    • hasNextPage

      default boolean hasNextPage()
      检查是否有下一页
      Returns:
      true表示有下一页,false表示没有
    • hasPreviousPage

      default boolean hasPreviousPage()
      检查是否有上一页
      Returns:
      true表示有上一页,false表示没有
    • isEmpty

      default boolean isEmpty()
      检查是否为空
      Returns:
      true表示无内容,false表示有内容
    • getTotalItems

      default int getTotalItems()
      获取内容总数
      Returns:
      所有内容的总数量