( +69.20 69,2 0.00 )

Как добавить автообновление конфига в свой плагин? [Development] [Гайд]

Как добавить автообновление конфига в свой плагин? [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 файл и загрузите новую версию плагина на сервер. Если в конфигурации появятся новые строки, значит вы всё сделали правильно и утилита работает корректно!




Как мы можем видеть, добавление автообновления конфигурации в плагин не является сложной задачей, однако как по мне это весьма важно, поскольку по стандарту если вы просто инициализируете конфигурацию и разработаете новую версию плагина с новыми настройками в конфиге то они не добавятся туда автоматически и будут использоваться значения по умолчанию. Надеюсь, что вы узнали для себя что-то новое и данный гайд был полезен для вас! Спасибо за прочтение :)
  1. Дедушки

    31 августа 2024 22:46

    +1

    5ый мэм
    1. ТруЪ Плагинщик

      31 августа 2024 23:35

      0

      дякую
Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию.

Последние сообщения с форума

Название темы
Статистика
Последнее сообщение
Помощ 2

Тема в разделе: Моддинг

Просмотров: 204

Ответов: 0

Помощ

Тема в разделе: Моддинг

Просмотров: 222

Ответов: 2

Просмотров: 1545

Ответов: 11

Просмотров: 60897

Ответов: 128