HyTari Studios · Guia visual oficial

Menu Info Pages

Aprenda JSON vendo o resultado.

Uma referência visual prática para configurar o MenuInfoPages. Comece pela janela central, monte a navegação nas barras laterais e depois personalize os atalhos O-Key e os itens interativos. Cada exemplo inclui JSON copiável e uma representação simplificada do resultado.

Leia isto primeiro

Primeiros passos

ETAPA 01

Ativar os tutoriais

Em config.json, defina languages.pt-BR.enabled e demo como true. O pacote Full inclui tutoriais em 25 idiomas.

ETAPA 02

Criar uma página

Use /infopages newpage <name> <command> ou crie um arquivo JSON em mods/MenuInfoPages/pages/pt-BR/.

ETAPA 03

Recarregar e testar

Execute /infopages reload após alterações em conteúdo ou imagens. Um novo comando de jogador ou uma mudança estrutural em ItemCommands pode exigir reinicialização.

Estes exemplos são baseados na configuração JSON e nos arquivos de tutorial incluídos na edição Full atual. As prévias são diagramas didáticos, não capturas de tela nem renderização nativa da interface do Hytale. Substitua comandos, destinos e nomes PNG de exemplo pelos recursos disponíveis no seu servidor. Mantenha um backup dos arquivos existentes.

CAPÍTULO 01 · 10 EXEMPLOS

GUI central

Comece pela própria página: texto, seções, imagens, botões, permissões e AutoOpen.

01JSON da página

Sua primeira página

Um arquivo JSON cria uma página com seu próprio comando, título e introdução.

Configuração JSON
{
  "command": "welcome",
  "title": "BEM-VINDO AO NOSSO SERVIDOR",
  "intro": "Olá {player}! Aqui está tudo o que você precisa para começar.",
  "images": [],
  "sections": [
    {
      "title": "PRIMEIROS PASSOS",
      "text": "Leia as regras, encontre um lugar para construir e aproveite a aventura!",
      "images": []
    }
  ],
  "buttons": [],
  "footer": "Aproveite sua estadia!"
}

pages/pt-BR/welcome.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

BEM-VINDO AO NOSSO SERVIDOR

Olá Alex! Aqui está tudo o que você precisa para começar.

PRIMEIROS PASSOS

Leia as regras, encontre um lugar para construir e aproveite a aventura!

Aproveite sua estadia!

O nome do arquivo pode ser diferente do comando. Novos comandos de jogador podem exigir reinicialização do servidor após a criação.

02JSON da página

Texto formatado e placeholders

Formate seu texto e insira informações dinâmicas do jogador e do servidor.

Configuração JSON
{
  "command": "player-info",
  "title": "INFORMAÇÕES DO JOGADOR",
  "intro": "{center}{#54DAF4}{b}Bem-vindo de volta, {player}!{/}{/}",
  "images": [],
  "sections": [
    {
      "title": "{#F894FF}{b}SEUS DADOS{/}{/}",
      "text": "{b}Jogador:{/} {player}\n{b}Mundo:{/} {world}\n{b}Online:{/} {online}/{max_players}\n{m}Informações úteis do servidor{/}",
      "images": []
    }
  ],
  "buttons": []
}

pages/pt-BR/player-info.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

INFORMAÇÕES DO JOGADOR

Bem-vindo de volta, Alex!{/}{/}

SEUS DADOS{/}{/}

Jogador:{/} Alex Mundo:{/} Survival Online:{/} 12/256 Informações úteis do servidor{/}

O texto formatado é renderizado pelo Hytale. A prévia esquemática remove os tokens de formatação em vez de reproduzir o renderizador nativo de fontes.

03JSON da página

Cores de fundo das seções

Combine seções padrão, transparentes e coloridas em HEX no mesmo menu.

Configuração JSON
{
  "command": "colors",
  "title": "SEÇÕES PERSONALIZADAS",
  "intro": "Escolha um estilo visual para cada área de conteúdo.",
  "images": [],
  "sections": [
    {
      "title": "PADRÃO",
      "text": "Estilo nativo da seção.",
      "backgroundColor": "default",
      "images": []
    },
    {
      "title": "TRANSPARENTE",
      "text": "O painel de fundo é removido.",
      "backgroundColor": "none",
      "images": []
    },
    {
      "title": "HEX PERSONALIZADO",
      "text": "Uma cor personalizada para a seção.",
      "backgroundColor": "#243D59",
      "images": []
    }
  ],
  "buttons": []
}

pages/pt-BR/colors.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

SEÇÕES PERSONALIZADAS

Escolha um estilo visual para cada área de conteúdo.

PADRÃO

Estilo nativo da seção.

TRANSPARENTE

O painel de fundo é removido.

HEX PERSONALIZADO

Uma cor personalizada para a seção.

