GroupeZ Docs
Configurations

Placeholders

Tous les placeholders disponibles dans zMenu

zMenu fournit des placeholders integres et supporte PlaceholderAPI pour le contenu dynamique dans vos inventaires.

Placeholders integres

Ces placeholders sont disponibles sans plugins supplementaires :

Placeholders joueur

PlaceholderDescriptionExemple de sortie
%player%Nom du joueurNotch

Placeholders de pagination

PlaceholderDescriptionExemple de sortie
%page%Numero de page actuel1
%maxPage%Numero de page maximum5
%max-page%Numero de page maximum (alias)5
%zmenu_player_page%Page actuelle (format PAPI)1
%zmenu_player_next_page%Numero de page suivante2
%zmenu_player_previous_page%Numero de page precedente0
%zmenu_player_max_page%Page maximum (format PAPI)5

Placeholders d'historique d'inventaire

PlaceholderDescriptionExemple de sortie
%zmenu_player_previous_inventories%Nombre d'inventaires precedents dans l'historique3

Placeholders mathematiques

Effectuez des calculs directement dans votre configuration :

PlaceholderDescriptionExemple
%zmenu_math_<expression>%Calculer une expression mathematique%zmenu_math_5+5% → 10
%zmenu_formatted_math_<expression>%Resultat mathematique formate%zmenu_formatted_math_1000+500% → 1 500

Operations supportees :

  • Addition : +
  • Soustraction : -
  • Multiplication : *
  • Division : /
  • Parentheses : ()

Exemples :

lore:
  - "&7Resultat : %zmenu_math_10*5%"           # Sortie : 50
  - "&7Solde : %zmenu_formatted_math_{vault_eco_balance}*2%"

Placeholders de donnees joueur

PlaceholderDescription
%zmenu_player_value_<cle>%Obtenir la valeur des donnees joueur

Exemple :

lore:
  - "&7Pieces : &6%zmenu_player_value_coins%"
  - "&7Kills : &c%zmenu_player_value_kills%"

Placeholders d'arguments de commande

PlaceholderDescription
%zmenu_argument_<cle>%Obtenir la valeur d'un argument de commande

Ce placeholder recupere les arguments passes via les commandes personnalisees configurees dans zMenu.

Exemple :

Configuration de la commande :

# Dans commands/commands.yml
commands:
  punish:
    command: punish
    arguments:
      - player
    inventory: example_punish

Utilisation de l'argument dans votre inventaire :

items:
  player-info:
    item:
      material: PLAYER_HEAD
      playerHead: "%zmenu_argument_player%"
      name: "&cPunir %zmenu_argument_player%"
      lore:
        - "&7Cliquez pour punir ce joueur"

Quand un joueur execute /punish Notch, le placeholder %zmenu_argument_player% retournera Notch.

Placeholders de placeholders globaux

PlaceholderDescription
%zmenu_global_placeholders_<cle>%Obtenir la valeur d'un placeholder global

Exemple :

# Dans global-placeholders.yml
server-name: "Mon Serveur"

# Dans l'inventaire
name: "&6%zmenu_global_placeholders_server-name%"

Placeholders de temps

PlaceholderDescriptionExemple de sortie
%zmenu_time_unix_timestamp%Timestamp Unix actuel (en secondes)1704067200
%zmenu_time_next_day_unix_timestamp%Timestamp Unix de demain (en secondes)1704153600
%zmenu_time_today_start_unix_timestamp%Timestamp du debut d'aujourd'hui (en secondes)1704067200

Placeholders d'inventaire joueur

Ces placeholders sont particulierement utiles lorsque l'inventaire du bas est masque avec clear-inventory: true, permettant de verifier l'espace disponible avant de donner des items (par exemple dans les menus de shop).

PlaceholderDescriptionExemple de sortie
%zmenu_player_empty_slots%Nombre de slots libres dans l'inventaire du joueur12
%zmenu_player_item_count_<MATERIAL>%Quantite totale d'un item specifique dans l'inventaire64

Exemples :

# Afficher les slots libres dans le lore
lore:
  - "&7Slots libres : &a%zmenu_player_empty_slots%"
  - "&7Diamants : &b%zmenu_player_item_count_DIAMOND%"

# Empecher l'achat quand l'inventaire est plein
click-requirement:
  requirements:
    - type: placeholder
      value: "%zmenu_player_empty_slots%"
      action: SUPERIOR_OR_EQUAL
      number: 1
      deny:
        - type: message
          messages:
            - "&cVotre inventaire est plein !"

Placeholders de statistiques

PlaceholderDescriptionExemple de sortie
%zmenu_statistic_hours_played%Heures jouees (arrondi)42
%zmenu_statistic_time_played%Temps de jeu formate1j 18h 30m

Integration PlaceholderAPI

zMenu supporte entierement PlaceholderAPI. Tout placeholder PAPI fonctionne dans :

  • Titres d'inventaire
  • Noms d'items
  • Lore d'items
  • Messages
  • Exigences
  • Actions

Expansions PlaceholderAPI populaires

Installez les expansions avec : /papi ecloud download <nom>

ExpansionPlaceholdersExemple
Player%player_name%, %player_health%, %player_level%%player_name% → Notch
Vault%vault_eco_balance%, %vault_eco_balance_formatted%%vault_eco_balance% → 1500.00
Statistic%statistic_deaths%, %statistic_kills%%statistic_deaths% → 42
Server%server_online%, %server_max_players%%server_online% → 50
LuckPerms%luckperms_prefix%, %luckperms_primary_group_name%%luckperms_prefix% → [Admin]

Utilisation de PlaceholderAPI

