Aller au contenu principal

Mecaniques d'Item

Les items personnalises definis dans le dossier plugins/zMenu/items/ peuvent recevoir des mecaniques — des comportements reutilisables attaches a l'item. Chaque item est identifie par un id (sa cle YAML), que zMenu stocke sur l'item afin que la mecanique puisse le reconnaitre plus tard.

Structure du fichier d'item​

# plugins/zMenu/items/default-items.yml
<item-id>:
name: "&aMy Item" # standard zMenu item format (see Item Configuration)
lore:
- "&7A special item"
mechanics:
<mechanic-id>:
# options depend on the mechanic

itemjoin​

La mecanique itemjoin controle quand l'item est donne et comment il est protege dans l'inventaire du joueur. Elle est enregistree par defaut, donc elle fonctionne immediatement.

server-guide:
material: FILLED_MAP
name: "&eServer Guide"
lore:
- "&7Tout ce qu'il faut pour bien commencer."
mechanics:
itemjoin:
give-first-join: true
fixed-slot: 8
prevent-inventory-modification: true

Options​

OptionTypeDefautDescription
give-first-joinBooleanfalseDonne l'item automatiquement la premiere fois qu'un joueur se connecte au serveur.
fixed-slotInteger-1Force l'item dans ce slot d'inventaire lorsqu'il est donne, et l'y verrouille. -1 le desactive ; plage valide 0–36.
prevent-inventory-modificationBooleantrueEmpeche l'item d'etre jete, deplace, glisse, echange en main secondaire ou place dans un cadre d'item.
info

prevent-inventory-modification ne prend effet que lorsqu'un fixed-slot est defini — la protection est liee au slot verrouille. Sans fixed-slot, l'item peut etre deplace librement meme si cette option est true.

astuce

Utilisez give-first-join avec un fixed-slot pour donner a chaque nouveau joueur un item guide/menu qui reste epingle a sa barre d'action.

on-click​

La mecanique on-click execute des actions zMenu lorsque le joueur fait un clic gauche ou droit en tenant l'item dans sa main principale.

remarque

on-click n'est pas enregistree par defaut dans la version actuelle. Elle ne fonctionne que si un addon l'enregistre via l'API (ItemManager#registerMechanicFactory) ; sinon un bloc on-click genere un avertissement "No MechanicFactory found". La mecanique integree par defaut est itemjoin.

magic-wand:
name: "&dMagic Wand"
material: BLAZE_ROD
mechanics:
on-click:
cooldown: 3
cancel-event: true
click-target: both
click-types:
- RIGHT
- SHIFT_RIGHT
click-requirements:
1:
requirements:
- type: permission
permission: "server.wand"
deny:
- type: message
messages:
- "&cYou can't use this wand."
actions:
- type: message
messages:
- "&dPoof! ✨"
- type: player-command
commands:
- "spawn"

Options​

OptionTypeDefautDescription
cooldownInteger0Secondes entre chaque activation, par joueur (0 = aucun temps de recharge)
cancel-eventBooleanfalseAnnule l'interaction (par ex. pour empecher le placement de bloc / l'utilisation de l'item)
click-targetStringbothOu le clic doit se produire : air, block, ou both
click-typesList—Quels clics le declenchent : LEFT, RIGHT, SHIFT_LEFT, SHIFT_RIGHT (l'accroupissement utilise les variantes SHIFT)
click-requirementsSection—Conditions standards de zMenu verifiees lors du clic
actionsList—Actions standards de zMenu executees lors du clic
info

on-click se declenche depuis un PlayerInteractEvent sur l'item de la main principale. Comme aucun inventaire n'est ouvert, les placeholders specifiques aux inventaires ne sont pas disponibles dans les conditions/actions.

Prochaines etapes​

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