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.
- Quellcode — Quellen auf GitHub ansehen.
- Releases herunterladen — Die neuesten JARs beziehen.
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,paginatedundframe— 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).
- Layout-Pools — Gestalte jedes Menü über deklarative Layout-Pools. Platzhalter (
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 unterplugins/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 KategorieBeispiele: -/tw codex main_quests— Öffnet die Kategorie der Hauptquests -/tw codex daily_tasks— Öffnet die täglichen Aufgaben > Hauptmenü: Erstelle entweder einencategory_menu-Eintrag mit einer leerencategoryundCATEGORY_SLOT-Markierungen, oder baue das Hub alsopen_gui-Menü der GUI-Erweiterung, dessen Schaltflächencodex:open <category>ausführen, und referenziere es immainMenuTriggerder Konfiguration —/tw codexund dieBACK-Schaltfläche des Codex öffnen es dann.
Befehle
| Befehl | Permission | Beschreibung |
|---|---|---|
/tw codex | typewriter.codex.open | Das Hauptmenü des Codex öffnen (category_menu mit leerer Kategorie oder der mainMenuTrigger der Konfiguration). |
/tw codex <category> | typewriter.codex.open | Eine bestimmte Questkategorie direkt öffnen. Tab-Vervollständigung verfügbar. |
Platzhalter
Präfix: %typewriter_*%
Globale Platzhalter
| Platzhalter | Gibt zurück | Beispiel |
|---|---|---|
%typewriter_total_quests% | Gesamtzahl der Quests über alle Kategorien | 42 |
%typewriter_total_completed% | Gesamtzahl der abgeschlossenen Quests | 15 |
%typewriter_total_in_progress% | Gesamtzahl der laufenden Quests | 5 |
%typewriter_total_not_started% | Gesamtzahl der nicht begonnenen Quests | 22 |
%typewriter_total_progress% | Abgeschlossen/Gesamt formatiert | 15/42 |
Platzhalter pro Kategorie
Ersetze <name> durch die Kategoriekennung (z. B. main_quests).
| Platzhalter | Gibt zurück | Beispiel |
|---|---|---|
%typewriter_category_<name>% | Gesamtzahl der Quests in der Kategorie | 10 |
%typewriter_category_<name>_completed% | Abgeschlossen in der Kategorie | 3 |
%typewriter_category_<name>_in_progress% | Laufend in der Kategorie | 2 |
%typewriter_category_<name>_not_started% | Nicht begonnen in der Kategorie | 5 |
%typewriter_category_<name>_progress% | Fortschritt formatiert | 3/10 |
Aliase:
_inprogress%und_notstarted%funktionieren ebenfalls.
Vorlagenvariablen (in @Placeholder-Feldern)
| Variable | Kontext | Ersetzt durch |
|---|---|---|
{quest} | Nachrichtenvorlagen | Der Anzeigename der Quest |
{completed} | Fortschrittsnachrichten | Anzahl der abgeschlossenen Quests |
{total} | Fortschrittsnachrichten | Gesamtzahl der Quests in der Kategorie |
Berechtigungen
| Permission | Beschreibung |
|---|---|
typewriter.codex.open | Den Quest-Codex öffnen. |
Abhängigkeiten
| Extension | Erforderlich | Verwendung |
|---|---|---|
| QuestExtension | Erforderlich | Kern-Quest-Engine. |
| GUI Extension | Erforderlich | Menü-Rendering und Layout-Pool-System. |
| PlaceholderAPI | Optional | Für @Placeholder-Felder. |