
Paginated Advancements & Custom Frames — Minecraft Java Edition 1.18.1 - 26.1+
Залежності · Завантажувач: Fabric, NeoForge, Quilt · Версія Minecraft: 1.18.1 - 26.1+ · Версія мода: 2.8.2 · Обов'язкові залежності: Fabric…
Залежності · Завантажувач: Fabric, NeoForge, Quilt · Версія Minecraft: 1.18.1 - 26.1+ · Версія мода: 2.8.2 · Обов'язкові залежності: Fabric API, Cloth Config API (для Fabric/Quilt та NeoForge версій до 2.8.0) Ванільний
Залежності
· Завантажувач: Fabric, NeoForge, Quilt
· Версія Minecraft: 1.18.1 - 26.1+
· Версія мода: 2.8.2
· Обов'язкові залежності: Fabric API, Cloth Config API (для Fabric/Quilt та NeoForge версій до 2.8.0)
Ванільний інтерфейс досягнень обмежує відображення вкладок. Стандартне вікно має фіксовану ширину та висоту, розраховані лише на шість вкладок. Якщо встановити велику збірку модифікацій, де кожен великий мод додає власну гілку прогресії, нові вкладки починають виходити за межі екрана, накладатися одна на одну або повністю зникати з інтерфейсу. Модифікація Paginated Advancements & Custom Frames розширює стандартне вікно меню досягнень, додаючи посторінкову навігацію, систему закріплення пріоритетних гілок, вбудований інструмент зневадження та підтримку повністю нових рамок для іконок за допомогою ресурс-паків чи дата-паків.
Технічний принцип роботи та вирішення обмежень ванільного інтерфейсу
Ванільний клас AdvancementsScreen використовує захардкоджені координати для рендерингу вікна досягнень (розмір становить 252 на 140 пікселів). Елементи керування, такі як сітка вкладок та фоновий рендер, прив'язані до статичних розмірів вікна, що унеможливлює масштабування під високу роздільну здатність монітора. Клас AdvancementTab також має жорсткі межі для малювання іконок вкладок по периметру основного фрейму.
Paginated Advancements & Custom Frames впроваджує зміни безпосередньо у логіку рендерингу графічного інтерфейсу клієнта за допомогою Mixin-ін'єкцій у класи MixinAdvancementsScreen та MixinAdvancementTab. Замість використання жорстко прописаних констант, модифікація перехоплює ініціалізацію інтерфейсу та зчитує поточні розміри вікна гри. На основі цих даних обчислюється оптимальний розмір фрейму досягнень, який адаптивно розширюється, займаючи більшу частину екрана.
Система автоматично групує всі зареєстровані вкладки в окремі сторінки (пагінацію). Алгоритм обчислює максимальну кількість вкладок, які можуть поміститися у межах верхньої та нижньої панелей вікна за формулою, що враховує ширину вікна та встановлені відступи. Якщо кількість гілок досягнень перевищує ліміт сторінки, модифікація створює додаткові віртуальні сторінки та додає інтерактивні кнопки стрілок у нижній частині інтерфейсу. Під час перемикання сторінок рендерер приховує вкладки з неактивних сторінок, запобігаючи перевантаженню оперативної пам'яті графічними об'єктами та усуваючи конфлікти накладання елементів.
Ключові можливості та функціонал
Основна функція Paginated Advancements & Custom Frames – реорганізація графічного меню досягнень. Модифікація пропонує кілька практичних інструментів для навігації:
· Динамічна пагінація: Додає стрілки перемикання сторінок у нижній кут вікна досягнень. Гравці можуть переглядати будь-яку кількість вкладок, навіть якщо у збірці активовано понад п'ятдесят модифікацій із власними ланцюжками завдань.
· Закріплення вкладок: Користувач може додати будь-яку вкладку до списку обраних. Для цього призначена спеціальна кнопка у вигляді зірочки на кожній вкладці. Закріплена вкладка автоматично переміщується на першу сторінку та відображається на початку списку, незалежно від її алфавітного чи внутрішньоігрового порядку сортування.
· Збереження стану сесії: Мод запам'ятовує останню відкриту вкладку досягнень. У разі закриття меню та його повторного відкриття через клавішу L, інтерфейс покаже ту саму вкладку, на якій зупинився гравець, замість скидання до першої стандартної вкладки.
· Зневаджувач досягнень (Advancement Debugger): Спеціальний режим для розробників збірок та авторів квестів. Він активується у конфігурації або у разі ввімкнення розширених підказок (клавіші F3 + H). Під час наведення курсору на іконку досягнення відображається додаткове вікно підказок із технічною інформацією: внутрішнім ідентифікатором (наприклад, minecraft:adventure/arbalistic) та списком тригерів (умов), необхідних для виконання. Комбінація клавіш Ctrl + C копіює ідентифікатор виділеного досягнення в буфер обміну.
Налаштування, сумісність та екосистема
Параметри відображення меню досягнень користувач може змінити через файл конфігурації. Локація та формат файлу залежать від завантажувача модифікацій:
· Fabric та Quilt: Для роботи налаштувань необхідне встановлення бібліотеки Cloth Config API. Параметри записуються у файл paginatedadvancements.json (або paginatedadvancements.json5) у папці config.
· NeoForge: Версії мода починаючи з 2.8.0 використовують вбудовану систему конфігурування NeoForge, що виключає потребу в додаткових бібліотеках. Файл генерується під назвою paginatedadvancements-client.toml у папці config.
У конфігураційному файлі доступні такі ключові параметри:
· showDebugTooltips – логічне значення (true або false), яке керує показом технічної інформації для зневадження досягнень.
· maxDebugLines – ціле число, що обмежує максимальну кількість рядків тригерів у вікні підказок, запобігаючи виходу тексту за межі екрана у разі великої кількості вимог.
· disableBackgroundFade – параметр для вимкнення затемнення фону гри під час перегляду меню досягнень.
· spacing – крок у пікселях для регулювання відстані між сусідніми вкладками на панелі.
· enablePinning – дозволяє або забороняє гравцям закріплювати обрані вкладки.
Модифікація підтримує систему кастомізації іконок через механізм Custom Frames (користувацькі рамки). За замовчуванням Minecraft пропонує три типи рамок: task (звичайне завдання), goal (ціль) та challenge (випробування). Мод дозволяє створювати нові типи за допомогою дата-паків.
Для додавання нової рамки необхідно створити JSON-файл у дата-паку за шляхом:
assets/<ідентифікатор_мода>/advancement_frame_types/<назва_рамки>.json
Приклад вмісту файлу:
{ |
Текстури для рамки розміщують за шляхами:
· assets/<ідентифікатор_мода>/textures/gui/sprites/advancements/<назва_рамки>_unobtained.png – вигляд рамки до виконання досягнення.
· assets/<ідентифікатор_мода>/textures/gui/sprites/advancements/<назва_рамки>_obtained.png – вигляд рамки після виконання.
Для прив'язки створеної рамки до конкретного досягнення використовують файл мапінгу у дата-паку за шляхом assets/<ідентифікатор_мода>/advancement_frames/<ім'я_файлу>.json:
[ |
Мод розроблявся як суто клієнтська утиліта, тому він не потребує встановлення на сервер. Він повністю сумісний із великими індустріальними та магічними модами (такими як Create, Ender IO, Botania), які додають складні системи квестів та численні вкладки досягнень. Користувачам старого завантажувача Forge доступна неофіційна адаптація мода під назвою ForgedPaginatedAdvancements. Для запуску останніх версій мода на платформі NeoForge 26.1+ обов'язковим є використання середовища виконання Java 25.
Висновок
Paginated Advancements & Custom Frames ефективно розв'язує проблему обмеженого простору ванільного інтерфейсу досягнень, яка стає критичною у великих збірках модифікацій. На відміну від аналога Better Advancements, який переважно масштабує вікно без додавання сторінок, цей мод пропонує чітке розділення на сторінки та зручне закріплення вкладок. Модифікація спрощує роботу розробників модифікованих збірок завдяки вбудованому дебагеру та гнучкій системі реєстрації нових типів рамок через JSON-структури дата-паків. Єдиним помітним обмеженням є потреба у створенні додаткових ресурс-паків клієнта для коректного відображення кастомних графічних рамок.
Встановлення
Типове встановлення займає близько 5 хвилин. Порядок однаковий; відрізняються лише лоадер і відповідна збірка.
- 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.











