Class ButtonPaginatedMask
java.lang.Object
io.github.projectunified.craftux.mask.PaginatedMask
io.github.projectunified.craftux.mask.ButtonPaginatedMask
An abstract mask that displays a paginated list of buttons across multiple pages.
Subclasses define the positions and button lists, while this class handles pagination logic.
Example usage:
public class MyButtonPaginatedMask extends ButtonPaginatedMask {
public MyButtonPaginatedMask() {
super(uuid -> Arrays.asList(Position.of(0, 0), Position.of(1, 1)));
}
@Override
public List<Button> getButtons(UUID uuid) {
return Arrays.asList(
new SimpleButton(new ItemStack(Material.WOODEN_SWORD)),
new SimpleButton(new ItemStack(Material.STONE_SWORD))
);
}
}
-
Field Summary
Fields inherited from class io.github.projectunified.craftux.mask.PaginatedMask
cycle, pageNumberMap -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedButtonPaginatedMask(@NotNull Function<UUID, List<Position>> maskPositionFunction) Create a new mask -
Method Summary
Modifier and TypeMethodDescriptiongetButtons(@NotNull UUID uuid) Get the buttons for the unique idprotected @Nullable Map<Position, Consumer<ActionItem>> getItemMap(@NotNull UUID uuid, int pageNumber) Generate the item map for the unique idGet the mask position functionvoidstop()Clears the page number mappings for all users.Methods inherited from class io.github.projectunified.craftux.mask.PaginatedMask
apply, getAndSetExactPage, getExactPage, getPage, isCycle, nextPage, previousPage, setCycle, setPageMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.github.projectunified.craftux.common.Mask
getActionMap
-
Constructor Details
-
ButtonPaginatedMask
Create a new mask- Parameters:
maskPositionFunction- the mask position function
-
-
Method Details
-
getMaskPositionFunction
Get the mask position function- Returns:
- the mask position function
-
getButtons
Get the buttons for the unique id- Parameters:
uuid- the unique id- Returns:
- the buttons
-
getItemMap
@Nullable protected @Nullable Map<Position,Consumer<ActionItem>> getItemMap(@NotNull @NotNull UUID uuid, int pageNumber) Description copied from class:PaginatedMaskGenerate the item map for the unique id- Specified by:
getItemMapin classPaginatedMask- Parameters:
uuid- the unique idpageNumber- the page number- Returns:
- the map contains the positions and the buttons
-
stop
public void stop()Clears the page number mappings for all users.
-