Quest Codex Architecture
The Quest Codex extension operates on a strictly decoupled architecture. Categories, quests, and UI menus are completely separated and only linked via declarative entries.1. The Core Relationship
At the heart of the system is the Quest Category. Quests are never hardcoded into menus. Instead, they are assigned to a category.- Quest Category: Defines the identity (e.g., “Main Quests”, “Side Quests”), the icon shown in parent menus, and visibility requirements.
- Quest Assignment: Takes existing quests from the
QuestExtensionand assigns them to a specific category. It also determines the order in which they appear. - Quest Lore: Optionally overrides the default lore of a quest based on its status (Not Started, In Progress, Completed).
2. Navigational Defaults & The UI
The Quest Codex uses the GUI Extension’s layout pool system to render everything. When a player opens a category (e.g.,/tw codex main_quests), the extension:
- Finds the
category_menulinked to that category. - Evaluates the Layout Pool.
- Dynamically injects quests assigned to that category into any layout component requesting the
QUEST_SLOTplaceholder. - Dynamically injects the sorting button into the
SORT_SLOT.
3. BlueMap Integration
The codex automatically syncs with BlueMap (if installed) to display markers for quests. The integration reads theBlueMapIconEntry definitions mapped to quests and manages their visibility based on the player’s progression state.