FramingLib — библиотека перетаскиваемых HUD для Minecraft

FramingLib для Minecraft — клиентская библиотека для создания экранов с перетаскиваемыми элементами HUD. Узнайте, как установить и скачать FramingLib.

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, просто установите библиотеку — и интерфейс станет таким, каким вы хотите его видеть.