Библиотека Bibo38Lib: мощный фундамент для ваших Bukkit-плагинов
Когда вы активно развиваете сервер Minecraft и пишете собственные плагины, рутинные задачи вроде обработки прав, экономики или регистрации команд отнимают драгоценное время. Разработчик Bibo38 создал персональную библиотеку, которая берёт эти заботы на себя. Bibo38Lib — это набор готовых инструментов, ускоряющих создание Bukkit-плагинов и делающих код чище и понятнее.
Зачем нужна Bibo38Lib
Библиотека задумывалась как внутренний помощник автора, но быстро переросла в самостоятельный проект. Она не добавляет игровых механик напрямую, а служит связующим звеном между популярными API и вашим кодом. Если вы устанавливаете плагины от Bibo38, почти наверняка вам потребуется этот компонент. Он автоматизирует генерацию справочных страниц, упрощает проверку разрешений и работу с внутриигровой валютой, а также предлагает встроенный веб-сервер для раздачи файлов.
Ключевые возможности
Умные разрешения через Vault
Проверка прав доступа превращается в одну строку. Библиотека сама выводит сообщение игроку, если разрешения не хватает. Достаточно создать объект Permissions и вызвать hasPerm:
- Автоматическое уведомление при отказе.
- Поддержка любых плагинов прав, совместимых с Vault.
- Читаемый синтаксис:
perm.hasPerm(player, "use")проверяет правоmyplug.use.
Экономика без лишних сложностей
Работа с деньгами реализована через тот же Vault. Вы просто оборачиваете вызов в try-catch на случай отсутствия экономического плагина, и можете смело выдавать или забирать средства. Никаких танцев с бубном:
- Методы giveMoney, setMoney интуитивно понятны.
- Отрицательное значение для снятия денег.
- Единственное исключение NullPointerException — когда Vault или экономика не установлены.
Команды на аннотациях
Самая заметная фича библиотеки — декларативное описание команд. Вы создаёте класс-слушатель, размечаете методы аннотацией @ACommand, указывая максимум аргументов, описание, права и необходимость присутствия игрока. Регистрация одной строкой в onEnable() — и у вас уже работает автоматическая справка по /myplug help.
- Аннотации задают usage, minArgs, maxArgs, permissions.
- Автогенерация страниц помощи без ручного форматирования.
- Поддержка консольных и игровых отправителей команд.
Встроенный веб-сервер
Мало кто ожидает от серверной библиотеки возможности раздавать файлы по HTTP, но Bibo38Lib умеет и это. На порту 2345 запускается лёгкий веб-сервер, через который плагин может отдавать ресурсы — изображения, конфигурации или динамические страницы. Вы просто добавляете файл из ресурсов плагина и получаете прямую ссылку, либо регистрируете сервис, обрабатывающий запросы к определённым страницам. Это открывает простор для создания веб-панелей мониторинга или публикации статистики.
Установка и зависимости
Библиотека поставляется в виде JAR-файла, который нужно поместить в папку plugins вашего сервера. После рестарта или перезагрузки она готова к работе. Никаких дополнительных конфигов не требуется. Кстати, если вы предпочитаете управлять модами и библиотеками через лаунчер, foxygame.net предлагает гибкий инструмент, где можно скачать нужные файлы прямо из меню и быстро обновлять их — это особенно удобно, когда на сервере крутится сразу несколько плагинов, зависящих от Bibo38Lib.
Мягкие зависимости — это Vault (обязательно для экономики и прав) и SpoutPlugin. Последний в данный момент не обязателен, но код для взаимодействия с ним уже присутствует в библиотеке, так что в будущем интеграция может расшириться.
Плагины, использующие Bibo38Lib
На текущий момент автор выпустил несколько проектов, которым нужна эта библиотека. Самый заметный — ChgUsers, позволяющий гибко управлять игровыми аккаунтами. Если вы планируете ставить любые разработки от Bibo38, сначала убедитесь, что Bibo38Lib уже загружена в папку плагинов, иначе плагины просто не запустятся.
Как начать разработку с Bibo38Lib
Подключить библиотеку к своему проекту не сложнее, чем Bukkit API. Скачайте JAR с dev.bukkit.org или клонируйте репозиторий с GitHub и добавьте в Build Path. Исходный код открыт, и вы можете изучать его, чтобы лучше понять внутреннюю механику. Правда, автор честно предупреждает: Javadocs пока не готовы, а комментарии в коде встречаются на немецком, но в ближайшее время это обещают исправить.
Типичный стартовый набор действий выглядит так:
- Создайте класс, наследующий JavaPlugin.
- В методе onEnable зарегистрируйте команды через
new Command(this, "метка", new CmdListener()); - При необходимости инициализируйте экономику и разрешения, обернув в try-catch.
- Для веб-сервера получите экземпляр через Startfunc и добавляйте файлы или сервисы.
Заключение
Bibo38Lib — это не просто зависимость для пары плагинов, а продуманный каркас, который экономит часы разработки. Автоматическая справка, лаконичная работа с Vault, декларативные команды и даже собственный веб-сервер выделяют её среди многих утилитарных библиотек. Если вы пишете плагины для Paper или Spigot и цените чистый код, определённо стоит присмотреться к этому инструменту. А благодаря удобным лаунчерам вроде foxygame.net установка и поддержка актуальных версий библиотеки становится делом пары кликов, позволяя сосредоточиться на творческой части серверостроения.