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