Use backgroundColor na seção individual, não na página inteira.

04JSON da página

Introdução e imagens de cabeçalho fixas

Uma introdução e até seis imagens permanecem acima das seções roláveis.

Configuração JSON
{
  "command": "header",
  "title": "NOSSA COMUNIDADE",
  "intro": "{center}Explore o servidor e seus recursos.",
  "images": [
    {
      "image": "server-logo.png"
    },
    {
      "image": "welcome-banner.png"
    }
  ],
  "sections": [
    {
      "title": "CONTEÚDO ROLÁVEL",
      "text": "Esta seção rola enquanto a introdução e as imagens de cabeçalho permanecem visíveis.",
      "images": []
    }
  ],
  "buttons": []
}

pages/pt-BR/header.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

NOSSA COMUNIDADE

Explore o servidor e seus recursos.

server-logo.png
welcome-banner.png
CONTEÚDO ROLÁVEL

Esta seção rola enquanto a introdução e as imagens de cabeçalho permanecem visíveis.

Coloque server-logo.png e welcome-banner.png em mods/MenuInfoPages/images/ antes de abrir a página. Use PNG; manter cada arquivo abaixo de 2 MB é recomendado para carregamento mais rápido, mas não é obrigatório.

05JSON da página

Várias imagens em uma seção

Coloque até seis imagens em uma seção. Elas são distribuídas em células horizontais de tamanho igual.

Configuração JSON
{
  "command": "places",
  "title": "LUGARES PARA VISITAR",
  "intro": "Escolha um destino.",
  "images": [],
  "sections": [
    {
      "title": "DESTINOS",
      "text": "Escolha para onde deseja ir.",
      "images": [
        {
          "image": "spawn.png",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 100
        },
        {
          "image": "market.png",
          "command": "warp market",
          "runAs": "player",
          "close": true,
          "delayMs": 100
        },
        {
          "image": "website.png",
          "command": "https://example.org",
          "close": false
        }
      ]
    }
  ],
  "buttons": []
}

pages/pt-BR/places.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

LUGARES PARA VISITAR

Escolha um destino.

DESTINOS

Escolha para onde deseja ir.

spawn.png
market.png
website.png

Cada nome de arquivo representa um PNG fornecido por você em mods/MenuInfoPages/images/.

06JSON da página

Botões dentro de uma seção

Dê a uma seção suas próprias ações interativas primary, secondary e danger.

Configuração JSON
{
  "command": "section-actions",
  "title": "COMANDOS ÚTEIS",
  "intro": "Diferentes estilos de botão facilitam a identificação das ações.",
  "images": [],
  "sections": [
    {
      "title": "NAVEGAÇÃO",
      "text": "Uma seção pode conter texto, imagens e botões.",
      "images": [],
      "buttons": [
        {
          "text": "SPAWN",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 250,
          "style": "primary"
        },
        {
          "text": "REGRAS DO SERVIDOR",
          "page": "rules",
          "style": "secondary"
        },
        {
          "text": "EXEMPLO DANGER",
          "style": "danger"
        }
      ]
    }
  ],
  "buttons": []
}

pages/pt-BR/section-actions.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

COMANDOS ÚTEIS

Diferentes estilos de botão facilitam a identificação das ações.

NAVEGAÇÃO

Uma seção pode conter texto, imagens e botões.

SPAWN
REGRAS DO SERVIDOR
EXEMPLO DANGER

Use page para abrir diretamente outra página MenuInfoPages. Use command para executar comandos; runAs: console deve ser usado apenas para ações confiáveis.

07JSON da página

Barra de ações inferior

Coloque até seis ações na parte inferior, separadas das seções roláveis.

Configuração JSON
{
  "command": "shortcuts",
  "title": "AÇÕES RÁPIDAS",
  "intro": "Atalhos comuns reunidos em um só lugar.",
  "images": [],
  "sections": [
    {
      "title": "AJUDA",
      "text": "Escolha uma ação abaixo.",
      "images": []
    }
  ],
  "buttons": [
    {
      "text": "REGRAS",
      "page": "rules",
      "style": "primary"
    },
    {
      "text": "SPAWN",
      "command": "spawn",
      "runAs": "player",
      "close": true,
      "delayMs": 250,
      "style": "secondary"
    },
    {
      "text": "SITE",
      "command": "https://example.org",
      "style": "secondary"
    }
  ]
}

pages/pt-BR/shortcuts.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

AÇÕES RÁPIDAS

Atalhos comuns reunidos em um só lugar.

AJUDA

Escolha uma ação abaixo.

REGRAS
SPAWN
SITE

Destinos como rules ou warp market devem existir no seu servidor. Um destino page é o comando interno de uma página MenuInfoPages.

08JSON da página

Permissões da página

Adicione um nó de permissão opcional para restringir uma página a usuários autorizados.

