Скачать Prism Config — Minecraft Моды — MetaMods

Prism Config

Активный

Установок

0

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

2 года назад

Версии

1.14 — 1.19.3
Клиент
Fabric
Quilt
Библиотеки

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
Участники проекта
Flamarine

Flamarine

Разработчик

Создан: 23 дек 2022

ID: 3212