GroupeZ Docs
ConfigurationsButtons

Configuration des boutons

Reference complete pour la configuration des boutons dans zMenu

Les boutons sont les elements interactifs de vos inventaires. Cette page documente toutes les options de configuration de boutons disponibles.

Structure de base

items:
  mon-bouton:
    slot: 0
    item:
      material: DIAMOND
      name: "&bMon Bouton"
    actions:
      - type: message
        messages:
          - "&aVous avez clique sur le bouton !"

Options de configuration

slot

La position du bouton dans l'inventaire. Les emplacements sont numerotes a partir de 0.

items:
  bouton:
    slot: 13

Disposition des emplacements (inventaire 54 slots) :

Ligne 1 :  0  1  2  3  4  5  6  7  8
Ligne 2 :  9 10 11 12 13 14 15 16 17
Ligne 3 : 18 19 20 21 22 23 24 25 26
Ligne 4 : 27 28 29 30 31 32 33 34 35
Ligne 5 : 36 37 38 39 40 41 42 43 44
Ligne 6 : 45 46 47 48 49 50 51 52 53

slots

Utiliser plusieurs emplacements pour le meme bouton.

items:
  bordure:
    slots:
      - 0
      - 1
      - 2
      - 8
    item:
      material: BLACK_STAINED_GLASS_PANE

Syntaxe de plage :

items:
  ligne:
    slots:
      - 0-8      # Emplacements 0 a 8
      - 45-53    # Emplacements 45 a 53

type

Le type de bouton determine un comportement special. Par defaut c'est NONE.

items:
  retour:
    slot: 45
    type: BACK
    item:
      material: ARROW
      name: "&c&lRetour"

Types disponibles :

TypeDescription
NONEBouton par defaut sans comportement special
INVENTORYOuvre un autre inventaire
BACKRetourne a l'inventaire precedent
HOMERetourne au premier inventaire de l'historique
NEXTVa a la page suivante
PREVIOUSVa a la page precedente
JUMPSaute a une page specifique
MAIN_MENUOuvre le menu principal
SWITCHAffiche differents items selon les conditions

Voir Types de boutons pour la documentation detaillee de chaque type.


item

L'apparence visuelle du bouton. Voir Configuration d'item pour toutes les options.

items:
  bouton:
    slot: 0
    item:
      material: DIAMOND
      name: "&b&lDiamant"
      lore:
        - "&7Un diamant brillant"

actions

Actions executees lorsque le bouton est clique.

items:
  bouton:
    slot: 0
    item:
      material: EMERALD
    actions:
      - type: message
        messages:
          - "&aVous avez clique !"
      - type: sound
        sound: UI_BUTTON_CLICK

Voir Actions pour tous les types d'actions disponibles.


sound

Jouer un son lorsque le bouton est clique (raccourci).

items:
  bouton:
    slot: 0
    sound: UI_BUTTON_CLICK
    item:
      material: DIAMOND

Pour plus de controle, utilisez plutot l'action sound :

actions:
  - type: sound
    sound: UI_BUTTON_CLICK
    pitch: 1.5
    volume: 0.5

messages

Envoyer des messages au clic (raccourci).

items:
  bouton:
    slot: 0
    messages:
      - "&aBonjour !"
      - "&7Bienvenue sur le serveur."
    item:
      material: BOOK

close-inventory

Fermer l'inventaire lorsque le bouton est clique.

items:
  fermer:
    slot: 49
    close-inventory: true
    item:
      material: BARRIER
      name: "&c&lFermer"

refresh-on-click

Rafraichir l'inventaire entier apres le clic.

items:
  rafraichir:
    slot: 0
    refresh-on-click: true
    item:
      material: COMPASS
      name: "&e&lRafraichir"

update-on-click

Mettre a jour uniquement ce bouton apres le clic.

items:
  bascule:
    slot: 0
    update-on-click: true
    item:
      material: LEVER
      name: "&e&lBascule"

is-permanent

Afficher ce bouton sur toutes les pages d'un inventaire pagine.

