Aller au contenu principal

Actions

Les actions sont des commandes executees lorsqu'un joueur interagit avec un bouton. zMenu fournit plus de 28 types d'actions pour divers usages.

Utilisation de base

items:
mon-bouton:
slot: 0
item:
material: DIAMOND
actions:
- type: message
messages:
- "&aBonjour, %player% !"
- type: sound
sound: UI_BUTTON_CLICK

Actions de message

message

Envoyer un message au joueur.

- type: message
messages:
- "&aLigne 1"
- "&bLigne 2"
minimessage: true # Optionnel : Utiliser le format MiniMessage

messages

Alias pour message.

- type: messages
messages:
- "&aPlusieurs lignes"
- "&bDe texte"

message-to

Envoyer un message a un joueur specifique.

- type: message-to
player: "Notch"
messages:
- "&aBonjour de la part de %player% !"

broadcast

Envoyer un message a tous les joueurs en ligne.

- type: broadcast
messages:
- "&6[Annonce] &f%player% a achete un item special !"

action-bar

Afficher un message dans la barre d'action.

- type: action-bar
message: "&aBienvenue dans la boutique !"

title

Afficher un titre et sous-titre.

- type: title
title: "&6&lBienvenue !"
subtitle: "&7Profitez de votre sejour"
fadeIn: 20 # Ticks
stay: 60 # Ticks
fadeOut: 20 # Ticks

toast

Afficher une notification toast (popup de succes).

- type: toast
icon: DIAMOND
message: "&aSucces debloque !"
frame: TASK # TASK, GOAL ou CHALLENGE

Actions de son

sound

Jouer un son au joueur.

- type: sound
sound: ENTITY_EXPERIENCE_ORB_PICKUP
pitch: 1.0 # 0.5 a 2.0
volume: 1.0 # Distance
category: MASTER # Categorie de son optionnelle

Sons courants :

  • UI_BUTTON_CLICK
  • ENTITY_EXPERIENCE_ORB_PICKUP
  • ENTITY_PLAYER_LEVELUP
  • ENTITY_VILLAGER_YES
  • ENTITY_VILLAGER_NO
  • BLOCK_NOTE_BLOCK_PLING
  • BLOCK_CHEST_OPEN
  • BLOCK_CHEST_CLOSE

broadcast-sound

Jouer un son a tous les joueurs en ligne.

- type: broadcast-sound
sound: ENTITY_ENDER_DRAGON_DEATH
pitch: 1.0
volume: 1.0

Actions de commande

player-command

Executer une commande en tant que joueur.

- type: player-command
commands:
- "spawn"
- "kit starter"

player-command-as-op

Executer une commande en tant que joueur avec les permissions OP.

- type: player-command-as-op
commands:
- "gamemode creative"
attention

Utilisez avec precaution ! Cela donne au joueur un acces temporaire de niveau OP.


console-command

Executer une commande depuis la console.

- type: console-command
commands:
- "give %player% diamond 64"
- "eco give %player% 1000"

player-chat

Forcer le joueur a envoyer un message dans le chat.

- type: player-chat
messages:
- "Bonjour tout le monde !"

Actions d'inventaire

inventory

Ouvrir un autre inventaire.

- type: inventory
inventory: "shop"
page: 1 # Optionnel : page specifique
arguments: # Optionnel : passer des arguments
- "arg1"

close

Fermer l'inventaire actuel.

- type: close

back

Retourner a l'inventaire precedent.

- type: back

refresh

Rafraichir le bouton actuel.

- type: refresh

refresh-inventory

Rafraichir l'inventaire entier (redessiner tous les boutons).

- type: refresh-inventory

Actions joueur

teleport

Teleporter le joueur a des coordonnees.

- type: teleport
world: "world"
x: 0
y: 100
z: 0
yaw: 0 # Optionnel
pitch: 0 # Optionnel

connect

Connecter le joueur a un autre serveur (BungeeCord/Velocity).

- type: connect
server: "lobby"

Actions de donnees

data

Modifier les valeurs de donnees joueur.

- type: data
action: SET # SET, ADD, SUBTRACT, MULTIPLY, DIVIDE, REMOVE
key: "coins"
value: "100"
math: true # Optionnel : activer les expressions mathematiques

Actions :

ActionDescriptionExemple
SETDefinir a une valeur specifiquevalue: "100"
ADDAjouter a la valeur actuellevalue: "50"
SUBTRACTSoustraire de la valeur actuellevalue: "25"
MULTIPLYMultiplier la valeur actuellevalue: "2"
DIVIDEDiviser la valeur actuellevalue: "2"
REMOVESupprimer entierement la cle-

Expressions mathematiques :

- type: data
action: ADD
key: "total"
value: "%zmenu_player_value_base%*1.5"
math: true

Actions d'economie

currency-deposit

Ajouter de l'argent au solde du joueur.

