Criação de formulários
Está página ensina a como manipular um formulário no plugin
1. O que é um Formulário Geyser?
Um formulário do GeyserMC e floodgate, são formulários que podem ser personalizados e enviados para players do Bedrock. Existem 3 tipos de formulários Geyser: Simple, Modal, Custom
2. Localização
Os menus forms são localizados na pasta "menus -> forms", todos os arquivos dessa pasta devem ser .yml e seguir a estrutura de um menu

3.1. Estrutura do formulário: Simple
# Identificador único do menu
id: exemplo_form_simple
# Tipo do formulário (simple, modal ou custom)
type: simple
# Título do formulário (aparece na parte superior da tela)
title: Formulário Simples
# Conteúdo ou descrição do formulário
content: "Escolha uma das opções abaixo:"
# Lista de botões que aparecerão de cima para baixo
buttons:
botao1:
# Texto que aparecerá no botão
text: Ir para o spawn
# Ações que serão executadas ao clicar no botão
actions:
- "[PLAYER_COMMAND] spawn"
botao2:
text: Ver regras
actions:
- "[OPEN_MENU] regras_menu"
# Ações caso o jogador feche o formulário sem clicar em nada
on-close:
- "[MESSAGE] Você fechou o menu."
# Ações se ocorrer algum erro ao abrir o formulário
on-error:
- "[MESSAGE] Erro ao abrir o formulário. Tente novamente mais tarde."
3.2. Estrutura do formulário: Modal
# Identificador único do menu
id: exemplo_form_modal
# Tipo do formulário
type: modal
# Título do formulário
title: "Deseja confirmar?"
# Conteúdo que aparece no centro do formulário
content: "Essa ação é irreversível. Tem certeza?"
# Texto dos botões (só existem dois)
first-button-text: Sim, quero
second-button-text: Não, cancelar
# Ações executadas se o jogador clicar no primeiro botão
on-click-first-button:
- "[MESSAGE] Ação confirmada!"
- "[PLAYER_COMMAND] confirmacao"
# Ações executadas se o jogador clicar no segundo botão
on-click-second-button:
- "[MESSAGE] Você cancelou a ação."
# Ações em caso de erro
on-error:
- "[MESSAGE] Não foi possível carregar o formulário."
3.3. Estrutura do formulário: Custom
# Identificador do menu
id: exemplo_form_custom
# Tipo do formulário
type: custom
# Título que aparece no topo do formulário
title: Configuração do Jogador
# Ações ao fechar o formulário
on-close:
- "[MESSAGE] Você fechou o menu sem salvar."
# Ações em caso de erro
on-error:
- "[MESSAGE] Ocorreu um erro ao enviar o formulário."
# Componentes do formulário (aparecem de cima para baixo)
components:
nome_input:
# Tipo de componente: input (campo de texto)
type: input
title: Digite seu nome
placeholder: Ex: Steve123
default-text: Jogador
preferencia_toggle:
# Tipo: toggle (liga/desliga)
type: toggle
text: Deseja receber mensagens privadas?
default-enabled: true
som_slider:
# Tipo: slider (controle deslizante)
type: slider
title: Volume da música
min-value: 0
max-value: 100
start-value: 50
increment-value: 10
cor_dropdown:
# Tipo: options (dropdown)
type: options
title: Escolha sua cor favorita
options:
- Azul
- Vermelho
- Verde
- Amarelo
# Ações quando o jogador envia o formulário com sucesso
on-submit:
- "[MESSAGE] Valor do input digitado: %nome_input%!"
- "[MESSAGE] Valor do toggle (ligado/desligado): %preferencia_toggle%!"
- "[MESSAGE] Valor escolhido do slider: %som_slider%!"
- "[MESSAGE] Opção escolhida: %cor_dropdown%!"
Preview
Previsões de como formulários são exibidos podem ser encontrados no site desse recurso no geyser em: https://geysermc.org/wiki/geyser/forms/
Atualizado