Zum Hauptinhalt springen

Quest Codex

Die Quest-Codex-Erweiterung bietet ein vollständig anpassbares GUI-System, mit dem Spieler nach hierarchischen Kategorien organisierte Quests durchsuchen, verfolgen und verwalten können. Jedes Menü wird über deklarative Layout-Pools erstellt, die von der GUI-Erweiterung angetrieben werden — keine fest kodierten Menüs, unendliche Anpassung.

Funktionen

  • Hierarchische Kategorien — Verschachtele Kategorien über Eltern-/Kind-Beziehungen. Unterkategorien erben die Sichtbarkeit ihrer übergeordneten Kategorie.
    • Layout-Pools — Gestalte jedes Menü über deklarative Layout-Pools. Platzhalter (SORT_SLOT, CATEGORY_SLOT, QUEST_SLOT) werden automatisch eingefügt.
    • Scrollbare Questlisten — Quest- und Kategorie-Slots folgen den Viewports scrollable, paginated und frame — baue scrollbare Questraster beliebiger Größe (seit 0.3.0).
    • Dynamische Sortierung — Wechsle durch Alle → Nicht begonnen → Aktiv → Abgeschlossen, mit einer Schaltflächenanzeige pro Modus (Beschriftung, Lore, benutzerdefinierter Gegenstand).
    • Questverfolgung — Verfolge aktive Quests mit Prioritätsindikatoren über das native Verfolgungssystem von QuestExtension.
    • Vollständiges Sounddesign — Konfiguriere Sounds für Menüöffnung, Klicks, Scrollen sowie Quest-Verfolgungs-/Entfolgungsereignisse.
    • BlueMap-Integration — Zeige Questsymbole auf BlueMap mit dynamischen Beschriftungen und Sichtbarkeitsregeln an (BTC-Version).

Architektur

Eintragsbibliothek

Konfiguration

  • Quest Codex Config — Globale Sounds, Standardanzahl der Zeilen und Nachrichtenvorlagen.

Kategoriesystem

  • Quest Category — Definiert eine Kategorie mit Titel, Symbol, übergeordneter Kategorie und Sichtbarkeitskriterien.
    • Quest Assignment — Verknüpft Questeinträge mit einer Kategorie, mit Reihenfolge und Überschreibungen pro Status.

Menü und Anzeige

  • Category Menu — Gestalte Menüs mit deklarativen Layout-Pools, Platzhalter-Slots und Sortierschaltflächen pro Modus.
    • Quest Lore — Überschreibe Lore-Zeilen pro Quest und pro Status.

