
Prism Config
Активный0.0
Установок
Последнее обновление
Версии
Prism Config - Легковесная библиотека конфигураций для Java

Начало работы
Prism Config представляет собой универсальную библиотеку для работы с конфигурационными файлами в Java-проектах. Хотя она может устанавливаться как Fabric мод благодаря наличию файла fabric.mod.json
, основное предназначение - использование в качестве зависимости в других проектах (JiJ). Это обычная Java библиотека, которая теоретически совместима с любой версией Minecraft и любым загрузчиком модов.
Интеграция для разработчиков
Для добавления Prism Config в ваш проект необходимо внести следующие изменения в файл build.gradle(.kts)
:
Groovy DSL:
repositories {
// ...
maven {
name = "Nova Committee - Release"
url = "https://maven.nova-committee.cn/releases/"
}
maven {
name = "Nova Committee - Snapshot"
url = "https://maven.nova-committee.cn/snapshots/"
}
}
dependencies {
// ...
implementation "io.github.prismwork:prismconfig:0.2.0:all"
// Или используйте slim версию, если библиотеки уже включены в проект (Gson, Jankson...)
// implementation "io.github.prismwork:prismconfig:0.2.0"
}
Kotlin DSL:
repositories {
// ...
maven {
name = "Nova Committee - Release"
url = uri("https://maven.nova-committee.cn/releases/")
}
maven {
name = "Nova Committee - Snapshot"
url = uri("https://maven.nova-committee.cn/snapshots/")
}
}
dependencies {
// ...
implementation("io.github.prismwork:prismconfig:0.2.0:all")
// Или используйте slim версию, если библиотеки уже включены в проект (Gson, Jankson...)
// implementation("io.github.prismwork:prismconfig:0.2.0")
}
Поддерживаемые форматы
Библиотека по умолчанию предоставляет сериализаторы и десериализаторы для следующих форматов:
- JSON (Gson)
- JSON5 (Jankson)
- TOML 0.4.0 (toml4j)
Примеры использования
Чтение конфигурации из строки:
String content;
MyConfig config = PrismConfig.getInstance().serialize(
MyConfig.class,
content,
DefaultSerializers.getInstance().json5(MyConfig.class) // Предполагаем, что конфиг в формате JSON5
);
Запись конфигурации в строку:
MyConfig content;
String config = PrismConfig.getInstance().deserialize(
MyConfig.class,
content,
DefaultDeserializers.getInstance().json5(MyConfig.class) // Предполагаем, что конфиг в формате JSON5
);
Запись конфигурации в файл:
MyConfig content;
File configFile;
PrismConfig.getInstance().deserializeAndWrite(
MyConfig.class,
content,
DefaultDeserializers.getInstance().json5(MyConfig.class), // Предполагаем, что конфиг в формате JSON5
configFile
);
Создание собственного сериализатора:
String content;
PrismConfig.getInstance().serialize(
MyConfig.class,
content,
(string) -> {
// Реализуйте собственную логику парсинга здесь
}
);
Используемые библиотеки
- Jankson от falkreon - лицензия MIT
- Gson от Google - лицензия Apache-2.0
- toml4j от Moandji Ezana - лицензия MIT