bybystandardlib: удобная библиотека для разработки модов Minecraft
Если вы когда-нибудь писали моды для Minecraft на Fabric, то знаете, как много рутинной работы приходится делать вручную: регистрировать кнопки в интерфейсах, обрабатывать нажатия клавиш, следить за тиками клиента, сохранять конфиги. bybystandardlib — это лёгкая вспомогательная библиотека, созданная именно для того, чтобы избавить разработчиков от этой рутины и дать удобные API для типовых задач.
По сути, bybystandardlib для Minecraft закрывает разрыв между возможностями Fabric и других загрузчиков вроде Quilt. Она не добавляет контент в игру сама по себе, а служит инструментом для тех, кто создаёт моды. Если вы только начинаете или уже давно пишете под Fabric, эта библиотека способна заметно ускорить разработку.
Что умеет bybystandardlib
Библиотека предоставляет набор простых методов, которые скрывают за собой довольно громоздкий код. Вот основные возможности, которые она даёт:
- Регистрация кнопок на любом экране Minecraft в одну строку.
- Обработка событий клиентского тика через удобные колбэки.
- Реакция на перезагрузку ресурсов без лишней возни.
- Простое API для кейбиндов: регистрация и проверка нажатия клавиш.
- Загрузка и сохранение JSON-конфигов прямо в папке config.
Каждая из этих функций реализована так, чтобы разработчику не приходилось разбираться в тонкостях внутренних классов Minecraft. Вы просто вызываете метод и получаете результат.
Кнопки на экранах
Добавить кнопку на любой экран теперь можно буквально одной строчкой. Метод принимает класс экрана, текст, координаты, размеры и действие, которое выполнится при нажатии. Это особенно удобно, когда нужно быстро прототипировать интерфейс мода.
События тика и перезагрузки ресурсов
Клиентский тик — это сердце многих модов. bybystandardlib позволяет зарегистрировать колбэк, который будет выполняться каждый тик, без необходимости лезть в миксины. То же самое касается перезагрузки ресурсов: вы получаете менеджер ресурсов и делаете то, что нужно.
Кейбинды и конфиги
Регистрация клавиш через bybystandardlib сводится к вызову одного метода, а проверка нажатия — к другому. Что касается конфигов, библиотека умеет сохранять и загружать JSON-файлы в папку config, что избавляет от написания собственного сериализатора.
Поддерживаемые версии и загрузчик
bybystandardlib ориентирована на загрузчик Fabric и зависит от Fabric API. Она компилируется с помощью Fabric Loom и соответствующих маппингов, поэтому важно, чтобы версии Minecraft и Fabric API в вашем моде совпадали с теми, что использует библиотека. Чаще всего её применяют на актуальных версиях вроде 1.20 и 1.21, но конкретная совместимость зависит от сборки.
Если вы не хотите возиться с ручной настройкой окружения, обратите внимание на лаунчер foxygame.net: в его каталоге дополнений можно найти bybystandardlib и установить её в один клик, а автообновление позаботится о том, чтобы версия библиотеки всегда соответствовала вашей сборке Minecraft.
Как установить bybystandardlib
Есть два основных сценария использования библиотеки, и от них зависит процесс установки.
Вариант 1: включение исходников в проект
Этот способ рекомендуется, если вы активно разрабатываете мод и хотите легко отлаживать код. Просто скопируйте исходный код bybystandardlib в директорию src/main/java вашего проекта, сохранив структуру пакета bsl. После этого можно импортировать класс и пользоваться методами как обычно. Никакой дополнительной настройки сборки не требуется — достаточно стандартной конфигурации Fabric Loom.
Вариант 2: подключение отдельного JAR
Если вы хотите переиспользовать библиотеку в нескольких проектах или распространять её отдельно, соберите bybystandardlib в JAR-файл и добавьте его в папку libs вашего мода. Затем пропишите зависимость в build.gradle через modImplementation files('libs/bsl.jar'). При этом убедитесь, что версии Minecraft и Fabric API согласованы между модом и библиотекой, иначе возможны ошибки во время выполнения.
Скачать bybystandardlib можно с официальных источников или собрать самостоятельно из исходников. Главное — не забыть про совместимость версий.
Пример использования
Вот как выглядит базовое подключение библиотеки в клиентском инициализаторе мода:
- Импортируйте класс
bslиз пакетаbsl. - В методе
onInitializeClientвызовитеbsl.addButton, передав класс экрана, текст, координаты, размеры и лямбду с действием. - При необходимости зарегистрируйте обработчик тика через
bsl.onClientTick.
Такой подход позволяет сосредоточиться на логике мода, а не на борьбе с внутренними классами Minecraft.
Важные замечания
При компиляции могут появляться предупреждения @Shadow, если целевые методы или поля отсутствуют в используемой версии Minecraft. Обычно они не мешают работе мода, но для чистых сборок их стоит устранить. Также следите за тем, чтобы IDE и система сборки корректно распознавали структуру пакетов при включении исходников.
bybystandardlib — это небольшой, но полезный инструмент для разработчиков модов на Fabric. Она экономит время, упрощает код и делает разработку приятнее. Если вы пишете моды для Minecraft и хотите меньше отвлекаться на шаблонные задачи, попробуйте эту библиотеку в своём следующем проекте.