Как добавить автообновление конфига в свой плагин? [Development] [Гайд]
В данном гайде начинающие Bukkit разработчики смогут узнать как с лёгкостью добавить автообновление конфига в свой плагин. Мы так же разберём мой метод создания файла конфигурации и детально изучим принцип работы утилиты Config-Updater от автора под никнеймом tchristofferson, благодаря которой мы и сможем добавить автоматическое обновление конфигурации в наш плагин.
Разбираемся с файлом конфигурации
Для начала немного разберёмся с тем, что из себя представляет файл конфигурации. config.yml - файл, который автоматически создаётся плагином для хранения определённых настроек. В этом гайде как пример я буду использовать свой плагин xAutoFly. Вот его конфигурация:
Как мы можем видеть, у меня есть часть строчек отвечающих именно за настройки плагина и часть, отвечающая за языковые строчки.
Для использования Config-Updater нужно подвести свою конфигурацию под определённый вид, а именно вынести комментарии отдельно от самих строчек конфига. В моём случае я описал каждую настройку перед самими строками с этими самими настройками.
Добавляем Config-Updater в наш проект и используем его
Для добавления ConfigUpdater в свой проект вам необходимо использовать либо Maven или Gradle, в моём случае используется Maven, поэтому я вписываю зависимость в секцию dependencies в файле pom.xml:
Найти актуальную версию зависимости и строчку для своего проекта вы сможете в официальном репозитории Config-Updater на GitHub.
После добавления зависимости в свой проект и её загрузки мы можем приступить к использованию этой утилиты. В своих плагинах я привык работать с кодом связанным с конфигурацией плагина в отдельном классе.
Я создам класс Config и напишу код, который будет создавать файл config.yml в случае его отсутствия и проверит его на соответствие с тем файлом, что находится внутри .jar файла (для этого и нужна утилита Config-Updater).
Важно Config-Updater требует использования структуры try {} catch {} для своего метода update(), в котором вы так же указываете главный класс плагина, название файла конфигурации (String) и объект File, который и является вашим файлом конфигурации.
После создания метода инициализации и проверки файла конфигурации, мы должны воспользоваться им в главном классе. Поэтому в главном классе мы создадим объект Config (так же называется и мой класс, в котором находится весь код, связанный с конфигурацией) и вызовем из него метод init(), который создаст и проверит конфигурацию плагина если её не существует либо же в дальнейшем просто проверит конфигурацию на наличие отсутствия новых строк в случае её существования.
Данную строку мы вписываем в главном классе.
Данные строки мы вписываем в методе onEnable().
Готово! После этих действий можно компилировать плагин и проверять. Для проверки работоспособности утилиты для начала запустите плагин на сервере с одной конфигурацией, а потом допишите в конфигурацию новые строки, сбилдите новый .jar файл и загрузите новую версию плагина на сервер. Если в конфигурации появятся новые строки, значит вы всё сделали правильно и утилита работает корректно!
Как мы можем видеть, добавление автообновления конфигурации в плагин не является сложной задачей, однако как по мне это весьма важно, поскольку по стандарту если вы просто инициализируете конфигурацию и разработаете новую версию плагина с новыми настройками в конфиге то они не добавятся туда автоматически и будут использоваться значения по умолчанию. Надеюсь, что вы узнали для себя что-то новое и данный гайд был полезен для вас! Спасибо за прочтение :)

Комментарии