Aller au contenu principal

Quest Codex

L'extension Quest Codex fournit un système de GUI entièrement personnalisable permettant aux joueurs de parcourir, suivre et gérer des quêtes organisées par catégories hiérarchiques. Chaque menu est construit via des pools de disposition déclaratifs propulsés par l'extension GUI — aucun menu codé en dur, personnalisation infinie.

Fonctionnalités

  • Catégories hiérarchiques — Imbriquez des catégories via des relations parent/enfant. Les sous-catégories héritent de la visibilité de leur parent.
    • Pools de disposition — Concevez chaque menu via des pools de disposition déclaratifs. Les placeholders (SORT_SLOT, CATEGORY_SLOT, QUEST_SLOT) sont injectés automatiquement.
    • Listes de quêtes défilantes — Les emplacements de quêtes et de catégories suivent les viewports scrollable, paginated et frame — construisez des grilles de quêtes défilantes de toute taille (depuis la 0.3.0).
    • Tri dynamique — Faites défiler Tout → Non commencé → Actif → Terminé, avec un affichage de bouton par mode (libellé, description, item personnalisé).
    • Suivi des quêtes — Suivez les quêtes actives avec des indicateurs de priorité, via le système de suivi natif de QuestExtension.
    • Design sonore complet — Configurez des sons pour l'ouverture du menu, les clics, le défilement et les événements de suivi/désuivi de quête.
    • Intégration BlueMap — Affichez des icônes de quête sur BlueMap avec des libellés dynamiques et des règles de visibilité (version BTC).

Architecture

Bibliothèque d'entrées

Configuration

  • Quest Codex Config — Sons globaux, nombre de lignes par défaut et modèles de messages.

Système de catégories

  • Quest Category — Définit une catégorie avec titre, icône, parent et critères de visibilité.
    • Quest Assignment — Lie des entrées de quête à une catégorie, avec ordre et surcharges par statut.
  • Category Menu — Concevez des menus avec des pools de disposition déclaratifs, des emplacements de placeholders et des boutons de tri par mode.
    • Quest Lore — Surchargez les lignes de description par quête et par statut.

Démarrage rapide

  • 1. Ajouter une configuration globale (facultatif) — Créez une entrée Quest Codex Config dans un JSON de page pour personnaliser les sons et les messages. L'extension fonctionne d'emblée sans cela — elle utilise des valeurs par défaut raisonnables. json { "type": "quest_codex", "id": "my_codex_config", "defaultRows": 5, "nowTrackingMessage": "<green>Now tracking: {quest}</green>" } Placez-la dans n'importe quelle page compilée sous plugins/Typewriter/pages/. → Quest Codex Config

  • 2. Définir des catégories — Ajoutez une entrée Quest Category. Elle définit un groupe logique de quêtes dans le codex avec son titre d'affichage, son icône et un parent optionnel pour l'imbrication. Champs clés : - category — Nom interne unique (par ex. main_quests) - title — Titre d'affichage montré aux joueurs (MiniMessage) - icon — Item affiché dans la liste parente/catégorie - parent — Laissez vide pour le niveau supérieur, ou définissez-le pour imbriquer → Quest Category

  • 3. Assigner des quêtes — Ajoutez une entrée Quest Assignment pour lier vos quêtes QuestExtension à une catégorie. Contrôlez l'ordre et les surcharges par statut. 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. Concevoir les menus — Ajoutez une entrée Category Menu pour chaque catégorie dont vous voulez une GUI personnalisée. Utilisez le pool de disposition pour placer : - CATEGORY_SLOT — Icônes de catégorie auto-injectées (menu principal) - QUEST_SLOT — Boutons de quête auto-injectés (menu de catégorie) - SORT_SLOT — Bouton de tri dynamique auto-injecté - Items GUI standard — Items décoratifs, remplissages, boutons statiques Le pool de disposition utilise le guiType CUSTOM. Tout est positionnel : placez les items aux coordonnées (x, y). → Category Menu

  • 5. Ouvrir le menu — Accédez au codex via une commande : /tw codex → menu principal du codex (depuis la 0.3.0) /tw codex <category> → une catégorie précise Exemples : - /tw codex main_quests — Ouvre la catégorie des quêtes principales - /tw codex daily_tasks — Ouvre les tâches quotidiennes > Menu principal : créez soit une entrée category_menu avec une category vide et des marqueurs CATEGORY_SLOT, soit construisez le hub comme un menu open_gui de l'extension GUI dont les boutons exécutent codex:open <category> et référencez-le dans le mainMenuTrigger de la config — /tw codex et le bouton BACK du codex l'ouvriront alors.

Commandes

CommandePermissionDescription
/tw codextypewriter.codex.openOuvrir le menu principal du codex (category_menu à catégorie vide, ou le mainMenuTrigger de la config).
/tw codex <category>typewriter.codex.openOuvrir directement une catégorie de quêtes précise. Tab-completion disponible.

Placeholders

Préfixe : %typewriter_*%

Placeholders globaux
PlaceholderRenvoieExemple
%typewriter_total_quests%Nombre total de quêtes toutes catégories confondues42
%typewriter_total_completed%Total des quêtes terminées15
%typewriter_total_in_progress%Total des quêtes en cours5
%typewriter_total_not_started%Total des quêtes non commencées22
%typewriter_total_progress%Terminées/Total formaté15/42
Placeholders par catégorie

Remplacez <name> par l'identifiant de la catégorie (par ex. main_quests).

PlaceholderRenvoieExemple
%typewriter_category_<name>%Total des quêtes de la catégorie10
%typewriter_category_<name>_completed%Terminées dans la catégorie3
%typewriter_category_<name>_in_progress%En cours dans la catégorie2
%typewriter_category_<name>_not_started%Non commencées dans la catégorie5
%typewriter_category_<name>_progress%Progression formatée3/10

Alias : _inprogress% et _notstarted% fonctionnent aussi.

Variables de modèle (dans les champs @Placeholder)
VariableContexteRemplacée par
{quest}Modèles de messageLe nom d'affichage de la quête
{completed}Messages de progressionNombre de quêtes terminées
{total}Messages de progressionTotal des quêtes de la catégorie

Permissions

PermissionDescription
typewriter.codex.openOuvrir le codex de quêtes.

Dépendances

ExtensionRequisUtilisation
QuestExtensionRequisMoteur de quêtes principal.
GUI ExtensionRequisRendu des menus et système de pool de disposition.
PlaceholderAPIOptionnelPour les champs @Placeholder.