Aller au contenu principal

Interactions et navigation

Une interaction relie un clic sur un emplacement à un comportement. Elle se configure sur l'objet, dans interactionList.

Ajouter une interaction​

Sur un objet d'un layout, ajoutez une entrée à interactionList :

ChampRôle
typeLe clic : LEFT_CLICK, RIGHT_CLICK, SHIFT_LEFT_CLICK, SHIFT_RIGHT_CLICK, MIDDLE_CLICK, DOUBLE_CLICK, NUMBER_KEY_1 à NUMBER_KEY_9, DROP, DROP_ALL, SWAP_OFFHAND.
commandsCommandes exécutées depuis la console. %player% est remplacé par le nom du joueur et les placeholders PlaceholderAPI sont résolus.
triggersEntrées TypeWriter à déclencher pour le joueur.
closeMenuFerme le menu après l'action.
executeReturnRouvre le menu précédent après l'action.

L'objet lui-même possède aussi des triggers et des modifiers. Ils se déclenchent sur un clic gauche ou droit, ou dès qu'une interaction précise de l'objet correspond. Les modifiers modifient des facts, exactement comme les modificateurs d'une action.

Le son de clic défini dans audio.onClick est joué une fois par clic ayant produit un effet.

Commandes internes​

Une commande qui commence par gui: est gérée par GUI :

CommandeEffet
gui:closeFerme le menu.
gui:backRouvre le menu précédent.
gui:open <entry_id>, gui:action <entry_id>Déclenche une autre entrée, généralement un autre Open GUI.
gui:view <view_id>Change de vue sans fermer la fenêtre.
gui:page <delta> [layout_id]Change de page d'un layout paginé.
gui:scroll <dx> <dy> [layout_id]Fait défiler un layout scrollable.
gui:refreshRedessine le menu.
gui:sound <sound_key>Joue une clé de son telle que minecraft:ui.button.click.

Vous aurez rarement besoin de saisir gui:close et gui:back vous-même : cochez closeMenu ou executeReturn.

Boîte de saisie​

Définir input sur un objet ouvre une boîte de dialogue textuelle au clic sur l'emplacement. La boîte remplace les interactions de ce clic. Renseignez title, placeholder, onInputCommands et onInputTriggers. Dans onInputCommands, {input} est remplacé par le texte saisi et %player% par le nom du joueur. Le menu est redessiné après la validation de la boîte.

attention

L'aide du champ mentionne %value%, mais le code remplace {input}. Validez ce que les joueurs saisissent avant que cela n'atteigne une commande, un montant ou une permission.

Permissions​

  • viewPermission masque l'emplacement.
  • clickPermission garde l'emplacement visible et supprime ses interactions, sa saisie et ses triggers.
  • criteria ajoute une condition TypeWriter.

Utilisez clickPermission pour afficher un bouton verrouillé avec un lore explicatif, et viewPermission pour le masquer. Une valeur vide ne restreint rien.

Boutons fournis par d'autres extensions​

Un objet doté d'un buttonType devient un bouton étiqueté. Shops et Quest Codex placent de tels marqueurs ; l'autre extension remplace alors les interactions par les siennes. L'étiquette est buttonPrefix suivi de buttonType (par exemple shop_button: et SHOP_ITEM). Si aucune extension ne revendique l'étiquette, l'objet conserve les interactions que vous avez configurées.

Cooldowns et menus dynamiques​

cooldownTicks bloque le même emplacement pendant ce nombre de ticks après un clic. autoRefreshTicks sur l'Open GUI redessine les noms et les lores avec leurs placeholders actuels tous les N ticks ; gardez-le à 20 ou plus pour les menus qui n'ont pas besoin de bouger.

Quand un clic ne fait rien​

Vérifiez dans cet ordre : clickPermission, cooldownTicks, criteria, un input qui prend le contrôle du clic, puis le préfixe de buttonType. Une commande qui exige un joueur comme émetteur ne fonctionnera pas, car les commandes sont exécutées depuis la console.