Interações e navegação
Uma interação conecta um clique em um slot a um comportamento. Ela é configurada no item, em interactionList.
Adicionar uma interação
Em um item de um layout, adicione uma entrada a interactionList:
| Campo | Função |
|---|---|
type | O clique: LEFT_CLICK, RIGHT_CLICK, SHIFT_LEFT_CLICK, SHIFT_RIGHT_CLICK, MIDDLE_CLICK, DOUBLE_CLICK, NUMBER_KEY_1 a NUMBER_KEY_9, DROP, DROP_ALL, SWAP_OFFHAND. |
commands | Comandos executados pelo console. %player% é substituído pelo nome do jogador e os placeholders do PlaceholderAPI são resolvidos. |
triggers | Entries do TypeWriter a disparar para o jogador. |
closeMenu | Fecha o menu após a ação. |
executeReturn | Reabre o menu anterior após a ação. |
O próprio item também tem triggers e modifiers. Eles disparam em um clique esquerdo ou direito, ou sempre que uma interação específica do item corresponde. Os modifiers alteram facts, exatamente como os modifiers de uma ação.
O som de clique definido em audio.onClick toca uma vez por clique que fez algo.
Comandos internos
Um comando que começa com gui: é tratado pelo GUI:
| Comando | Efeito |
|---|---|
gui:close | Fecha o menu. |
gui:back | Reabre o menu anterior. |
gui:open <entry_id>, gui:action <entry_id> | Dispara outra entry, normalmente outro Open GUI. |
gui:view <view_id> | Troca de view sem fechar a janela. |
gui:page <delta> [layout_id] | Muda a página de um layout paginado. |
gui:scroll <dx> <dy> [layout_id] | Rola um layout scrollable. |
gui:refresh | Redesenha o menu. |
gui:sound <sound_key> | Toca uma chave de som como minecraft:ui.button.click. |
Raramente você precisa digitar gui:close e gui:back por conta própria: marque closeMenu ou executeReturn.
Diálogo de entrada
Definir input em um item abre um diálogo de texto quando o slot é clicado. O diálogo substitui as interações desse clique. Preencha title, placeholder, onInputCommands e onInputTriggers. Em onInputCommands, {input} é substituído pelo texto digitado e %player% pelo nome do jogador. O menu é redesenhado depois que o diálogo é confirmado.
A ajuda do campo menciona %value%, mas o código substitui {input}. Valide o que os jogadores digitam antes que chegue a um comando, a uma quantidade ou a uma permissão.
Permissões
viewPermissionoculta o slot.clickPermissionmantém o slot visível e remove suas interações, entrada e triggers.criteriaadiciona uma condição do TypeWriter.
Use clickPermission para exibir um botão bloqueado com uma lore explicativa, e viewPermission para ocultá-lo. Um valor em branco não restringe nada.
Botões fornecidos por outras extensões
Um item com buttonType torna-se um botão marcado. Shops e Quest Codex colocam esses marcadores; a outra extensão então substitui as interações pelas suas. A tag é buttonPrefix seguido de buttonType (por exemplo shop_button: e SHOP_ITEM). Se nenhuma extensão reivindicar a tag, o item mantém as interações que você configurou.
Cooldowns e menus dinâmicos
cooldownTicks bloqueia o mesmo slot por esse número de ticks após um clique. autoRefreshTicks no Open GUI redesenha nomes e lore com seus placeholders atuais a cada N ticks; mantenha em 20 ou mais para menus que não precisam se mover.
Quando um clique não faz nada
Verifique nesta ordem: clickPermission, cooldownTicks, criteria, um input que assume o clique e, por fim, o prefixo de buttonType. Um comando que precisa de um jogador como remetente não funcionará, pois os comandos são executados pelo console.