XConfiguration

Плагин XConfiguration 2.0.1

Нет прав для скачивания
Исходный код
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.
GitHub: [Ссылка]
SpigotMC.org
: [Ссылка]


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:

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

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

  • XRulesPunishments
    Плагин Bungeecord XRulesPunishments
    Небольшой плагин который позволяет легко наказывать игроков по заранее определённым правилам

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

  1. Обновление 2.0.1.

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

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

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

Верх Низ