Configuração JSON
{
  "command": "staff-info",
  "permission": "server.staff",
  "title": "INFORMAÇÕES DA EQUIPE",
  "intro": "Informações restritas a jogadores autorizados.",
  "images": [],
  "sections": [
    {
      "title": "NOTAS DA EQUIPE",
      "text": "Somente jogadores com a permissão server.staff podem abrir esta página.",
      "images": []
    }
  ],
  "buttons": []
}

pages/pt-BR/staff-info.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

INFORMAÇÕES DA EQUIPE

Informações restritas a jogadores autorizados.

NOTAS DA EQUIPE

Somente jogadores com a permissão server.staff podem abrir esta página.

O nó de permissão é um exemplo. Conceda-o pelo sistema de permissões do servidor. O AutoOpen também respeita as permissões da página.

09JSON da página

Abertura automática ao entrar

Mostre uma página de boas-vindas uma vez, sempre ou até que o jogador a dispense.

Configuração JSON
{
  "autoOpen": {
    "enabled": true,
    "mode": "dismissible",
    "version": 1,
    "worlds": [],
    "delayMs": 1500
  },
  "command": "server-guide",
  "title": "GUIA DO SERVIDOR",
  "intro": "Bem-vindo! Marque Não mostrar novamente para ocultar esta página em acessos futuros.",
  "images": [],
  "sections": [
    {
      "title": "PRIMEIROS PASSOS",
      "text": "Leia nossas regras e aprenda a se orientar.",
      "images": []
    }
  ],
  "buttons": []
}

pages/pt-BR/server-guide.json

Resultado visualPrévia esquemática
MENUINFOPAGES · ESQUEMA×

GUIA DO SERVIDOR

Bem-vindo! Marque Não mostrar novamente para ocultar esta página em acessos futuros.

PRIMEIROS PASSOS

Leia nossas regras e aprenda a se orientar.

Configure autoOpen na versão desta página no idioma de fallback. Não ative páginas AutoOpen sobrepostas para o mesmo mundo: se várias páginas corresponderem, nenhuma será aberta automaticamente.

10JSON de configuração

Ativar os tutoriais incluídos

Escolha os idiomas carregados independentemente daqueles para os quais as páginas de demonstração são geradas.

Configuração JSON
{
  "fallbackLanguage": "en-US",
  "languages": {
    "en-US": {
      "enabled": true,
      "demo": true
    },
    "it-IT": {
      "enabled": true,
      "demo": false
    },
    "de-DE": {
      "enabled": true,
      "demo": false
    }
  }
}

config.json — top-level fields

Resultado visualPrévia esquemática

Configurações de idioma

en-USCarregado · Demo ON
it-ITCarregado · Demo OFF
de-DECarregado · Demo OFF

O idioma do cliente seleciona a tradução da página; traduções ausentes usam o idioma de fallback configurado.

A edição Full inclui 25 pastas de idioma. enabled e demo precisam estar como true para que as páginas de tutorial de um idioma sejam geradas. Defina demo como false quando não precisar mais delas.

CAPÍTULO 03 · 4 EXEMPLOS

O-Key & HUD

Crie atalhos de acesso rápido, posicione seus indicadores e configure o comportamento por mundo.

01JSON de configuração

Atalho O-Key global

Defina o comando padrão, as permissões e o indicador HUD para cada mundo.

Configuração JSON
{
  "O-Key": {
    "Enabled": true,
    "RequirePermission": false,
    "Permission": "menuinfopages.okey",
    "OpPermission": "hytale.command.gamemode",
    "AllWorlds": {
      "Command": "menuinfopages",
      "OpCommand": "menuinfopages",
      "AppliesOnOP": true,
      "CooldownMs": 250,
      "Hud": {
        "Enabled": true,
        "Horizontal": "right:-8",
        "Vertical": "top:245",
        "Title": "menuinfopages.hud.okey.press",
        "Image": "default",
        "Width": 112,
        "Height": 112
      }
    }
  }
}

config.json — O-Key object

Resultado visualPrévia esquemática

O-Key · HUD ilustrativo

O

Representação da tela do jogo

Posição do HUD: right:-8, top:245. Comandos e comportamento são configurados em config.json.

Edite o objeto O-Key existente em vez de substituir todo o config.json. O valor default da imagem HUD se refere ao ícone incluído.

02JSON de configuração

Centralizar o HUD do O-Key

Use center de forma independente em qualquer eixo e ajuste o outro eixo a partir de uma borda.

Configuração JSON
{
  "Hud": {
    "Enabled": true,
    "Image": "default",
    "Width": 112,
    "Height": 112,
    "Horizontal": "center",
    "Vertical": "top:190"
  }
}

config.json — O-Key.AllWorlds.Hud

Resultado visualPrévia esquemática

O-Key · HUD ilustrativo

O

