Class PaperPaginationSession<T>

java.lang.Object
studio.mevera.lotus.internal.pagination.DefaultPaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>
studio.mevera.lotus.paper.internal.pagination.PaperPaginationSession<T>
All Implemented Interfaces:
studio.mevera.lotus.api.pagination.PaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>

public class PaperPaginationSession<T> extends studio.mevera.lotus.internal.pagination.DefaultPaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>
Paper-specific pagination session. Extends DefaultPaginationSession and overrides buildPageMenu(int) to synthesise a PaperPageMenu — a PaperInteractiveMenu whose title() returns an Adventure Component directly, preserving full fidelity.
  • Field Summary

    Fields inherited from class studio.mevera.lotus.internal.pagination.DefaultPaginationSession

    definition, itemsPerPage, lotus, snapshot, totalPages, viewer
  • Constructor Summary

    Constructors
    Constructor
    Description
    PaperPaginationSession(@NotNull Pagination<T> definition, @NotNull studio.mevera.lotus.Lotus<net.kyori.adventure.text.Component> lotus, @NotNull org.bukkit.entity.Player viewer)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected @NotNull studio.mevera.lotus.api.menu.InteractiveMenu<net.kyori.adventure.text.Component>
    buildPageMenu(int pageIndex)
     
    @NotNull Pagination<T>
     
    sliceFor(int pageIndex)
     

    Methods inherited from class studio.mevera.lotus.internal.pagination.DefaultPaginationSession

    close, currentIndex, goTo, next, previous, rebuildState, reload, totalPages, viewer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface studio.mevera.lotus.api.pagination.PaginationSession

    isFirst, isLast
  • Constructor Details

    • PaperPaginationSession

      public PaperPaginationSession(@NotNull @NotNull Pagination<T> definition, @NotNull @NotNull studio.mevera.lotus.Lotus<net.kyori.adventure.text.Component> lotus, @NotNull @NotNull org.bukkit.entity.Player viewer)
  • Method Details

    • definition

      @NotNull public @NotNull Pagination<T> definition()
      Specified by:
      definition in interface studio.mevera.lotus.api.pagination.PaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>
      Overrides:
      definition in class studio.mevera.lotus.internal.pagination.DefaultPaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>
    • buildPageMenu

      @NotNull protected @NotNull studio.mevera.lotus.api.menu.InteractiveMenu<net.kyori.adventure.text.Component> buildPageMenu(int pageIndex)
      Specified by:
      buildPageMenu in class studio.mevera.lotus.internal.pagination.DefaultPaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>
    • sliceFor

      public List<T> sliceFor(int pageIndex)
      Overrides:
      sliceFor in class studio.mevera.lotus.internal.pagination.DefaultPaginationSession<net.kyori.adventure.text.Component,T,PaperPageContext<T>>