Pular para o conteúdo principal

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:

CampoFunção
typeO 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.
commandsComandos executados pelo console. %player% é substituído pelo nome do jogador e os placeholders do PlaceholderAPI são resolvidos.
triggersEntries do TypeWriter a disparar para o jogador.
closeMenuFecha o menu após a ação.
executeReturnReabre 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:

ComandoEfeito
gui:closeFecha o menu.
gui:backReabre 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:refreshRedesenha 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.

aviso

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​

  • viewPermission oculta o slot.
  • clickPermission mantém o slot visível e remove suas interações, entrada e triggers.
  • criteria adiciona 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.