
Paginated Advancements & Custom Frames — Minecraft Java Edition 1.18.1 - 26.1+
Dependencies · Loader: Fabric, NeoForge, Quilt · Minecraft version: 1.18.1 - 26.1+ · Mod version: 2.8.2 · Required dependencies: Fabric…
Dependencies · Loader: Fabric, NeoForge, Quilt · Minecraft version: 1.18.1 - 26.1+ · Mod version: 2.8.2 · Required dependencies: Fabric API, Cloth Config API (for Fabric/Quilt and NeoForge versions prior to 2.8.0) The v
Dependencies
· Loader: Fabric, NeoForge, Quilt
· Minecraft version: 1.18.1 - 26.1+
· Mod version: 2.8.2
· Required dependencies: Fabric API, Cloth Config API (for Fabric/Quilt and NeoForge versions prior to 2.8.0)
The vanilla advancements interface limits the display of tabs. The standard window has a fixed width and height, designed for only six tabs. If you install a large modpack where each major mod adds its own progression branch, the new tabs start to extend beyond the screen edges, overlap one another, or disappear from the interface entirely. The Paginated Advancements & Custom Frames modification expands the standard window of the advancements menu by adding page-based navigation, a system for pinning priority branches, a built-in debugging tool, and support for entirely new frames for icons via resource packs or datapacks.
Technical operating principle and resolving the limitations of the vanilla interface
The vanilla class AdvancementsScreen uses hardcoded coordinates to render the advancements window (the size is 252 by 140 pixels). Controls such as the tab grid and the background rendering are tied to static window dimensions, which makes scaling to a high monitor resolution impossible. The class AdvancementTab also has rigid bounds for drawing the tab icons along the perimeter of the main frame.
Paginated Advancements & Custom Frames introduces changes directly into the rendering logic of the client's graphical interface by means of Mixin injections into the classes MixinAdvancementsScreen and MixinAdvancementTab. Instead of using hardcoded constants, the modification intercepts the initialization of the interface and reads the current dimensions of the game window. Based on this data, the optimal size of the advancements frame is calculated, which expands adaptively, occupying most of the screen.
The system automatically groups all registered tabs into separate pages (pagination). The algorithm calculates the maximum number of tabs that can fit within the upper and lower panels of the window using a formula that accounts for the window's width and the configured margins. If the number of advancement branches exceeds the page limit, the modification creates additional virtual pages and adds interactive arrow buttons at the bottom of the interface. When switching pages, the renderer hides the tabs from inactive pages, preventing the working memory from being overloaded with graphical objects and eliminating element-overlap conflicts.
Key capabilities and functionality
The main function of Paginated Advancements & Custom Frames is the reorganization of the graphical advancements menu. The modification offers several practical tools for navigation:
· Dynamic pagination: Adds page-switching arrows to the bottom corner of the advancements window. Players can browse any number of tabs, even if more than fifty modifications with their own task chains are activated in the pack.
· Pinning tabs: The user can add any tab to the favorites list. For this purpose, there is a special star-shaped button on each tab. A pinned tab is automatically moved to the first page and displayed at the beginning of the list, regardless of its alphabetical or in-game sorting order.
· Saving the session state: The mod remembers the last opened advancements tab. If the menu is closed and reopened with the L key, the interface will show the same tab where the player left off, instead of resetting to the first default tab.
· Advancement Debugger: A special mode for pack developers and quest authors. It is activated in the configuration or by enabling advanced tooltips (the F3 + H keys). When you hover the cursor over an advancement icon, an additional tooltip window with technical information is displayed: the internal identifier (for example, minecraft:adventure/arbalistic) and a list of triggers (conditions) required to complete it. The key combination Ctrl + C copies the identifier of the selected advancement to the clipboard.
Settings, compatibility, and ecosystem
The user can change the display parameters of the advancements menu via the configuration file. The location and format of the file depend on the mod loader:
· Fabric and Quilt: For the settings to work, the Cloth Config API library must be installed. The parameters are written to the file paginatedadvancements.json (or paginatedadvancements.json5) in the config folder.
· NeoForge: Mod versions starting from 2.8.0 use NeoForge's built-in configuration system, which eliminates the need for additional libraries. The file is generated under the name paginatedadvancements-client.toml in the config folder.
The following key parameters are available in the configuration file:
· showDebugTooltips – a boolean value (true or false) that controls the display of technical information for debugging advancements.
· maxDebugLines – an integer that limits the maximum number of trigger lines in the tooltip window, preventing the text from extending beyond the screen when there is a large number of requirements.
· disableBackgroundFade – a parameter to disable the dimming of the game background while viewing the advancements menu.
· spacing – a step in pixels for adjusting the distance between adjacent tabs on the panel.
· enablePinning – allows or forbids players to pin selected tabs.
The modification supports an icon customization system through the Custom Frames mechanism. By default, Minecraft offers three types of frames: task (an ordinary task), goal (a goal), and challenge (a challenge). The mod allows you to create new types using datapacks.
To add a new frame, you need to create a JSON file in the datapack at the path:
assets/<mod_identifier>/advancement_frame_types/<frame_name>.json
Example of the file contents:
{ |
The textures for the frame are placed at the paths:
· assets/<mod_identifier>/textures/gui/sprites/advancements/<frame_name>_unobtained.png – the appearance of the frame before the advancement is completed.
· assets/<mod_identifier>/textures/gui/sprites/advancements/<frame_name>_obtained.png – the appearance of the frame after completion.
To bind the created frame to a specific advancement, a mapping file is used in the datapack at the path assets/<mod_identifier>/advancement_frames/<file_name>.json:
[ |
The mod was developed as a purely client-side utility, so it does not require installation on the server. It is fully compatible with large industrial and magic mods (such as Create, Ender IO, Botania) that add complex quest systems and numerous advancement tabs. For users of the old Forge loader, an unofficial adaptation of the mod called ForgedPaginatedAdvancements is available. To run the latest versions of the mod on the NeoForge 26.1+ platform, the use of the Java 25 runtime environment is mandatory.
Conclusion
Paginated Advancements & Custom Frames effectively solves the problem of the limited space of the vanilla advancements interface, which becomes critical in large modpacks. Unlike its counterpart Better Advancements, which mainly scales the window without adding pages, this mod offers a clear division into pages and convenient tab pinning. The modification simplifies the work of modified-pack developers thanks to the built-in debugger and the flexible system for registering new frame types via the JSON structures of datapacks. The only noticeable limitation is the need to create additional client resource packs for the correct display of the custom graphical frames.
Installation
A typical installation takes about 5 minutes. The flow is the same; only the loader and the matching build differ.
Installing Mods in Minecraft: A Guide for Forge, FabricLearn how to install mods in Minecraft with this step-by-step guide for Forge and Fabric. Improve your game with new features, tools, and mechanics!Open the install guide










