Class AbstractPagination<C,T,X extends AbstractPageContext<C,T,?>>

java.lang.Object
studio.mevera.lotus.api.pagination.AbstractPagination<C,T,X>

public abstract class AbstractPagination<C,T,X extends AbstractPageContext<C,T,?>> extends Object
Immutable, viewer-agnostic definition of a paginated menu. Composes a PageLayout, ContentSource and ComponentRenderer; instances are safe to share and reuse across players and threads (definitions only — runtime state lives on the PaginationSession).
  • Constructor Details

  • Method Details

    • getId

      @NotNull public @NotNull String getId()
    • layout

      @NotNull public @NotNull PageLayout<C,X> layout()
    • source

      @NotNull public @NotNull ContentSource<T> source()
    • renderer

      @NotNull public @NotNull ComponentRenderer<T,X> renderer()
    • trimOverflow

      public boolean trimOverflow()
    • open

      @NotNull public @NotNull PaginationSession<C,T,? extends X> open(@NotNull @NotNull Lotus<C> lotus, @NotNull @NotNull org.bukkit.entity.Player viewer)
      Resolves source items for this viewer, creates a per-player session via the PaginationSessionFactory registered on Lotus, and opens page 0.