Placeholders
Prefix: %typewriter_*%
Global Placeholders
| Placeholder | Returns | Example |
|---|---|---|
%typewriter_total_quests% | Total quest count across all categories | 42 |
%typewriter_total_completed% | Total completed quests | 15 |
%typewriter_total_in_progress% | Total in-progress quests | 5 |
%typewriter_total_not_started% | Total not-started quests | 22 |
%typewriter_total_progress% | Completed/Total formatted | 15/42 |
Category Placeholders
Replace <name> with the category identifier (e.g., main_quests for a category named main_quests).
| Placeholder | Returns | Example |
|---|---|---|
%typewriter_category_<name>% | Total quests in category | 10 |
%typewriter_category_<name>_completed% | Completed in category | 3 |
%typewriter_category_<name>_in_progress% | In progress in category | 2 |
%typewriter_category_<name>_not_started% | Not started in category | 5 |
%typewriter_category_<name>_progress% | Progress formatted | 3/10 |
Note: The category name is used exactly as defined (case-sensitive). Spaces and special characters are preserved — do not replace spaces with underscores. For a category named
main_quests, use%typewriter_category_main_quests_progress%.
Multiple Tracking Placeholders
Tracking indexes start at 1. The most recently selected quest is normally
the primary quest exposed by Typewriter's native quest tracker.
These placeholders require a player context. Outside a player context they return nothing.
| Placeholder | Returns |
|---|---|
%typewriter_codex_tracked_count% | Number of tracked quests |
%typewriter_codex_tracked_limit% | Configured tracking limit |
%typewriter_codex_tracked_multi_enabled% | Whether multiple tracking is enabled |
%typewriter_codex_tracked_has_any% | Whether at least one quest is tracked |
%typewriter_codex_tracked_ids% | Comma-separated quest IDs |
%typewriter_codex_tracked_names% | Comma-separated quest names |
%typewriter_codex_tracked_names_lines% | One quest name per line |
%typewriter_codex_tracked_primary_id% | Primary/HUD quest ID |
%typewriter_codex_tracked_primary_name% | Primary/HUD quest name |
%typewriter_codex_tracked_has_<quest_id>% | Whether a specific quest is tracked |
%typewriter_codex_tracked_<n>_id% | Indexed quest ID |
%typewriter_codex_tracked_<n>_name% | Indexed quest display name |
%typewriter_codex_tracked_<n>_status% | Indexed quest status |
%typewriter_codex_tracked_<n>_primary% | Whether the indexed quest is primary |
%typewriter_codex_tracked_<n>_objective_count% | Visible objective count |
%typewriter_codex_tracked_<n>_objectives% | Comma-separated visible objectives |
%typewriter_codex_tracked_<n>_objectives_lines% | One visible objective per line |
%typewriter_codex_tracked_<n>_priority% | Highest visible objective priority |
Indexes outside the tracked list return an empty string.
Menu Examples
Use indexed placeholders when you want a custom OmniGUI menu that mirrors the tracked quest list:
| Use case | Placeholder |
|---|---|
| Header count | %typewriter_codex_tracked_count%/%typewriter_codex_tracked_limit% |
| First tracked quest name | %typewriter_codex_tracked_1_name% |
| First tracked quest status | %typewriter_codex_tracked_1_status% |
| First tracked quest objectives | %typewriter_codex_tracked_1_objectives_lines% |
| Empty-state check | %typewriter_codex_tracked_has_any% |
| Check one quest id | %typewriter_codex_tracked_has_my_quest_id% |
For most menus, prefer TRACKED_QUEST_SLOT markers in a category_menu with category: "@tracked". Use placeholders when you need text-only counters, headers, scoreboards, or external menus.
Template Variables
Variables replaced inside @Placeholder fields within entry configurations (not PAPI placeholders):
| Variable | Available In | Replaced With |
|---|---|---|
{quest} | quest_codex messages | The quest's display name |
{completed} | categoryProgressMessage | Number of completed quests |
{total} | categoryProgressMessage | Total quests in the category |
{max} | trackingLimitMessage | Configured maximum tracked quests |