XConfiguration

Для прокси Плагин XConfiguration 2.0.2

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.8
  2. 1.9
  3. 1.10
  4. 1.11
  5. 1.12
  6. 1.13
  7. 1.14
  8. 1.15
  9. 1.16
(Может работать и на более старых версиях)
Был протестирован на Spigot и BungeeCord.
Поддержать автора:
You must be logged in to see this link.

y873NXW5v2M.jpg

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!

z7OynOOTIhE.jpg

hUlgdEQBgtE.jpg

Остальные фичи можно посмотреть на вики github:
You must be logged in to see this link.
О любых ошибках и предложениях пишите в раздел обсуждений.
Если вы используете XConfiguration и он вам нравится, пожалуйста, поставьте оценку и оставьте отзыв о нем!
Исходный код
https://github.com/Xezard/XConfiguration
Команды и права
-
Автор
Xezard
Скачивания
162
Просмотры
1 580
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

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

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

Поделиться ресурсом

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

  1. XConfiguration v.2.0.2

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

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

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