XConfiguration

Плагин Bungeecord XConfiguration 2.0.2

Нет прав для скачивания
Исходный код
https://github.com/Xezard/XConfiguration
Поддерживаемые версии
1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16
(Может работать и на более старых версиях)
Был протестирован на Spigot и BungeeCord.
Поддержать автора:
[Ссылка]


XConfiguration - это универсальная библиотека на основе аннотаций для взаимодействия с конфигурациями yml. С её помощью можно автоматически создавать / перезагружать конфигурации, оставлять в них комментарии, а главное, автоматически сохранять и получать объекты Java из конфигурации.

Использование
Начнём с простейшего примера:
Java:
public class MessagesConfiguration
extends Configuration
{
   public MessagesConfiguration(File folder)
   {
       super(folder.getAbsolutePath() + File.separator + "messages.yml");
   }

   @Setter
   @Getter
   @ConfigurationField("Hello-world")
   public String helloWorld = "Hello, world!";
}
Прежде всего, нам нужно создать наш класс конфигурации.
Этот класс должен быть унаследован от ru.xezard.configurations.Configuration.
В конструкторе суперкласса вам нужно передать полный путь к файлу с именем для конфигурации. Внутри класса все объявленные поля с аннотацией @ConfigurationField считаются полями конфигурации. Значение аннотации @ConfigurationField - это путь к значению поля в конфигурации.

В основном классе плагина:
Java:
public class Main
extends JavaPlugin
{
    /*
     * Создаём новый обьект класса нашей конфигурации и сразу же инициализируем его.
     * Передаём в конструктор папку нашего плагина.
     */
    private MessagesConfiguration messagesConfiguration = new MessagesConfiguration(this.getDataFolder());

    @Override
    public void onEnable()
    {
        /*
         * Этот метод автоматически создаёт файл конфигурации,
         * если тот ещё не был создан. Кроме того, он автоматически
         * заполняет класс конфигурации значениями из конфига
         * и наоборот, заполняет конфигурацию значениями из класса,
         * если в файле конфигурации ещё нет соответствующих полей.
         *
         * Этот же метод также можно вызывать когда
         * нужно перезагрузить конфигурацию плагина.
         */
        this.messagesConfiguration.load();

        /*
         * После загрузки нашего конфига мы можем использовать
         * любые значения из него.
         */
        this.getLogger().info(this.messagesConfiguration.getHelloWorld());
    }
    @Override
    public void onDisable()
    {
        this.messagesConfiguration = null;
    }
}

Комментарии
При определении полей конфигурации можно также указать к ним комментарии:
Java:
@Getter
public class MessagesConfiguration
extends Configuration
{
    public MessagesConfiguration(File folder)
    {
        super(folder.getAbsolutePath() + File.separator + "messages.yml");
    }

  @ConfigurationField("Hello-world.With-comment-above")
  @ConfigurationComments({"# First comment line", "# Second comment line"})
  public String helloWorld = "Hello, world!";
}
После вызова метода load() можно будет увидеть следующую конфигурацию:
YAML:
# First comment line
# Second comment line
Hello-world:
  With-comment-above: Hello, world!


Остальные фичи можно посмотреть на вики github:

О любых ошибках и предложениях пишите в раздел обсуждений.
Если вы используете XConfiguration и он вам нравится, пожалуйста, поставьте оценку и оставьте отзыв о нем!
Команды и права
-
Автор
Xezard
Скачивания
154
Просмотры
812
Первый выпуск
Обновление
Рейтинг
0.00 звезд Оценок: 0

Другие ресурсы пользователя Xezard

  • XTextsCensor
    Премиум Плагин XTextsCensor
    Комплексное и тонко настраиваемое решение для фильтрации текстов на вашем сервере!
  • XItemsRemover
    Плагин XItemsRemover
    Простой плагин, который автоматически удаляет выпавшие предметы с отображением на них таймера.
  • XGlow
    Плагин XGlow
    Простое API на основе ProtocolLib для создания свечения на сущностях

Последние обновления

  1. XConfiguration v.2.0.2

    Исправлено дублирование комментариев в файле конфигурации при вызове load() и save().
  2. XConfiguration v.2.0.1

    Добавлена поддержка заголовка для файла конфигурации. Достаточно просто обьявить аннотацию...
  3. XConfiguration v.2.0.0

    Плагин практически полностью переписан. Теперь может быть использован отдельно от bukkit /...

Комнаты в чате

Верх Низ