Pular para o conteúdo principal

Criando menus do Codex

O Quest Codex não tem nenhuma tela embutida. Todo menu é um pool de layouts do GUI que você desenha, e o codex apenas preenche os slots de marcador que você coloca nele. Leia primeiro os guias do GUI: Entenda um menu GUI, Layouts, frames e slots e Interações e navegação.

As peças​

EntryFunção
Quest CategoryDeclara uma categoria: título, ícone, pai, criteria.
Quest AssignmentColoca quests em uma categoria, com ordem e overrides por status.
Category MenuO menu de uma categoria (ou o menu principal, ou o menu de rastreadas). Seu campo menu referencia um Open GUI que contém os layouts.

Marcadores​

Coloque um item em um layout simple do Open GUI referenciado, defina buttonPrefix como codex_button: e buttonType como um marcador:

buttonTypeSubstituído por
CATEGORY_SLOTUma categoria raiz por slot, no menu principal.
QUEST_SLOTUma quest por slot, em um menu de categoria.
TRACKED_QUEST_SLOTUma quest rastreada por slot, no menu @tracked.
SORT_SLOTO botão de ordenação, desenhado acima do layout para nunca sair da tela ao rolar.

Duas regras:

  1. Um marcador, um slot. Um marcador só se expande por meio de seus próprios count, direction, gap e repeatY. Uma grade de 7 por 8 é um item com count 7, direction right e repeatY 8. Sem direction, o marcador continua sendo um único slot. gap é um passo: 1 significa adjacente.
  2. Os marcadores seguem o layout. Eles são indexados em ordem de leitura antes de o layout ser interpretado, então coloque o item de marcador no layout simple que um layout scrollable envolve e a lista de quests rolará com uma ordem estável.

Marcadores fora de layouts simple, ou em um chassi compartilhado em vez de no Open GUI indicado por menu, não são preenchidos.

Um menu de categoria com rolagem​

Um navegador de seis linhas com borda, controles fixos e uma janela de rolagem de 7 por 4 sobre uma grade de quests de 7 por 8:

  1. Crie um Open GUI main_quests_gui com guiType CUSTOM e size SIZE_54.
  2. Adicione um layout simple deco. Adicione um painel de vidro preto em x 0, y 0 com count 9, direction right e o nome definido como um único espaço, e o mesmo em y 5. Na linha 5, adicione um item BACK em x 0 (buttonPrefix codex_button:, buttonType BACK), um item SORT_SLOT em x 4 e um item CLOSE em x 8.
  3. Adicione um layout simple quest_grid com um item: buttonPrefix codex_button:, buttonType QUEST_SLOT, x 0, y 0, count 7, direction right, repeatY 8.
  4. Adicione um layout scrollable quests com innerId quest_grid, virtualWidth 7, virtualHeight 8 e dois buttons: uma seta UP em x 1, y 4 e uma seta DOWN em x 5, y 4.
  5. Adicione um layout frame root com dois frames: deco em 0,0 com tamanho 9 por 6 e quests em 1,1 com tamanho 7 por 4. Defina mainLayoutId como root.
  6. Crie o Category Menu com category main_quests, rows 6 e menu definido como main_quests_gui.

A grade de quests fica dentro do conteúdo rolável, então as quests rolam junto com a janela. As setas só aparecem quando há algo para onde rolar.

O botão de ordenação​

SORT_SLOT mostra o modo de ordenação atual e alterna a cada clique: All, Not started, In progress, Completed. O modo é mantido por jogador até o servidor reiniciar e vale para todos os menus de categoria. Configure o item, o rótulo e a lore de cada modo em sortDisplay do Category Menu; sem isso, um rótulo embutido é usado.

Botões de navegação​

Marque um slot com PAGE_NEXT, PAGE_PREV, SCROLL_UP, SCROLL_DOWN, SCROLL_LEFT, SCROLL_RIGHT, BACK, CLOSE ou SORT para ligar a ação de clique dele. O item, o nome e a lore que você configura são mantidos; a seta, a barreira ou o funil padrão só aparece quando o slot não tem item. Você também pode usar itens comuns com os comandos gui:back, gui:close ou gui:scroll.

PAGE_NEXT e PAGE_PREV paginam a lista de quests ou de categorias quando o menu tem marcadores e, caso contrário, paginam um layout paginated.

Aparência da quest​

Um slot de quest se adapta ao progresso do jogador. A Quest Lore adiciona lore por status, e o Quest Assignment pode sobrescrever ícone, nome, lore e visibilidade por status. Clicar em uma quest ativa a rastreia ou deixa de rastreá-la; clicar em uma quest não iniciada ou concluída envia a mensagem correspondente das configurações globais.

Checklist​

  1. Uma entry Quest Codex Global Settings, com um artifact de rastreamento.
  2. Pelo menos uma Quest Category, sem parent para o menu principal.
  3. Um Quest Assignment por categoria.
  4. Um Category Menu por categoria, e um com category vazio para o menu principal, cada um com seu marcador.
  5. rows do Category Menu igual à altura do Open GUI.
  6. Os jogadores têm typewriter.codex.open, ou abrem o menu por meio de uma ação.