Class MaskPaginatedMask

java.lang.Object
io.github.projectunified.craftux.mask.PaginatedMask
io.github.projectunified.craftux.mask.MaskPaginatedMask
All Implemented Interfaces:
Element, Mask

public abstract class MaskPaginatedMask extends PaginatedMask
An abstract mask that displays one mask at a time from a list, allowing pagination through multiple masks. Each page shows the actions from a single mask in the list.

Example usage:


 public class MyMaskPaginatedMask extends MaskPaginatedMask {
     @Override
     public List<Mask> getMasks(UUID uuid) {
         return Arrays.asList(
             new SingleMask(Position.of(0, 0), new SimpleButton(new ItemStack(Material.APPLE))),
             new SingleMask(Position.of(0, 0), new SimpleButton(new ItemStack(Material.BREAD))),
             new SingleMask(Position.of(0, 0), new SimpleButton(new ItemStack(Material.COOKED_BEEF)))
         );
     }
 }
 
  • Constructor Details

    • MaskPaginatedMask

      public MaskPaginatedMask()
  • Method Details

    • getMasks

      @NotNull public abstract @NotNull List<Mask> getMasks(@NotNull @NotNull UUID uuid)
      Get the masks for the unique id
      Parameters:
      uuid - the unique id
      Returns:
      the masks
    • getItemMap

      @Nullable protected @Nullable Map<Position,Consumer<ActionItem>> getItemMap(@NotNull @NotNull UUID uuid, int pageNumber)
      Description copied from class: PaginatedMask
      Generate the item map for the unique id
      Specified by:
      getItemMap in class PaginatedMask
      Parameters:
      uuid - the unique id
      pageNumber - the page number
      Returns:
      the map contains the positions and the buttons
    • stop

      public void stop()
      Clears the page number mappings for all users.