Representação da tela do jogo

Posição do HUD: center, top:190. Comandos e comportamento são configurados em config.json.

Este exemplo é um objeto Hud parcial; integre esses valores às configurações O-Key.AllWorlds.Hud existentes.

03JSON de configuração

Overrides por mundo e instância

Dê outro atalho a mundos específicos, incluindo instâncias geradas com um wildcard final.

Configuração JSON
{
  "WorldOverrides": [
    {
      "Worlds": [
        "Survival"
      ],
      "Enabled": true,
      "Command": "welcome",
      "Hud": {
        "Enabled": true,
        "Horizontal": "right:-5",
        "Vertical": "center"
      }
    },
    {
      "Worlds": [
        "instance-Forgotten_Temple-*"
      ],
      "Enabled": true,
      "Command": "server-guide",
      "Hud": {
        "Enabled": true,
        "Horizontal": "center",
        "Vertical": "top:190"
      }
    }
  ]
}

config.json — O-Key.WorldOverrides

Resultado visualPrévia esquemática

O-Key · HUD ilustrativo

O

Representação da tela do jogo

Survival → /welcome
instance-Forgotten_Temple-* → /server-guide

Um único * final é aceito em um prefixo de nome de mundo. Nomes exatos têm prioridade sobre padrões wildcard; caso contrário, vence o prefixo correspondente mais longo.

04JSON de configuração

Imagem O-Key personalizada

Use seu próprio PNG com tamanho e posição configuráveis.

Configuração JSON
{
  "Hud": {
    "Enabled": true,
    "Image": "okey-survival.png",
    "Width": 300,
    "Height": 200,
    "Horizontal": "right:-5",
    "Vertical": "top:138"
  }
}

config.json — O-Key.AllWorlds.Hud

Resultado visualPrévia esquemática

O-Key · HUD ilustrativo

O

Representação da tela do jogo

Posição do HUD: right:-5, top:138. Comandos e comportamento são configurados em config.json.

Coloque okey-survival.png em mods/MenuInfoPages/images/. Ajuste Width/Height à proporção do PNG, por exemplo 600×400 renderizado como 300×200.

CAPÍTULO 04 · 2 EXEMPLOS

ItemCommands

Crie itens com comandos separados para clique esquerdo e direito.

01JSON de configuração

Ativar um item de demonstração

O exemplo incluído fornece um item de origem interativo com ações separadas para clique esquerdo e direito.

Configuração JSON
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "demo",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Páginas Demo",
        "quality": "",
        "leftClickCommand": "menuinfopages",
        "rightClickCommand": "menuinfopages"
      }
    ]
  }
}

config.json — itemCommands object

Resultado visualPrévia esquemática

ItemCommands · mapa de interações

Páginas Demo

Clique esquerdo/menuinfopages
Clique direito/menuinfopages

Este é o ID real do item de origem do exemplo incluído. Diferentemente das alterações de página, mudanças estruturais em itens podem exigir reinicialização do servidor.

02JSON de configuração

Comandos esquerdo e direito separados

Use um item existente do Hytale ou de um mod instalado como origem de um novo atalho interativo.

Configuração JSON
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "server-shortcuts",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Atalhos do Servidor",
        "quality": "",
        "leftClickCommand": "welcome",
        "rightClickCommand": "spawn"
      }
    ]
  }
}

config.json — itemCommands object

Resultado visualPrévia esquemática

ItemCommands · mapa de interações

Atalhos do Servidor

Clique esquerdo/welcome
Clique direito/spawn

Substitua sourceItem por um ID real de item instalado no servidor e escolha comandos existentes aos quais os jogadores tenham acesso. ItemCommands é independente do JSON das páginas.

Antes de usar um exemplo

Exemplos completos de página: Coloque cada objeto JSON em seu próprio arquivo dentro de mods/MenuInfoPages/pages/pt-BR/. Mantenha o comando de cada página distinto e traduza os arquivos correspondentes nas outras pastas de idioma quando necessário.

Exemplos de configuração: Os objetos O-Key e ItemCommands são fragmentos do seu config.json atual. Integre as propriedades mostradas no local correto; nunca substitua o arquivo de configuração inteiro por um pequeno exemplo.

Configuração segura: Coloque os PNGs referenciados na pasta de imagens esperada. Para melhor desempenho, é recomendado, mas não obrigatório, manter cada imagem abaixo de 2 MB; arquivos maiores podem exigir mais tempo e memória para carregar. Comandos de demonstração, destinos de navegação, nós de permissão e URLs externas são marcadores para recursos fornecidos por você. Evite executar comandos com privilégios elevados para jogadores não confiáveis.

Esquema atual: Este guia documenta o sistema atual sections, leftContent e rightContent; um possível modelo unificado content/cells futuro não é apresentado como recurso já disponível.

VOLTAR AO TOPO