Moonlight Lib [1.21.1] [1.20.4] [1.19.4]

Moonlight Lib


Moonlight Lib

📖 О библиотеке 📖

Ранее известная как Selene Library, Moonlight Lib — это набор специализированных утилит и общего кода, который я использую для своих модов.
Включает такие уникальные функции, как динамическая генерация ресурсов, два новых реестра данных, система динамической регистрации, а также мультилоадерные помощники и обёртки для разработки под Fabric и Forge.

Moonlight Lib

🛠️ Возможности 🛠️

Вот основные возможности библиотеки. Если вы разработчик, планирующий использовать эту библиотеку, этот раздел для вас!

Основные источники документации:

  • Эта страница
  • Примеры классов в пакете на GitHub
  • JavaDocs в классах из пакета API на GitHub

Чтобы импортировать библиотеку, перейдите в раздел файлов здесь и нажмите "скопировать строку Gradle". Затем вставьте её в ваш файл build.gradle.


🎨 Динамические ресурсы

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

🌍 Утилиты для мультилоадера

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

Это: PlatHelper, ClientHelper, RegHelper и ForgeHelper. 

Для конфигураций и сетевого взаимодействия основными классами являются ConfigBuilder и ChannelHandler.

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

📒 Динамическая регистрация

Это включает новую систему (BlockSetAPI), которая позволяет динамически обнаруживать "наборы блоков" сразу после регистрации всех блоков и динамически регистрировать новые записи, зависящие от них. Примером может служить использование встроенных реестров WoodTypeRegistry или LeavesTypeRegistry, которые будут автоматически заполняться всеми установленными типами древесины и листьев из любых модов, позволяя вам регистрировать ваши деревянные предметы для всех существующих типов древесины.


🧙‍♂️ Разные утилиты

🍩 Пользовательские модели

🌽 Пользовательские торговые предложения для жителей

Используя папку датапака `moonlight/villager_trades`, вы сможете добавлять новые пользовательские торговые предложения для любого жителя. Вот пример предложения.  Ознакомьтесь с Supplementaries или Sawmill для большего количества примеров.


  • API для цвета блоков: Набор утилит, позволяющих определять любой произвольный цвет модифицированных блоков DyeColor, а также получать эквивалентный блок другого цвета.
    Это работает динамически для любого модифицированного блока или предмета.
  • Пользовательские маркеры на карте: 
      Полная система, позволяющая легко реализовывать и добавлять украшения и маркеры на карту, а также контролировать каждый аспект их отображения. Также позволяет хранить простые данные внутри карт, предлагая несколько хуков для их использования, например, в подсказках предметов.
     Эта система также предлагает простую реализацию, управляемую данными, что позволяет легко регистрировать новые маркеры с помощью датапаков!
  • Динамический ИИ жителей
    Вспомогательная система для простого и динамического добавления задач и изменения расписания жителей совместимым образом без переопределения всего существующего ИИ. Также позволяет корректно добавлять типы памяти.
  • Пользовательские анимации от первого и третьего лица:
      Позволяет моддерам реализовать простой интерфейс в своих предметах, чтобы они могли иметь пользовательские анимации от первого и третьего лица (например, как у арбалетов). 
     Включает простые и удобные интерфейсы, которые позволяют управлять анимациями от первого и третьего лица, а также обратный вызов для отрисовки самого предмета (аналогично подзорной трубе) прямо в вашем классе предмета.
  • Триггеры достижений для точильного камня:
      Мод добавляет пользовательский триггер, который вызывается, когда предмет проходит через точильный камень. Вы можете использовать его в своих достижениях в JSON.

  • Система мягких жидкостей:
      Полностью управляемая данными виртуальная система жидкостей, которая работает поверх системы Forge и лучше подходит для ванильного Minecraft. Основная особенность — возможность иметь несколько контейнеров для жидкостей, таких как бутылки, миски и вёдра, а также поддержка тушёных блюд и напитков, которые можно потреблять напрямую из резервуара с жидкостью. В отличие от системы жидкостей Forge, она использует базовую единицу в 1 бутылку Minecraft (250 мб Forge). Система также автоматически генерирует все необходимые жидкости для уже зарегистрированных жидкостей Forge и позволяет пользователю легко переопределять или добавлять их. Жидкости виртуальны, поэтому они могут существовать только в специальных контейнерах для них.

Moonlight Lib

Скачать Moonlight Lib

 
Тип Скачать Версия Загрузчик Обновлено Размер
Releasemoonlight-1.20-2.13.60-fabric.jar1.20.1Fabric11 февраля 20251,1 МБ
Releasemoonlight-1.20-2.13.59-fabric.jar1.20.1Fabric8 февраля 20251,1 МБ
Releasemoonlight-1.20-2.13.58-fabric.jar1.20.1Fabric31 января 20251,1 МБ
Releasemoonlight-1.20-2.13.58-forge.jar1.20.1NeoForge31 января 20251,2 МБ
Releasemoonlight-1.21-2.17.21-neoforge.jar1.21+1 NeoForge31 января 20251 МБ
Releasemoonlight-1.21-2.17.21-fabric.jar1.21+1 Fabric31 января 20251 МБ
Releasemoonlight-1.20-2.13.56-fabric.jar1.20.1Fabric30 января 20251,1 МБ
Releasemoonlight-1.20-2.13.56-forge.jar1.20.1NeoForge30 января 20251,2 МБ
Releasemoonlight-1.21-2.17.21-fabric.jar1.21+1 Fabric30 января 20251 МБ
Releasemoonlight-1.21-2.17.21-neoforge.jar1.21+1 NeoForge30 января 20251 МБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.