Cryonic Config avatar

Cryonic Config [1.21.7] [1.20.6] [1.19.4]

Cryonic Config

  • Кросс-версионный инструмент для конфигурации с минимальными зависимостями, обеспечивающий простой перенос
  • Специально разработан для удобства использования и портируемости
  • Название Cryonic выбрано потому, что это очень круто

Объяснение функциональности

  • Хранение JSON-файлов в {minecraft_dir}/config под именами "mod_id.json"
  • Все файлы конфигурации читаются из словаря в "cryonicconfig.json" на этапе ранней инициализации
  • Конфиги настраиваются только путём прямого редактирования JSON-файлов, поддержка GUI не планируется
  • Для упрощения переноса синхронизируемые переменные отправляются игроку непосредственно в чат и перехватываются
  • Для поиска используются хэш-карты: Str → ConfigStorage и Str → Obj (переменная)

API

Добавление зависимости (Groovy, build.gradle)

Добавьте Maven-репозиторий:

repositories {
    maven { url "https://api.modrinth.com/maven" }
}

Modern/Architectury:
Для Fabric или NeoForge замените ${project.name} на fabric,forge или neoforge

dependencies {
    modImplementation "maven.modrinth:cryonicconfig:fabric-${project.name}:1.0.0+mc${rootProject.minecraft_version}"
}

b1.7.3:

dependencies {
    modImplementation "maven.modrinth:cryonicconfig:babric:1.0.0+mcb1.7.3"
}

Простое использование:

// Можно сохранить или использовать напрямую, вызов возможен в любом месте
ConfigStorage config = CryonicConfig.getConfig("mod_id");

// Поддерживаются int, double, boolean, string
// При получении устанавливается значение по умолчанию
// Формат геттера: (имя переменной, значение по умолчанию)
// Нельзя повторять имена переменных! Они будут перезаписаны.
config.getInt("varName", 3);
config.getDouble("name", 3.3);
config.getBoolean("var", true);
config.getString("str", "Geronimo!")

// Переменная будет доступна локально на клиенте и сервере
// Для использования серверного конфига игроком
// Вызовите синхронизацию, чтобы клиент использовал значение сервера 
config.sync("varName", playerEntity);

// Допустим такой формат:
CryonicConfig.getConfig("mod_id").getInt("varName", 3);

// Ручная установка значений вместо генерации через get
// Также полезно для переопределения старых значений
config.setInt("varName", 3);
config.setDouble("name", 3.3);
config.setBoolean("var", true);
config.setString("str", "Geronimo!");

Указание зависимости

В fabric.mod.json:

{
  "depends": {
    "cryonicconfig": "*"
  }
}

В mods.toml/neoforge.mods.toml:

[[dependencies.cryonicconfig]]
modId = "cryonicconfig"
type = "required"
versionRange = "[0,)"

Скачать Cryonic Config

 
Тип Скачать Версия Загрузчик Обновлено Размер
Release[1.19.x] Forge 1.0.01.19.3+4 Forge28 февраля 2025130,6 КБ
Release[1.18.x] Fabric 1.0.01.18.1+2 Fabric28 февраля 202520,9 КБ
Release[1.18.x] Forge 1.0.01.18.1+2 Forge28 февраля 202514,2 КБ
Release[1.20.1] Fabric 1.0.01.20.1+1 Fabric28 февраля 202520,9 КБ
Release[1.20.1] Forge 1.0.01.20.1+1 Forge28 февраля 2025130,6 КБ
Release[1.21.4] Fabric 1.0.01.21+4 Fabric27 февраля 202521,6 КБ
Release[1.21.4] NeoForge 1.0.01.21+4 NeoForge27 февраля 2025131,1 КБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.