Vertex Studio

Menus de job : sur-mesure et modèle par défaut

1 min de lecture · Mis à jour le 24 septembre 2026

Modifier cette page

11. Menus de job : sur-mesure et modèle par défaut

11.1 Le modèle par défaut (gui/jobs/_default/)

Six fichiers : main.yml, actions.yml, levels/page-1.yml, rewards/page-1.yml, stats.yml, top.yml. N'importe quel job qui ne définit pas son propre fichier utilise automatiquement celui-ci — c'est ce qui permet à un job de fonctionner avec zéro configuration GUI.

Exemple concret : hunter.yml n'a aucun fichier dans gui/jobs/hunter/. Quand un joueur clique sur "Chasseur" dans la liste, le plugin cherche gui/jobs/hunter/main.yml, ne le trouve pas, et ouvre gui/jobs/_default/main.yml à la place — avec le contexte du job Chasseur (%job% = hunter, %job_display% = "Chasseur", etc.).

11.2 Personnaliser un seul menu d'un job

Tu n'es pas obligé de tout recréer. Si tu déposes seulement gui/jobs/hunter/main.yml (sans les autres), ce fichier précis est utilisé pour le menu principal, et tous les autres menus (actions, niveaux, récompenses, stats, top) continuent d'utiliser le modèle par défaut. La résolution se fait fichier par fichier, pas dossier par dossier.

11.3 Le Reward Train avec icônes par statut (l'exemple complet)

gui/jobs/miner/rewards/page-1.yml (et son équivalent _default) montre le mécanisme content-item-states en situation réelle :

yaml
content-item-states:
  locked:
    provider: VANILLA
    material: MINECART
    name: "<gray>Palier %level% <dark_gray>(verrouille)"
    lore:
      - "<gray>Statut : <red>Verrouille"
      - "<gray>Contenu : <white>%rewards%"
      - ""
      - "<dark_gray>Atteins le niveau %level% pour le debloquer."

  available:
    provider: VANILLA
    material: CHEST_MINECART
    glow: true
    name: "<green>Palier %level% <white>(disponible !)"
    lore: ["..."]

  claimed:
    provider: VANILLA
    material: LIME_WOOL
    name: "<dark_green>Palier %level% <white>(recupere)"
    lore: ["..."]

items:
  content-item:
    animation: reward-train
    click-conditions:
      - "placeholder %status% != CLAIMED"
    actions:
      - "[claim] %level%"
      - "[sound] ENTITY_PLAYER_LEVELUP"
    deny-actions:
      - "[sound] BLOCK_NOTE_BLOCK_BASS"

Chaque wagon passe automatiquement de minecart vide (verrouillé) à wagon-coffre brillant (disponible, cliquable) puis à laine verte (récupéré, plus aucune action), sans une ligne de Java. L'animation reward-train (section 9) continue de clignoter par-dessus l'icône du statut courant.