НАЖМИ, чтобы запустить свой Сервер Майнкрафт + 8🎁
modМоды/UniLib
UniLib

UniLib

UniLib - клиентская библиотека для Minecraft, объединяющая API и утилиты для рендеринга, интерфейсов, переводов и проверки обновлений. Проект рассчитан более чем на 50 версий игры, от ранних Alpha до современных релизов.

5/5(1)
Открыть в FateLauncher
11.0M
171

Что такое UniLib

UniLib - клиентская библиотека для Minecraft, созданная как общий набор утилит для модов. Она не добавляет в игру новые блоки, предметы или измерения, а предоставляет готовые API для разработчиков: рендеринга, интерфейсов, переводов, проверки обновлений и других внутренних задач.

Проект появился на основе наработок CraftPresence и рассчитан на необычно широкий диапазон версий. UniLib поддерживает более 50 версий Minecraft, начиная с ранних Alpha и заканчивая современными релизами. Для игрока это означает меньше отдельных библиотек в составе старых модов, а для разработчика - возможность использовать единый набор инструментов в разных версиях игры.

Зачем нужна эта библиотека

В Minecraft внутренний код, названия методов и способы работы с графикой заметно менялись от версии к версии. Моду, который должен работать одновременно в старых и новых сборках, приходится учитывать множество различий. UniLib берет часть этой совместимости на себя и скрывает лишние технические детали за общими API.

Библиотека может использоваться модами, которым нужны:

  • инструменты для рендеринга игровых объектов и элементов интерфейса;
  • вспомогательные средства для создания экранов и UI;
  • упрощенный доступ к переводам и локализациям;
  • проверка обновлений;
  • функции из связанного проекта UniCore;
  • совместимая основа для модов под разные версии Minecraft.

По сути, UniLib полезна не как самостоятельный контентный мод, а как техническая зависимость. Если другой проект указывает ее в требованиях, библиотека нужна для запуска его функций. Без нее зависимый мод может не загрузиться или потерять часть возможностей.

Совместимость с загрузчиками и версиями Minecraft

UniLib выпускается в вариантах для разных поколений игры, поэтому требования зависят от конкретной версии. Нельзя автоматически устанавливать один файл библиотеки на любой Minecraft: старые загрузчики и современные версии используют разную архитектуру.

  • Для некоторых версий Minecraft 1.14.x и новее требуются Fabric API и загрузчик Fabric. Внутренняя ссылка на зависимость: Fabric API.
  • Для отдельных версий Minecraft 1.13.x необходимы Rift API и загрузчик Rift.
  • Версии для Minecraft 1.1.0 и ниже используют Risugami's ModLoader.
  • Варианты для Fabric и Quilt распознаются загрузчиком как клиентские и не запускаются на серверной стороне.
  • На других загрузчиках поведение зависит от конкретной версии. В описании проекта отдельно отмечается, что некоторые загрузчики могут завершить игру с ошибкой.

Перед установкой нужно сверить версию UniLib не только с версией Minecraft, но и с загрузчиком модов. Особенно это важно для старых сборок: Fabric, Rift и Risugami's ModLoader относятся к разным поколениям моддинга и не являются взаимозаменяемыми.

Что входит в UniLib

API для рендеринга и интерфейса

Библиотека содержит утилиты, которые помогают модам выводить элементы на экран, работать с визуальной частью игры и создавать собственные интерфейсы. Это может быть полезно для экранов настроек, информационных панелей, внутриигровых индикаторов и других клиентских функций.

В состав также входят инструменты, связанные с отрисовкой предметов. В старых версиях Minecraft их поведение может отличаться из-за особенностей самого игрового кода, поэтому результат зависит от версии и используемого метода рендеринга.

Переводы и локализация

UniLib предоставляет API для более удобной работы с переводами. Для модов это особенно актуально в многоязычных сборках, где названия кнопок, подсказки и элементы интерфейса должны корректно отображаться на разных языках.

Это не отдельный переводчик игры и не ресурспак. Библиотека лишь дает модам технические инструменты для обращения к локализациям Minecraft.

Проверка обновлений

В проекте предусмотрены утилиты для проверки обновлений. Они позволяют зависимым модам получать информацию о новых версиях через собственную систему, не создавая одинаковую реализацию для каждого проекта.

Возможности UniCore

Часть API предоставляется через связанный проект UniCore. Поэтому конкретный набор доступных функций может зависеть от версии UniLib и от того, какие компоненты использует мод, подключивший библиотеку.

Важные ограничения

UniLib является клиентским модом. Это значит, что она не предназначена для установки на серверную сторону и не добавляет серверную механику. На сервере с модами эту библиотеку обычно устанавливают только туда, где она действительно требуется клиентскому проекту, а не пытаются загрузить ее как общий серверный компонент.

Загрузчики Fabric и Quilt должны просто проигнорировать UniLib на сервере. Однако другие загрузчики могут отреагировать иначе и завершить запуск с ошибкой. Поэтому установка библиотеки на выделенный сервер без явной необходимости - плохая идея.