items:
  navigation:
    slot: 49
    is-permanent: true
    item:
      material: ARROW
      name: "&7Navigation"

page

Afficher le bouton uniquement sur une page specifique.

items:
  page1-seulement:
    slot: 0
    page: 1
    item:
      material: DIAMOND
      name: "&bItem Page 1"

Format de plage :

items:
  pages-1-a-3:
    slot: 0
    page: 1-3
    item:
      material: EMERALD
      name: "&aPages 1-3"

else

Definir un bouton alternatif quand une exigence de vue n'est pas remplie.

items:
  bouton-vip:
    slot: 0
    view-requirement:
      requirements:
        - type: permission
          permission: "vip.access"
    item:
      material: DIAMOND_BLOCK
      name: "&b&lContenu VIP"
    else:
      item:
        material: COAL_BLOCK
        name: "&7&lVerrouille"
        lore:
          - "&cNecessite le rang VIP"

Ouvrir une URL ou proposer au joueur de rejoindre un serveur Discord.

items:
  discord:
    slot: 0
    open-link: "https://discord.gg/monserveur"
    item:
      material: PLAYER_HEAD
      url: "discord_head_texture"
      name: "&9&lDiscord"
      lore:
        - "&7Cliquez pour rejoindre notre Discord !"

player-head

Afficher la tete du joueur actuel.

items:
  profil:
    slot: 0
    player-head: "%player%"
    item:
      material: PLAYER_HEAD
      name: "&a&l%player%"

Exigences

view-requirement

Controler si le bouton est visible.

items:
  vip-seulement:
    slot: 0
    view-requirement:
      requirements:
        - type: permission
          permission: "server.vip"
    item:
      material: DIAMOND
      name: "&b&lItem VIP"

Si les exigences ne sont pas remplies, le bouton ne sera pas affiche.


click-requirement

Controler si le bouton peut etre clique. Le bouton est toujours visible, mais le clic peut etre refuse.

items:
  achat:
    slot: 0
    click-requirement:
      requirements:
        - type: placeholder
          value: "%vault_eco_balance%"
          action: SUPERIOR_OR_EQUAL
          number: 100
          deny:
            - type: message
              messages:
                - "&cVous avez besoin de 100$ pour acheter ceci !"
            - type: sound
              sound: ENTITY_VILLAGER_NO
      success:
        - type: message
          messages:
            - "&aAchat reussi !"
        - type: console-command
          commands:
            - "eco take %player% 100"
    item:
      material: GOLD_INGOT
      name: "&e&lAcheter - 100$"

Types d'exigences

Pour un guide complet sur tous les types d'exigences, les options de configuration et les fonctionnalites avancees comme la logique and/or, consultez la page dediee Exigences.

TypeDescription
permissionVerifier si le joueur a une permission
placeholderComparer une valeur de placeholder
moneyVerifier le solde du joueur
itemVerifier si le joueur a des items
jobVerifier le niveau Jobs Reborn
luckpermVerifier le groupe LuckPerms
regexFaire correspondre du texte a un pattern
player-nameVerifier le nom du joueur
cuboidVerifier si le joueur est dans une zone
andToutes les sous-exigences doivent passer (zMenu+)
orUn minimum de sous-exigences doit passer (zMenu+)

Exigence de permission :

requirements:
  - type: permission
    permission: "server.admin"

Exigence de placeholder :

requirements:
  - type: placeholder
    value: "%player_level%"
    action: SUPERIOR_OR_EQUAL
    number: 10

Operateurs de comparaison : ==, !=, >=, >, <=, <, equals_string, equalsIgnoreCase

Exigence d'argent :

requirements:
  - type: money
    amount: 1000

Exigence d'item :

requirements:
  - type: item
    item:
      material: DIAMOND
      amount: 5

Types de clics

Vous pouvez specifier differentes actions pour differents types de clics :

