GroupeZ Docs
ConfigurationsButtonsButton Types

NEXT Button

Button that navigates to the next page

The NEXT button type navigates to the next page in a paginated inventory.

Usage

items:
  next:
    type: NEXT
    slot: 53
    item:
      material: ARROW
      name: "&a&lNext Page →"
      lore:
        - "&7Go to page %zmenu_player_next_page%"

How Pagination Works

Pagination is automatic when a button uses multiple slots and there's more content than available slots:

items:
  shop-items:
    slots:
      - 10-16
      - 19-25
      - 28-34
    # This creates 21 slots per page
    # If you have 42 items, it creates 2 pages

The NEXT button only appears/works when there are more pages available.

NEXT buttons are permanent by default. They will automatically be shown on all pages of a paginated inventory, even if is-permanent: true is not explicitly set in the configuration.

Properties

PropertyDescription
slot / slotsPosition in inventory
itemVisual appearance
soundSound on click
is-permanentShow on all pages (recommended)

Examples

Basic Next Button

items:
  next:
    type: NEXT
    slot: 53
    is-permanent: true
    item:
      material: ARROW
      name: "&a&lNext →"
    sound: UI_BUTTON_CLICK

Styled Next Button

items:
  next:
    type: NEXT
    slot: 53
    is-permanent: true
    item:
      material: PLAYER_HEAD
      url: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmE2ZDE1YTUyNzNlNjE0YjY0YTQ4ZjE2OTIxMzYyMmZjNGRkOTJlMWVhMTc4YzJiZDY1NzI3NDVhYWE2NTRiIn19"
      name: "&a&lNext Page →"
      lore:
        - "&7Current: &f%page%"
        - "&7Go to: &f%zmenu_player_next_page%"
    sound: ITEM_BOOK_PAGE_TURN
items:
  previous:
    type: PREVIOUS
    slot: 45
    is-permanent: true
    item:
      material: ARROW
      name: "&c&l← Previous"
    sound: UI_BUTTON_CLICK

  page-info:
    slot: 49
    is-permanent: true
    item:
      material: PAPER
      name: "&e&lPage %page%/%max-page%"
      lore:
        - "&7Navigate through pages"

  next:
    type: NEXT
    slot: 53
    is-permanent: true
    item:
      material: ARROW
      name: "&a&lNext →"
    sound: UI_BUTTON_CLICK

Hide When No More Pages

items:
  next:
    type: NEXT
    slot: 53
    is-permanent: true
    view-requirement:
      requirements:
        - type: placeholder
          placeholder: "%zmenu_player_page%"
          action: INFERIOR
          value: "%zmenu_player_max_page%"
    item:
      material: ARROW
      name: "&a&lNext →"
    else:
      item:
        material: GRAY_STAINED_GLASS_PANE
        name: "&8"

Complete Paginated Inventory Example

name: "&6&lShop &8(&7Page %page%/%max-page%&8)"
size: 54
enable: true

fillItem:
  material: BLACK_STAINED_GLASS_PANE
  name: "&8"

items:
  # Top border
  top-border:
    slots:
      - 0-8
    item:
      material: BLUE_STAINED_GLASS_PANE
      name: "&8"

  # Shop items - these will paginate
  shop-items:
    slots:
      - 10-16
      - 19-25
      - 28-34
    # Define multiple items that fill these slots
    # If there are more items than slots, pages are created

  # Bottom border
  bottom-border:
    slots:
      - 36-44
    is-permanent: true
    item:
      material: BLUE_STAINED_GLASS_PANE
      name: "&8"

  # Navigation
  previous:
    type: PREVIOUS
    slot: 45
    is-permanent: true
    item:
      material: ARROW
      name: "&c&l← Previous"
    sound: UI_BUTTON_CLICK

  back:
    type: BACK
    slot: 48
    is-permanent: true
    item:
      material: DARK_OAK_DOOR
      name: "&7&lBack to Menu"
    sound: UI_BUTTON_CLICK

  page-info:
    slot: 49
    is-permanent: true
    item:
      material: BOOK
      name: "&e&lPage %page%/%max-page%"

  close:
    slot: 50
    is-permanent: true
    close-inventory: true
    item:
      material: BARRIER
      name: "&c&lClose"
    sound: UI_BUTTON_CLICK

  next:
    type: NEXT
    slot: 53
    is-permanent: true
    item:
      material: ARROW
      name: "&a&lNext →"
    sound: UI_BUTTON_CLICK

Placeholders for Pagination

PlaceholderDescription
%page%Current page number
%maxPage%Total number of pages
%max-page%Same as maxPage
%zmenu_player_page%Current page (PAPI)
%zmenu_player_max_page%Max pages (PAPI)
%zmenu_player_next_page%Next page number
%zmenu_player_previous_page%Previous page number

Best Practices

  1. Use is-permanent: true so navigation appears on all pages
  2. Add page info between Previous/Next buttons
  3. Use sounds for feedback when changing pages
  4. Consider hiding buttons when at first/last page
  5. Place consistently at bottom row (slots 45 and 53)
  • PREVIOUS - Navigate to previous page
  • JUMP - Jump to a specific page
  • BACK - Return to previous inventory

Next Steps

On this page

GroupeZ MCP

Documentation in your AI

MCP lets your AI search GroupeZ documentation and read current examples to help you configure your plugins.

Read-only · No documentation API key needed

1. Copy the server URL

Transport: HTTP (Streamable HTTP). Authentication: none. Your tool uses its own model and subscription limits.

  1. Open Plugins in ChatGPT on the web, then + → Add custom MCP server.
  2. Name it ‘GroupeZ Documentation’, paste the URL above and choose ‘No authentication’. Create and install the plugin.
  3. In a conversation, type @ and select the plugin before asking. If needed, enable search, get_page and list_pages in its settings.
Official setup guide

3. Ask a question

Use GroupeZ MCP to help me create a zMenu inventory. Search relevant pages, read the examples and cite your sources.
Other clients and troubleshooting

For clients using mcpServers, adapt this example to their format:

{
  "mcpServers": {
    "groupez-docs": {
      "url": ""
    }
  }
}

Available tools are search, get_page and list_pages. Refresh the connector’s tools after updates. If your AI cannot access them, check that the connector is enabled in the conversation and your account allows custom MCP servers. Opening the URL in a browser is not an MCP test.