Еще один нюанс: UniLib не превращает несовместимый мод в универсальный автоматически. Если сам мод рассчитан на определенную версию Minecraft или загрузчик, одна библиотека не отменяет остальные ограничения.

Известные проблемы по версиям

Minecraft 1.16 и новее

Начиная с Minecraft 1.16, все больше игровых данных хранится в формате, зависящем от мира и его содержимого. Поэтому некоторые данные модификаций невозможно получить автоматически до входа в мир.

В результате отдельные функции UniLib могут работать неполноценно в главном меню или до загрузки конкретного мира. Это связано не с графическими настройками и не с нехваткой оперативной памяти, а с тем, как современные версии Minecraft получают данные.

Minecraft 1.15 и старше

В старых версиях встречаются ограничения игрового кода, влияющие на работу некоторых инструментов библиотеки. В частности, проблема MC-112292 может затронуть метод RenderUtils#drawItemStack, используемый во втором варианте отрисовки предметов.

Предметы, для которых применяются определенные рендереры, могут отображаться неправильно. На Minecraft 1.15.x дополнительно возможны проблемы с z-уровнями на экранах, использующих этот метод. На практике это может проявляться в неверном порядке слоев интерфейса или некорректном положении визуальных элементов.

Старые версии игры

В ранних версиях Minecraft встречаются проблемы обфускации. Из-за этого отдельные части UniLib могут получать неправильные данные или отображать их не так, как ожидается. Чем старше версия игры, тем выше вероятность столкнуться с подобными ограничениями.

Некоторые настройки и вызовы API также могут вести себя по-разному в зависимости от версии Minecraft. Это нужно учитывать при переносе старой сборки или мода на другой релиз.

Установка и практические нюансы

UniLib устанавливается как обычная клиентская библиотека в папку с модами. Но сначала нужно проверить три вещи: версию Minecraft, используемый загрузчик и обязательные зависимости конкретного файла.

Для варианта под Fabric могут понадобиться Fabric Loader и Fabric API. Для Minecraft 1.13.x нужно ориентироваться на Rift API и загрузчик Rift, а для Minecraft 1.1.0 и ниже - на Risugami's ModLoader.

Не стоит смешивать файлы UniLib от разных поколений игры. Даже если название библиотеки одинаковое, внутренние API и требования у версии для старой Alpha, Minecraft 1.13.x и современного Fabric-релиза будут различаться.

Лицензия и внутренние зависимости

UniLib распространяется одновременно под лицензиями MIT и Apache 2.0. Внутри проекта используются следующие зависимости:

  • UniCore от CDAGaming;
  • Classgraph от lukehutch;
  • Lenni Reflect от Lenni0451.

В итоге UniLib - это техническая основа для клиентских модов, которым нужна работа с рендерингом, интерфейсами, переводами и обновлениями в большом количестве версий Minecraft. Для обычного выживания она не добавляет нового контента, зато для старых и многоверсионных сборок может быть необходимой частью загрузки зависимых модов.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

Нажмите на диапазон, чтобы выбрать точную версию.

Поддерживаемые окружения

Клиент

Создатели

Детали

Лицензия:
Опубликован:2 года назад
Обновлён:1 месяц назад

Версии мода UniLib

Доступно 1318 версий. Сначала показаны самые популярные и самые свежие.

16 из 944 версий
Самые популярные
R
1.2.0+1.21.1-fabric[Fabric 1.21.1] UniLib v1.2.0
1.21–1.21.1
R
1.1.0+1.21.1-fabric[Fabric 1.21.1] UniLib v1.1.0
1.21–1.21.1
R
1.0.5+1.21.1-fabric[Fabric 1.21.1] UniLib v1.0.5
1.21–1.21.1
R
1.2.1+1.21.1-fabric[Fabric 1.21.1] UniLib v1.2.1
1.21–1.21.1
R
1.1.1+1.19.2-forge[Forge 1.19.2] UniLib v1.1.1
1.19.1–1.19.2
R
1.2.0+1.21.11-fabric[Fabric 1.21.11] UniLib v1.2.0
1.21.11
Самые Новые
R
1.2.1+26.3-neoforge[Neoforge 26.3] UniLib v1.2.1
26.3
R
1.2.1+26.3-forge[Forge 26.3] UniLib v1.2.1
26.3
R
1.2.1+26.3-fabric[Fabric 26.3] UniLib v1.2.1
26.3
R
1.2.1+26.2-neoforge[Neoforge 26.2] UniLib v1.2.1
26.2
R
1.2.1+26.2-forge[Forge 26.2] UniLib v1.2.1
26.2
R
1.2.1+26.2-fabric[Fabric 26.2] UniLib v1.2.1
26.2
R
1.2.1+26.1.2-neoforge[Neoforge 26.1.2] UniLib v1.2.1
26.1.2
R
1.2.1+26.1.2-forge[Forge 26.1.2] UniLib v1.2.1
26.1.2
R
1.2.1+26.1.2-fabric[Fabric 26.1.2] UniLib v1.2.1
26.1.2
R
1.2.1+26.1-neoforge[Neoforge 26.1] UniLib v1.2.1
26.1
Главная