Schnellstart

  • 1. Globale Konfiguration hinzufügen (optional) — Erstelle einen Quest Codex Config-Eintrag in einem Seiten-JSON, um Sounds und Nachrichten anzupassen. Die Erweiterung funktioniert auch ohne dies sofort — sie verwendet sinnvolle Standardwerte. json { "type": "quest_codex", "id": "my_codex_config", "defaultRows": 5, "nowTrackingMessage": "<green>Now tracking: {quest}</green>" } Platziere ihn auf einer beliebigen kompilierten Seite unter plugins/Typewriter/pages/. → Quest Codex Config

  • 2. Kategorien definieren — Füge einen Quest Category-Eintrag hinzu. Er definiert eine logische Questgruppe im Codex mit Anzeigetitel, Symbol und optionaler übergeordneter Kategorie zur Verschachtelung. Schlüsselfelder: - category — Eindeutiger interner Name (z. B. main_quests) - title — Den Spielern angezeigter Titel (MiniMessage) - icon — In der Eltern-/Kategorieliste angezeigter Gegenstand - parent — Für die oberste Ebene leer lassen oder zur Verschachtelung setzen → Quest Category

  • 3. Quests zuweisen — Füge einen Quest Assignment-Eintrag hinzu, um deine QuestExtension-Quests mit einer Kategorie zu verknüpfen. Steuere Reihenfolge und Überschreibungen pro 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. Menüs gestalten — Füge für jede Kategorie, für die du eine benutzerdefinierte GUI möchtest, einen Category Menu-Eintrag hinzu. Verwende den Layout-Pool, um zu platzieren: - CATEGORY_SLOT — Automatisch eingefügte Kategoriesymbole (Hauptmenü) - QUEST_SLOT — Automatisch eingefügte Questschaltflächen (Kategoriemenü) - SORT_SLOT — Automatisch eingefügte dynamische Sortierschaltfläche - Standard-GUI-Gegenstände — Dekorative Gegenstände, Füllungen, statische Schaltflächen Der Layout-Pool verwendet den guiType CUSTOM. Alles ist positionsbasiert: platziere Gegenstände an (x, y)-Koordinaten. → Category Menu

  • 5. Das Menü öffnen — Greife über einen Befehl auf den Codex zu: /tw codex → Hauptmenü des Codex (seit 0.3.0) /tw codex <category> → eine bestimmte Kategorie Beispiele: - /tw codex main_quests — Öffnet die Kategorie der Hauptquests - /tw codex daily_tasks — Öffnet die täglichen Aufgaben > Hauptmenü: Erstelle entweder einen category_menu-Eintrag mit einer leeren category und CATEGORY_SLOT-Markierungen, oder baue das Hub als open_gui-Menü der GUI-Erweiterung, dessen Schaltflächen codex:open <category> ausführen, und referenziere es im mainMenuTrigger der Konfiguration — /tw codex und die BACK-Schaltfläche des Codex öffnen es dann.

Befehle

BefehlPermissionBeschreibung
/tw codextypewriter.codex.openDas Hauptmenü des Codex öffnen (category_menu mit leerer Kategorie oder der mainMenuTrigger der Konfiguration).
/tw codex <category>typewriter.codex.openEine bestimmte Questkategorie direkt öffnen. Tab-Vervollständigung verfügbar.

Platzhalter

Präfix: %typewriter_*%

Globale Platzhalter
PlatzhalterGibt zurückBeispiel
%typewriter_total_quests%Gesamtzahl der Quests über alle Kategorien42
%typewriter_total_completed%Gesamtzahl der abgeschlossenen Quests15
%typewriter_total_in_progress%Gesamtzahl der laufenden Quests5
%typewriter_total_not_started%Gesamtzahl der nicht begonnenen Quests22
%typewriter_total_progress%Abgeschlossen/Gesamt formatiert15/42
Platzhalter pro Kategorie

Ersetze <name> durch die Kategoriekennung (z. B. main_quests).

PlatzhalterGibt zurückBeispiel
%typewriter_category_<name>%Gesamtzahl der Quests in der Kategorie10
%typewriter_category_<name>_completed%Abgeschlossen in der Kategorie3
%typewriter_category_<name>_in_progress%Laufend in der Kategorie2
%typewriter_category_<name>_not_started%Nicht begonnen in der Kategorie5
%typewriter_category_<name>_progress%Fortschritt formatiert3/10

Aliase: _inprogress% und _notstarted% funktionieren ebenfalls.

Vorlagenvariablen (in @Placeholder-Feldern)
VariableKontextErsetzt durch
{quest}NachrichtenvorlagenDer Anzeigename der Quest
{completed}FortschrittsnachrichtenAnzahl der abgeschlossenen Quests
{total}FortschrittsnachrichtenGesamtzahl der Quests in der Kategorie

Berechtigungen

PermissionBeschreibung
typewriter.codex.openDen Quest-Codex öffnen.

Abhängigkeiten

ExtensionErforderlichVerwendung
QuestExtensionErforderlichKern-Quest-Engine.
GUI ExtensionErforderlichMenü-Rendering und Layout-Pool-System.
PlaceholderAPIOptionalFür @Placeholder-Felder.