items:
  multi-clic:
    slot: 0
    item:
      material: CHEST
      name: "&e&lBouton multi-actions"
      lore:
        - "&7Clic gauche : Ouvrir boutique"
        - "&7Clic droit : Voir solde"
        - "&7Shift-clic : Aide"
    clicks:
      LEFT:
        actions:
          - type: inventory
            inventory: "shop"
      RIGHT:
        actions:
          - type: message
            messages:
              - "&7Votre solde : &a$%vault_eco_balance%"
      SHIFT_LEFT:
        actions:
          - type: message
            messages:
              - "&eCeci est un bouton multi-actions !"

Types de clics disponibles :

  • LEFT - Clic gauche
  • RIGHT - Clic droit
  • SHIFT_LEFT - Shift + clic gauche
  • SHIFT_RIGHT - Shift + clic droit
  • MIDDLE - Clic molette
  • DROP - Appuyer sur Q pour lacher
  • CONTROL_DROP - Ctrl + Q

Exemple complet

items:
  item-boutique:
    slot: 13
    type: NONE

    item:
      material: DIAMOND_SWORD
      name: "&6&lEpee en diamant"
      lore:
        - "&8&m─────────────────"
        - ""
        - "&7Une epee puissante !"
        - ""
        - "&7Prix : &a500$"
        - "&7Votre solde : &e$%vault_eco_balance%"
        - ""
        - "&8&m─────────────────"
        - ""
        - "&e▸ Cliquez pour acheter"
      enchantments:
        - SHARPNESS,5
      flags:
        - HIDE_ENCHANTS
      glow: true

    click-requirement:
      requirements:
        - type: placeholder
          value: "%vault_eco_balance%"
          action: SUPERIOR_OR_EQUAL
          number: 500
          deny:
            - type: message
              messages:
                - "&cVous avez besoin de 500$ pour acheter ceci !"
            - type: sound
              sound: ENTITY_VILLAGER_NO
      success:
        - type: console-command
          commands:
            - "eco take %player% 500"
            - "give %player% diamond_sword{Enchantments:[{id:sharpness,lvl:5}]} 1"
        - type: message
          messages:
            - "&aAchat reussi !"
            - "&7Vous avez achete une &6Epee en diamant&7 !"
        - type: sound
          sound: ENTITY_PLAYER_LEVELUP
        - type: close

Bonnes pratiques

  1. Utilisez des noms de boutons significatifs pour une maintenance plus facile
  2. Groupez les boutons lies en utilisant des conventions de nommage descriptives
  3. Fournissez des retours avec des sons et des messages
  4. Utilisez des exigences pour controler l'acces de maniere appropriee
  5. Utilisez else pour montrer les etats verrouilles/indisponibles
  6. Ajoutez des indices dans le lore pour expliquer ce que font les boutons

Prochaines etapes

Sur cette page

GroupeZ MCP

La documentation dans ton IA

Le MCP permet à ton IA de chercher dans la documentation GroupeZ et de lire les exemples à jour pour t’aider à configurer tes plugins.

Lecture seule · Sans clé API côté documentation

1. Copie l’adresse du serveur

Transport : HTTP (Streamable HTTP). Authentification : aucune. Ton outil utilise son propre modèle et ses propres limites d’abonnement.

  1. Ouvre Plugins dans ChatGPT sur le web, puis + → Ajouter un serveur MCP personnalisé.
  2. Nomme-le « GroupeZ Documentation », colle l’URL ci-dessus et choisis « Aucune authentification ». Crée puis installe le plugin.
  3. Dans une conversation, tape @ et sélectionne ce plugin avant d’envoyer ta question. Si nécessaire, active search, get_page et list_pages dans ses paramètres.
Guide officiel de cet outil

3. Pose une question

Utilise le MCP GroupeZ pour m’aider à créer un inventaire zMenu. Recherche les pages pertinentes, lis les exemples et cite tes sources.
Autres clients et dépannage

Pour les clients utilisant mcpServers, adapte cet exemple à leur format :

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

Les outils disponibles sont search, get_page et list_pages. Après une mise à jour, actualise les outils du connecteur. Si ton IA n’y accède pas, vérifie que le connecteur est activé dans la conversation et que ton compte autorise les MCP personnalisés. Ouvrir l’URL dans un navigateur n’est pas un test MCP.