Pular para o conteúdo principal

Quest Codex

A extensão Quest Codex fornece um sistema de GUI totalmente personalizável para que os jogadores naveguem, rastreiem e gerenciem missões organizadas por categorias hierárquicas. Cada menu é construído por meio de pools de layout declarativos movidos pela extensão GUI — sem menus codificados, personalização infinita.

Recursos

  • Categorias hierárquicas — Aninhe categorias por meio de relações pai/filho. As subcategorias herdam a visibilidade da categoria pai.
    • Pools de layout — Projete cada menu por meio de pools de layout declarativos. Os placeholders (SORT_SLOT, CATEGORY_SLOT, QUEST_SLOT) são injetados automaticamente.
    • Listas de missões roláveis — Os slots de missão e categoria seguem os viewports scrollable, paginated e frame — construa grades de missões roláveis de qualquer tamanho (desde a 0.3.0).
    • Ordenação dinâmica — Alterne entre Todas → Não iniciadas → Ativas → Concluídas, com uma exibição de botão por modo (rótulo, lore, item personalizado).
    • Rastreamento de missões — Rastreie missões ativas com indicadores de prioridade por meio do sistema de rastreamento nativo do QuestExtension.
    • Design de som completo — Configure sons para abertura do menu, cliques, rolagem e eventos de rastrear/parar de rastrear missão.
    • Integração com o BlueMap — Exiba ícones de missão no BlueMap com rótulos dinâmicos e regras de visibilidade (versão BTC).

Arquitetura

Biblioteca de entradas

Configuração

Sistema de categorias

  • Quest Category — Define uma categoria com título, ícone, pai e critérios de visibilidade.
    • Quest Assignment — Vincula entradas de missão a uma categoria, com ordenação e sobrescritas por status.
  • Category Menu — Projete menus com pools de layout declarativos, slots de placeholder e botões de ordenação por modo.
    • Quest Lore — Sobrescreva as linhas de lore por missão e por status.

Início rápido

  • 1. Adicionar configuração global (opcional) — Crie uma entrada Quest Codex Config em um JSON de página para personalizar sons e mensagens. A extensão funciona de imediato sem isso — ela usa padrões sensatos. json { "type": "quest_codex", "id": "my_codex_config", "defaultRows": 5, "nowTrackingMessage": "<green>Now tracking: {quest}</green>" } Coloque-a em qualquer página compilada sob plugins/Typewriter/pages/. → Quest Codex Config

  • 2. Definir categorias — Adicione uma entrada Quest Category. Ela define um grupo lógico de missões no códice com seu título de exibição, ícone e um pai opcional para aninhamento. Campos principais: - category — Nome interno único (ex.: main_quests) - title — Título de exibição mostrado aos jogadores (MiniMessage) - icon — Item mostrado na lista de pai/categoria - parent — Deixe vazio para o nível superior, ou defina para aninhar → Quest Category

  • 3. Atribuir missões — Adicione uma entrada Quest Assignment para vincular suas missões do QuestExtension a uma categoria. Controle a ordenação e as sobrescritas por status. json { "type": "quest_assignment", "id": "assign_main", "category": "main_quests", "questRefs": ["quest:quest_main_1", "quest:quest_main_2"], "orders": [0, 1] } → Quest Assignment

  • 4. Projetar menus — Adicione uma entrada Category Menu para cada categoria à qual você queira uma GUI personalizada. Use o pool de layout para posicionar: - CATEGORY_SLOT — Ícones de categoria autoinjetados (menu principal) - QUEST_SLOT — Botões de missão autoinjetados (menu de categoria) - SORT_SLOT — Botão de ordenação dinâmico autoinjetado - Itens GUI padrão — Itens decorativos, preenchimentos, botões estáticos O pool de layout usa o guiType CUSTOM. Tudo é posicional: coloque os itens em coordenadas (x, y). → Category Menu

  • 5. Abrir o menu — Acesse o códice por comando: /tw codex → menu principal do códice (desde a 0.3.0) /tw codex <category> → uma categoria específica Exemplos: - /tw codex main_quests — Abre a categoria de missões principais - /tw codex daily_tasks — Abre as tarefas diárias > Menu principal: crie uma entrada category_menu com uma category vazia e marcadores CATEGORY_SLOT, ou construa o hub como um menu open_gui da extensão GUI cujos botões executam codex:open <category> e referencie-o no mainMenuTrigger da config — /tw codex e o botão BACK do códice o abrirão então.

Comandos

ComandoPermissionDescrição
/tw codextypewriter.codex.openAbrir o menu principal do códice (category_menu de categoria vazia, ou o mainMenuTrigger da config).
/tw codex <category>typewriter.codex.openAbrir diretamente uma categoria de missões específica. Autocompletar disponível.

Placeholders

Prefixo: %typewriter_*%

Placeholders globais
PlaceholderRetornaExemplo
%typewriter_total_quests%Número total de missões em todas as categorias42
%typewriter_total_completed%Total de missões concluídas15
%typewriter_total_in_progress%Total de missões em progresso5
%typewriter_total_not_started%Total de missões não iniciadas22
%typewriter_total_progress%Concluídas/Total formatado15/42
Placeholders por categoria

Substitua <name> pelo identificador da categoria (ex.: main_quests).

PlaceholderRetornaExemplo
%typewriter_category_<name>%Total de missões na categoria10
%typewriter_category_<name>_completed%Concluídas na categoria3
%typewriter_category_<name>_in_progress%Em progresso na categoria2
%typewriter_category_<name>_not_started%Não iniciadas na categoria5
%typewriter_category_<name>_progress%Progresso formatado3/10

Aliases: _inprogress% e _notstarted% também funcionam.

Variáveis de modelo (em campos @Placeholder)
VariávelContextoSubstituída por
{quest}Modelos de mensagemO nome de exibição da missão
{completed}Mensagens de progressoNúmero de missões concluídas
{total}Mensagens de progressoTotal de missões na categoria

Permissões

PermissionDescrição
typewriter.codex.openAbrir o códice de missões.

Dependências

ExtensionObrigatórioUso
QuestExtensionObrigatórioMotor de missões principal.
GUI ExtensionObrigatórioRenderização de menus e sistema de pool de layout.
PlaceholderAPIOpcionalPara os campos @Placeholder.