items:
  profile:
    slot: 4
    item:
      material: PLAYER_HEAD
      playerHead: "%player_name%"
      name: "&6Profil de %player_name%"
      lore:
        - "&8&m─────────────────"
        - ""
        - "&7Sante : &c%player_health%&7/&c%player_max_health%"
        - "&7Niveau : &a%player_level%"
        - "&7Solde : &6$%vault_eco_balance_formatted%"
        - ""
        - "&7Kills : &a%statistic_player_kills%"
        - "&7Morts : &c%statistic_deaths%"
        - ""
        - "&8&m─────────────────"

Placeholders locaux

Definissez des placeholders specifiques a un inventaire :

# Dans votre fichier d'inventaire
local-placeholders:
  prix: "100"
  nom-item: "Epee speciale"

items:
  shop-item:
    item:
      name: "&6%nom-item%"
      lore:
        - "&7Prix : &a$%prix%"

Modificateurs de placeholders

Les placeholders propres a zMenu (arguments de commande, %page%, %player%, saisies des formulaires Bedrock, saisies des dialogues...) peuvent etre transformes directement dans le placeholder, en ajoutant un ou plusieurs modificateurs apres un point :

# /shop <category>
- "&7Categorie : &f%category.capitalize%"   # weapons -> Weapons
- "&7Page &f%page.pad:2%"                   # 3 -> 03
- "&7Nom : &f%name.trim.max:16%"            # les modificateurs peuvent etre enchaines
- "&7Quantite : &f%amount.default:1%"       # 1 quand l'argument est vide
- "console-command: give %player% diamond %amount.int.safe%"
ModificateurExempleResultat
upper / lower%name.upper%Majuscules / minuscules
capitalize%name.capitalize%Premiere lettre en majuscule, le reste en minuscules
trim%name.trim%Retire les espaces autour
length%name.length%Nombre de caracteres
empty%name.empty%true si vide
isnumber%amount.isnumber%true si la valeur est un nombre
safe%name.safe%Retire ;, &, § et les retours a la ligne (sur dans une commande)
default:<valeur>%amount.default:1%<valeur> si vide
max:<n>%name.max:16%Coupe a <n> caracteres
pad:<n>%page.pad:3%Complete avec des zeros a gauche jusqu'a <n> caracteres
int, round, floor, ceil%price.round%Nombre entier
abs%value.abs%Valeur absolue
negative, even%value.even%true / false
0f, 1f, 2f, 3f%price.2f%Nombre avec 0 a 3 decimales
comma%price.comma%Separateur de milliers (1,234,567)
add_one, remove_one%page.add_one%Valeur + 1 / - 1
add:<n>, sub:<n>%page.add:10%Valeur + n / - n

Un modificateur inconnu, un argument manquant ou un modificateur numerique applique a une valeur non numerique donne un resultat vide. Les anciens prefixes (%upper_cle%, %lower_cle%, %capitalize_cle%, %add_one_cle%, %remove_one_cle%) fonctionnent toujours.

Les modificateurs s'appliquent aux placeholders propres a zMenu, pas aux placeholders PlaceholderAPI. Pour PlaceholderAPI, utilisez les options de formatage de l'expansion.

Cache des placeholders

Pour de meilleures performances, vous pouvez activer le cache des placeholders dans config.yml :

# Activer le cache PlaceholderAPI
enable-cache-placeholder-api: true

# Duree du cache en ticks (20 ticks = 1 seconde)
cache-placeholder-api: 20

Le cache signifie que les placeholders ne se mettront pas a jour instantanement. Activez-le uniquement si vous avez des problemes de performances et comprenez les implications.

Placeholders imbriques

Vous pouvez utiliser des placeholders a l'interieur d'autres placeholders :

# Utilisation des donnees joueur dans les maths
lore:
  - "&7Double pieces : %zmenu_math_{zmenu_player_value_coins}*2%"

Exigences avec placeholders

Utilisez des placeholders dans les exigences pour creer des conditions dynamiques :

click-requirement:
  requirements:
    - type: placeholder
      value: "%vault_eco_balance%"
      action: SUPERIOR_OR_EQUAL
      number: 100
      deny:
        - type: message
          messages:
            - "&cVous avez besoin d'au moins 100$ !"

Formatage des placeholders

Nombres

Pour les nombres formates, utilisez les variantes _formatted quand disponibles :

  • %vault_eco_balance_formatted% au lieu de %vault_eco_balance%
  • %zmenu_formatted_math_<expr>% au lieu de %zmenu_math_<expr>%

Couleurs dans les placeholders

Certains placeholders incluent des codes couleur. Pour les conserver :

name: "%luckperms_prefix% %player_name%"  # Garde les couleurs

Debugger les placeholders

Si les placeholders ne fonctionnent pas :

  1. Verifiez que PlaceholderAPI est installe

    /papi info
  2. Testez le placeholder

    /papi parse me %nom_placeholder%
  3. Verifiez que l'expansion est installee

    /papi list
  4. Installez les expansions manquantes

    /papi ecloud download <expansion>
    /papi reload

Tableau de reference rapide

CategoriePlaceholderDescription
Joueur%player%Nom du joueur
Page%page%Page actuelle
Page%maxPage%Page max
Math%zmenu_math_<expr>%Calculer expression
Donnees%zmenu_player_value_<cle>%Donnees joueur
Argument%zmenu_argument_<cle>%Argument de commande
Global%zmenu_global_placeholders_<cle>%Valeur globale
Temps%zmenu_time_unix_timestamp%Temps Unix
Inventaire%zmenu_player_empty_slots%Slots libres
Inventaire%zmenu_player_item_count_<MAT>%Quantite d'item
Stats%zmenu_statistic_hours_played%Heures jouees

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.