AE2AddonLib
Библиотека для помощи разработчикам аддонов AE2 в интеграции их модов в экосистему AE2.
Реестр
Было добавлено несколько классов для предоставления вспомогательных функций, упрощающих регистрацию.
Регистрация становится такой же простой, как создание вашего класса и добавление строки для каждого элемента, который вы хотите зарегистрировать, с вызовом метода, который обрабатывает всё за вас.
Никаких сложностей с отложенными регистрами, контейнерные классы создаются для вас, содержа всё, что может понадобиться в будущем. Используются "Definitions" от AE2 для всего, а также два дополнения, отсутствующих в родительском моде: Materials и Fluids!
Также имеются классы для помощи в обработке ваших горячих клавиш и настроек (для тех кнопок в меню слева).
Виджеты
Этот мод открывает несколько виджетов AE2, которые в противном случае заблокированы. Некоторые примеры:
AddonIconButton- для кнопок пользовательского интерфейса общего назначения.AddonActionButton- для многоразовых кнопок, имеющих заданный внешний вид и всплывающие подсказки.AddonSettingToggleButton- для кнопок, переключающих/циклирующих настройки машины.ServerSettingToggleButton- Реализовано более удобным способом, просто используйте статический метод вAddonSettingToggleButtonдля создания кнопки. Все пакеты обрабатываются за вас, легко!
Эта библиотека также ДОБАВЛЯЕТ новые виджеты, отсутствующие в AE2! Примеры:
AddonSlider- Расширение слайдеров Minecraft с добавленными функциями, выполненное в стиле AE2 и совместимое с WidgetContainer.ColorPicker- Полноценный выбор цвета с дочерними виджетами для выбора оттенка/насыщенности/значения, а также ввода через hex-коды.ToolbarActionButton- Потому что не всем действиям на левой панели инструментов нужно переключать настройки! Эта кнопка может быть настроена под ваши нужды.FluidTankSlot- Виджет с сопутствующими классами для добавления резервуаров с жидкостью в ваш интерфейс.
Экраны
Эта библиотека также предоставляет два экрана общего назначения:
OutputDirectionScreen- Используется, чтобы позволить игроку решить, куда машина должна экспортировать предметы.SetAmountScreen- Экран, который отображает ItemStack и кнопки для изменения количества, подобно экрану запроса крафта!
Сетевое взаимодействие
Предоставляется NetworkHandler со вспомогательными методами для легкой регистрации ваших пакетов. Некоторые пакеты предоставляются и обрабатываются библиотекой, такие как пакеты для обработки слотов жидкостей и переключения настроек. Для версии 1.20.1 сетевой обработчик также предоставляет все необходимые инструменты для отправки ваших пакетов, которые недоступны через Forge.
Утилиты
Библиотека также содержит некоторые разнообразные полезные классы, такие как:
Colors- Удобные цвета с конвертацией в и из RGB/ARGB/HSV. Поставляется со всеми цветами Vanilla и большинством распространенных цветов AE2 встроенными.BlockUpgradeItem- Общий базовый класс для предмета, который улучшает сущности, например, улучшает поставщик шаблонов до другого.WaterBasedFluidType- Базовый класс для любой жидкости, использующей текстуры воды.AddonEnum- Интерфейс, который может быть присоединен к перечислению для простого способа обработки взаимодействий с другими модами. Используется для проверки их загрузки или создания условных рецептов.AE2AddonModelProvider- РасширениеAE2BlockStateProvider, которое разблокирует методы для ресурсных локаций аддонов. Включает дополнительные методы для легкого создания моделей поставщиков шаблонов полных блоков или моделей partItem (для шин или кабельных поставщиков шаблонов), а также цветных предметов с двумя слоями.ConnectedTexturesBaseBakedModel- Завершенная baked model для связанных текстур. Высоко настраиваемая, вплоть до типов рендеринга как грани, так и сторон, а также эмиссивности.
Документация
Библиотека на 100% документирована с javadoc. Она может и будет улучшаться. Также в самой библиотеке есть несколько примеров использования.
Вклад в развитие
Хотя библиотека находится в отличной стартовой точке, она определенно может расти и становиться еще более мощным инструментом разработки. Предложения/Жалобы всегда приветствуются и ценятся. Ваш вклад ценен и сделает этот инструмент лучше для всех остальных.

