

Cryonic Config
Активный0.0
Установок
Последнее обновление
Версии
Cryonic Config

Универсальный инструмент для работы с конфигурациями
Cryonic Config представляет собой удобный инструмент для управления настройками модов, который отличается минимальной зависимостью от других компонентов и простотой переноса между различными версиями Minecraft. Основной акцент сделан на легкости использования и портативности решения.
Как работает система
Все файлы конфигураций сохраняются в формате JSON в папке {minecraft_dir}/config
под названиями вида "mod_id.json". При начальной загрузке система читает все конфигурационные файлы через словарь, указанный в "cryonicconfig.json".
Настройки можно изменять только путем прямого редактирования JSON-файлов — графический интерфейс для конфигурации не предусмотрен. Для обеспечения удобной синхронизации между клиентом и сервером синхронизированные переменные передаются непосредственно игроку через чат и перехватываются системой.
Использование API
Добавление зависимости в Groovy (build.gradle)
Добавьте Maven-репозиторий:
repositories {
maven { url "https://api.modrinth.com/maven" }
}
Для современных версий и Architectury (замените ${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");
// Поддерживаются целые числа, числа с плавающей точкой, логические значения и строки
// При получении значения устанавливается значение по умолчанию
// Формат получения: (название переменной, значение по умолчанию)
// Нельзя повторно использовать названия переменных — они будут перезаписаны
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,)"