FramingLib
Если вы когда-нибудь пытались передвинуть чат, полоску здоровья или счётчик координат в удобное место экрана, вы понимаете, насколько это раздражает. FramingLib для Minecraft решает именно эту проблему — но не напрямую, а как фундамент для других модов. Это клиентская библиотека, которая даёт разработчикам инструмент для создания экранов конфигурации с интерактивными, перетаскиваемыми элементами HUD и GUI.
Проще говоря, FramingLib — это не тот мод, который вы устанавливаете ради собственного функционала. Он работает в связке с другими дополнениями, которые полагаются на него. Без него такие моды просто не запустятся или не смогут предложить вам удобную настройку интерфейса.
Что умеет FramingLib
Библиотека ориентирована на две аудитории: игроков, которые хотят двигать элементы интерфейса мышкой, и разработчиков, которым нужен готовый API для интеграции. Вот ключевые возможности:
- Мультизагрузчик: полная совместимость с Fabric, Quilt, Forge и NeoForge.
- Интуитивность для игроков: перетаскивание элементов HUD и GUI простым движением мыши.
- Дружелюбный API для разработчиков: простой builder-паттерн, облегчающий интеграцию в любой HUD/GUI-мод.
- Динамическое выравнивание: привязка элементов к девяти позициям экрана с опциональным прилипанием.
- Умный пересчёт: автоматический пересчёт расположения при изменении масштаба GUI или размера окна.
- Лёгкость и производительность: кэширование и пересчёт только при необходимости, чтобы не терять кадры.
- Только клиентская часть: устанавливается исключительно на клиент, серверу ничего не нужно.
- Гибкая настройка: поддержка кастомных цветов, иконок и собственных функций рендеринга.
Поддерживаемые версии и загрузчики
FramingLib активно развивается и охватывает широкий спектр версий Minecraft. Поддержка заявлена для Fabric, Quilt, Forge и NeoForge. Начиная с версии 1.20.2 и выше библиотека доступна для всех четырёх загрузчиков, включая актуальные сборки вплоть до 1.21.11 и ветку 26.x. Для более старых версий — от 1.16.5 до 1.19.4 — поддержка ограничена Fabric, Quilt и Forge, тогда как NeoForge там отсутствует.
Стоит учитывать, что для версии 1.20 и 1.20.1 NeoForge не поддерживается, а на 1.20.3 библиотека вовсе недоступна. Самая ранняя поддерживаемая версия — 1.16.5, где FramingLib работает на Fabric, Quilt и Forge.
Совместимость с загрузчиками
- Fabric — поддержка от 1.16.5 до актуальных версий.
- Quilt — аналогичный диапазон, включая старые сборки.
- Forge — работает на всех версиях, где заявлена поддержка.
- NeoForge — доступен только с 1.20.2 и новее.
Как установить FramingLib
Поскольку FramingLib — это библиотека, сама по себе она ничего не делает. Установка предельно проста: поместите jar-файл в папку mods вашего профиля. Для версий на Fabric и Quilt настоятельно рекомендуется также установить ModMenu — без него вы не сможете открыть экраны настройки зависимых модов.
Если вы используете лаунчер foxygame.net, установка FramingLib сводится к паре кликов: в каталоге дополнений найдите нужную сборку, отметьте библиотеку галочкой, и лаунчер сам подберёт совместимую версию под ваш загрузчик. Это избавляет от ручного поиска jar-файлов и проверки таблиц совместимости.
Порядок действий для ручной установки:
- Скачайте FramingLib для Minecraft, соответствующую вашей версии игры и загрузчику.
- Откройте папку mods в директории вашего профиля.
- Переместите скачанный файл в эту папку.
- Для Fabric и Quilt добавьте ModMenu, если его ещё нет.
- Запустите игру и проверьте, что зависимые моды корректно отображают экраны настройки.
Важное примечание для разработчиков
FramingLib не сохраняет и не загружает данные о расположении элементов автоматически. Это осознанное решение ради гибкости: ответственность за сериализацию объекта разметки (в JSON, YAML, INI или любой другой формат) и его десериализацию при инициализации игры лежит на разработчике мода. Такой подход позволяет каждому моду использовать собственные конфигурационные схемы без конфликтов.
Зачем нужна эта библиотека
FramingLib — типичный пример «невидимого» мода: вы не запускаете его отдельно, но без него многие удобные дополнения теряют функциональность. Возможность перетаскивать элементы интерфейса мышкой, автоматическое выравнивание по девяти позициям и умный пересчёт при смене разрешения делают настройку HUD действительно комфортной. Если какой-то мод требует FramingLib, просто установите библиотеку — и интерфейс станет таким, каким вы хотите его видеть.