
Paginated Advancements & Custom Frames — Minecraft Java Edition 1.18.1 - 26.1+
Abhängigkeiten · Loader: Fabric, NeoForge, Quilt · Minecraft-Version: 1.18.1 - 26.1+ · Mod-Version: 2.8.2 · Erforderliche Abhängigkeiten…
Abhängigkeiten · Loader: Fabric, NeoForge, Quilt · Minecraft-Version: 1.18.1 - 26.1+ · Mod-Version: 2.8.2 · Erforderliche Abhängigkeiten: Fabric API, Cloth Config API (für Fabric/Quilt- und NeoForge-Versionen vor 2.8.0)
Abhängigkeiten
· Loader: Fabric, NeoForge, Quilt
· Minecraft-Version: 1.18.1 - 26.1+
· Mod-Version: 2.8.2
· Erforderliche Abhängigkeiten: Fabric API, Cloth Config API (für Fabric/Quilt- und NeoForge-Versionen vor 2.8.0)
Die Vanilla-Oberfläche der Fortschritte begrenzt die Anzeige von Tabs. Das Standardfenster hat eine feste Breite und Höhe, die nur auf sechs Tabs ausgelegt sind. Wenn man ein großes Modpaket installiert, bei dem jede große Mod ihren eigenen Fortschrittszweig hinzufügt, beginnen neue Tabs über den Bildschirmrand hinauszuragen, sich gegenseitig zu überlappen oder vollständig aus der Oberfläche zu verschwinden. Die Modifikation Paginated Advancements & Custom Frames erweitert das Standardfenster des Fortschrittsmenüs, indem sie eine seitenweise Navigation, ein System zum Anheften priorisierter Zweige, ein integriertes Debugging-Werkzeug und die Unterstützung völlig neuer Rahmen für Symbole mithilfe von Ressourcenpaketen oder Datenpaketen hinzufügt.
Technisches Funktionsprinzip und Lösung der Einschränkungen der Vanilla-Oberfläche
Die Vanilla-Klasse AdvancementsScreen verwendet fest codierte Koordinaten zum Rendern des Fortschrittsfensters (die Größe beträgt 252 mal 140 Pixel). Bedienelemente wie das Tab-Raster und das Hintergrund-Rendering sind an statische Fenstergrößen gebunden, was eine Skalierung für hohe Monitorauflösungen unmöglich macht. Die Klasse AdvancementTab hat ebenfalls feste Grenzen für das Zeichnen der Tab-Symbole entlang des Rahmens des Hauptframes.
Paginated Advancements & Custom Frames führt Änderungen direkt in die Rendering-Logik der grafischen Client-Oberfläche mithilfe von Mixin-Injektionen in die Klassen MixinAdvancementsScreen und MixinAdvancementTab ein. Anstatt fest codierte Konstanten zu verwenden, fängt die Modifikation die Initialisierung der Oberfläche ab und liest die aktuellen Größen des Spielfensters aus. Auf Grundlage dieser Daten wird die optimale Größe des Fortschrittsframes berechnet, der sich adaptiv erweitert und den größten Teil des Bildschirms einnimmt.
Das System gruppiert automatisch alle registrierten Tabs in einzelne Seiten (Paginierung). Der Algorithmus berechnet die maximale Anzahl von Tabs, die innerhalb der oberen und unteren Leisten des Fensters Platz finden, anhand einer Formel, die die Fensterbreite und die festgelegten Abstände berücksichtigt. Wenn die Anzahl der Fortschrittszweige das Seitenlimit überschreitet, erstellt die Modifikation zusätzliche virtuelle Seiten und fügt interaktive Pfeilschaltflächen im unteren Bereich der Oberfläche hinzu. Beim Umschalten der Seiten blendet der Renderer die Tabs inaktiver Seiten aus, was eine Überlastung des Arbeitsspeichers mit Grafikobjekten verhindert und Überlagerungskonflikte der Elemente beseitigt.
Wichtige Funktionen und Funktionsumfang
Die Hauptfunktion von Paginated Advancements & Custom Frames ist die Neuorganisation des grafischen Fortschrittsmenüs. Die Modifikation bietet mehrere praktische Werkzeuge für die Navigation:
· Dynamische Paginierung: Fügt Pfeile zum Umschalten der Seiten in der unteren Ecke des Fortschrittsfensters hinzu. Spieler können eine beliebige Anzahl von Tabs durchblättern, selbst wenn im Paket mehr als fünfzig Modifikationen mit eigenen Aufgabenketten aktiviert sind.
· Anheften von Tabs: Der Benutzer kann jeden beliebigen Tab zur Favoritenliste hinzufügen. Dafür gibt es eine spezielle Schaltfläche in Form eines Sternchens auf jedem Tab. Ein angehefteter Tab wird automatisch auf die erste Seite verschoben und am Anfang der Liste angezeigt, unabhängig von seiner alphabetischen oder spielinternen Sortierreihenfolge.
· Speichern des Sitzungszustands: Die Mod merkt sich den zuletzt geöffneten Fortschritts-Tab. Beim Schließen des Menüs und dem erneuten Öffnen über die Taste L zeigt die Oberfläche denselben Tab an, bei dem der Spieler aufgehört hat, anstatt auf den ersten Standard-Tab zurückzusetzen.
· Fortschritts-Debugger (Advancement Debugger): Ein spezieller Modus für Paket-Entwickler und Quest-Autoren. Er wird in der Konfiguration oder beim Aktivieren der erweiterten Tooltips (Tasten F3 + H) aktiviert. Beim Bewegen des Cursors über ein Fortschrittssymbol wird ein zusätzliches Tooltip-Fenster mit technischen Informationen angezeigt: dem internen Bezeichner (zum Beispiel minecraft:adventure/arbalistic) und einer Liste der Trigger (Bedingungen), die zur Erfüllung erforderlich sind. Die Tastenkombination Ctrl + C kopiert den Bezeichner des markierten Fortschritts in die Zwischenablage.
Konfiguration, Kompatibilität und Ökosystem
Die Anzeigeparameter des Fortschrittsmenüs kann der Benutzer über die Konfigurationsdatei ändern. Speicherort und Format der Datei hängen vom Mod-Loader ab:
· Fabric und Quilt: Damit die Einstellungen funktionieren, ist die Installation der Bibliothek Cloth Config API erforderlich. Die Parameter werden in die Datei paginatedadvancements.json (oder paginatedadvancements.json5) im Ordner config geschrieben.
· NeoForge: Mod-Versionen ab 2.8.0 verwenden das integrierte Konfigurationssystem von NeoForge, wodurch zusätzliche Bibliotheken überflüssig werden. Die Datei wird unter dem Namen paginatedadvancements-client.toml im Ordner config generiert.
In der Konfigurationsdatei stehen folgende Schlüsselparameter zur Verfügung:
· showDebugTooltips – ein boolescher Wert (true oder false), der die Anzeige technischer Informationen für das Debugging von Fortschritten steuert.
· maxDebugLines – eine Ganzzahl, die die maximale Anzahl von Trigger-Zeilen im Tooltip-Fenster begrenzt und verhindert, dass der Text bei einer großen Anzahl von Anforderungen über den Bildschirmrand hinausragt.
· disableBackgroundFade – ein Parameter zum Deaktivieren der Abdunklung des Spielhintergrunds während der Ansicht des Fortschrittsmenüs.
· spacing – die Schrittweite in Pixeln zur Anpassung des Abstands zwischen benachbarten Tabs in der Leiste.
· enablePinning – erlaubt oder verbietet Spielern das Anheften ausgewählter Tabs.
Die Modifikation unterstützt ein System zur Anpassung von Symbolen über den Mechanismus Custom Frames (benutzerdefinierte Rahmen). Standardmäßig bietet Minecraft drei Rahmentypen: task (normale Aufgabe), goal (Ziel) und challenge (Herausforderung). Die Mod ermöglicht es, neue Typen mithilfe von Datenpaketen zu erstellen.
Um einen neuen Rahmen hinzuzufügen, muss man eine JSON-Datei im Datenpaket unter folgendem Pfad erstellen:
assets/<mod_bezeichner>/advancement_frame_types/<rahmenname>.json
Beispiel für den Inhalt der Datei:
{ |
Die Texturen für den Rahmen werden unter folgenden Pfaden abgelegt:
· assets/<mod_bezeichner>/textures/gui/sprites/advancements/<rahmenname>_unobtained.png – Aussehen des Rahmens vor dem Erfüllen des Fortschritts.
· assets/<mod_bezeichner>/textures/gui/sprites/advancements/<rahmenname>_obtained.png – Aussehen des Rahmens nach dem Erfüllen.
Um den erstellten Rahmen einem bestimmten Fortschritt zuzuordnen, verwendet man eine Mapping-Datei im Datenpaket unter dem Pfad assets/<mod_bezeichner>/advancement_frames/<dateiname>.json:
[ |
Die Mod wurde als reines Client-Werkzeug entwickelt und muss daher nicht auf dem Server installiert werden. Sie ist vollständig kompatibel mit großen Industrie- und Magie-Mods (wie Create, Ender IO, Botania), die komplexe Quest-Systeme und zahlreiche Fortschritts-Tabs hinzufügen. Für Benutzer des alten Loaders Forge ist eine inoffizielle Anpassung der Mod unter dem Namen ForgedPaginatedAdvancements verfügbar. Für den Start der neuesten Mod-Versionen auf der Plattform NeoForge 26.1+ ist die Verwendung der Laufzeitumgebung Java 25 zwingend erforderlich.
Fazit
Paginated Advancements & Custom Frames löst effektiv das Problem des begrenzten Platzes der Vanilla-Fortschrittsoberfläche, das in großen Modpaketen kritisch wird. Im Gegensatz zum Pendant Better Advancements, das das Fenster überwiegend skaliert, ohne Seiten hinzuzufügen, bietet diese Mod eine klare Aufteilung in Seiten und ein bequemes Anheften von Tabs. Die Modifikation erleichtert die Arbeit von Entwicklern modifizierter Pakete dank des integrierten Debuggers und des flexiblen Systems zur Registrierung neuer Rahmentypen über die JSON-Strukturen von Datenpaketen. Die einzige nennenswerte Einschränkung ist die Notwendigkeit, zusätzliche Client-Ressourcenpakete zu erstellen, damit benutzerdefinierte grafische Rahmen korrekt angezeigt werden.
Installation
Eine typische Installation dauert etwa 5 Minuten. Der Ablauf ist gleich; nur Loader und der passende Build unterscheiden sich.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











