- Поддерживаемые версии
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
(Может работать и на более старых версиях)
Был протестирован на Spigot и BungeeCord.
Поддержать автора: [Ссылка]
XConfiguration - это универсальная библиотека на основе аннотаций для взаимодействия с конфигурациями yml. С её помощью можно автоматически создавать / перезагружать конфигурации, оставлять в них комментарии, а главное, автоматически сохранять и получать объекты Java из конфигурации.
Использование
Начнём с простейшего примера:
Прежде всего, нам нужно создать наш класс конфигурации.
Этот класс должен быть унаследован от ru.xezard.configurations.Configuration.
В конструкторе суперкласса вам нужно передать полный путь к файлу с именем для конфигурации. Внутри класса все объявленные поля с аннотацией @ConfigurationField считаются полями конфигурации. Значение аннотации @ConfigurationField - это путь к значению поля в конфигурации.
В основном классе плагина:
Комментарии
При определении полей конфигурации можно также указать к ним комментарии:
После вызова метода load() можно будет увидеть следующую конфигурацию:
Остальные фичи можно посмотреть на вики github:
Был протестирован на 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!";
}
YAML:
# First comment line
# Second comment line
Hello-world:
With-comment-above: Hello, world!
Остальные фичи можно посмотреть на вики github:
Xezard/XConfiguration
Universal library for work with yml configurations - Xezard/XConfiguration
github.com
- Исходный код
- https://github.com/Xezard/XConfiguration
- Команды и права
- -