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.
Поддержать автора:
[Ссылка]

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:

О любых ошибках и предложениях пишите в раздел обсуждений.
Если вы используете XConfiguration и он вам нравится, пожалуйста, поставьте оценку и оставьте отзыв о нем!
Исходный код
https://github.com/Xezard/XConfiguration
Команды и права
-
Автор
Xezard
Скачивания
162
Просмотры
1,415
Первый выпуск
Обновление
Оценка
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 /...
Назад
Сверху Снизу