- type: currency-deposit
amount: 100
reason: "Recompense" # Optionnel

currency-withdraw

Retirer de l'argent du solde du joueur.

- type: currency-withdraw
amount: 50
reason: "Achat" # Optionnel

Action de livre

book

Ouvrir un livre ecrit pour le joueur.

- type: book
author: "Serveur"
title: "&6Livre de bienvenue"
pages:
- |
&6Bienvenue !

&7Ceci est la page 1
de notre livre de bienvenue.
- |
&6Page 2

&7Plus de contenu ici.

Action de dialogue

dialog

Ouvrir un dialogue (Paper 1.20.5+ avec PacketEvents).

- type: dialog
dialog: "confirmation"

Actions Discord

discord

Envoyer un message a un webhook Discord.

- type: discord
webhook: "https://discord.com/api/webhooks/..."
content: "%player% a fait un achat !"
username: "Bot Boutique" # Optionnel
avatar_url: "https://..." # Optionnel

discord-component

Envoyer un message Discord avec boutons/composants.

- type: discord-component
webhook: "https://discord.com/api/webhooks/..."
embeds:
- title: "Nouvel achat"
description: "%player% a achete un item"
color: "#00FF00"

Actions d'integration

luckperm-set

Modifier les permissions/groupes LuckPerms.

- type: luckperm-set
group: "vip"
duration: 2592000 # Secondes (30 jours)

shopkeeper

Interagir avec le plugin Shopkeepers.

- type: shopkeeper
name: "nom_boutique"

Exemples complets

Achat avec retour

items:
acheter-item:
slot: 13
item:
material: DIAMOND_SWORD
name: "&6&lEpee en diamant"
lore:
- "&7Prix : &a500$"
click-requirement:
requirements:
- type: placeholder
value: "%vault_eco_balance%"
compare: ">="
number: 500
deny:
- type: message
messages:
- "&cVous avez besoin de 500$ !"
- type: sound
sound: ENTITY_VILLAGER_NO
success:
- type: currency-withdraw
amount: 500
- type: console-command
commands:
- "give %player% diamond_sword 1"
- type: message
messages:
- "&aAchat reussi !"
- type: sound
sound: ENTITY_PLAYER_LEVELUP
- type: close

Parametre a bascule avec donnees

items:
bascule:
slot: 22
type: SWITCH
placeholder: "%zmenu_player_value_setting%"
buttons:
"on":
item:
material: LIME_DYE
name: "&a&lParametre : ON"
actions:
- type: data
action: SET
key: "setting"
value: "off"
- type: message
messages:
- "&7Parametre desactive"
- type: sound
sound: UI_BUTTON_CLICK
- type: refresh
"off":
item:
material: GRAY_DYE
name: "&7&lParametre : OFF"
actions:
- type: data
action: SET
key: "setting"
value: "on"
- type: message
messages:
- "&7Parametre active"
- type: sound
sound: UI_BUTTON_CLICK
- type: refresh

Bouton multi-actions

items:
recompense:
slot: 13
item:
material: CHEST
name: "&e&lRecompense quotidienne"
actions:
- type: console-command
commands:
- "give %player% diamond 5"
- type: currency-deposit
amount: 1000
- type: data
action: SET
key: "last_reward"
value: "%zmenu_time_unix_timestamp%"
- type: title
title: "&6&lRecompense reclamee !"
subtitle: "&75 Diamants + 1000$"
- type: sound
sound: ENTITY_PLAYER_LEVELUP
- type: broadcast
messages:
- "&6%player% &7a reclame sa recompense quotidienne !"
- type: close

Ordre des actions

Les actions s'executent dans l'ordre ou elles sont listees. Si vous devez fermer l'inventaire apres une teleportation, mettez close avant teleport :

actions:
- type: close
- type: teleport
world: "world"
x: 0
y: 100
z: 0

Utiliser les actions dans les exigences

Les actions peuvent aussi etre utilisees dans les blocs deny et success des exigences :

click-requirement:
requirements:
- type: permission
permission: "server.vip"
deny:
- type: message
messages:
- "&cVous avez besoin du VIP !"
success:
- type: message
messages:
- "&aAcces accorde !"

Tableau de reference rapide

ActionDescription
messageEnvoyer un message au joueur
broadcastEnvoyer un message a tous
action-barAfficher la barre d'action
titleAfficher titre/sous-titre
toastAfficher un toast de succes
soundJouer un son
player-commandExecuter une commande en tant que joueur
console-commandExecuter une commande en tant que console
inventoryOuvrir un inventaire
closeFermer l'inventaire
backRevenir en arriere
refreshRafraichir le bouton
teleportTeleporter le joueur
connectChanger de serveur
dataModifier les donnees joueur
currency-depositAjouter de l'argent
currency-withdrawRetirer de l'argent

Prochaines etapes

Copyright © 2026 GroupeZ|Build #loading...|-