- Кросс-версионный инструмент для конфигурации с лёгким переносом и минимальными зависимостями
- Создан для удобства использования и портирования
- Название «Cryonic» выбрано потому что это круто
Объяснение функционала
- Хранит JSON-файлы в папке {minecraft_dir}/config под именем «mod_id.json»
- Все файлы конфигов читаются из словаря в «cryonicconfig.json» при ранней инициализации
- Настройки можно изменять только через редактирование JSON-файлов (GUI не планируется)
- Для синхронизации переменные отправляются игроку в чат и перехватываются
- Использует хэш-таблицы для связи строк с ConfigStorage и переменными
API
Добавление зависимости (Groovy)
Добавьте Maven-репозиторий:
repositories {
maven { url "https://maven.periut.com/" }
}
Для Architectury/Modern:
Замените ${project.name}
на fabric
, forge
или neoforge
dependencies {
modImplementation "com.periut.cryonicconfig:cryonicconfig-${project.name}:1.0.0+mc${rootProject.minecraft_version}"
}
Для b1.7.3:
dependencies {
modImplementation "com.periut.cryonicconfig: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);
// Прямая установка значений
config.setInt("varName", 3);
config.setDouble("name", 3.3);
config.setBoolean("var", true);
config.setString("str", "Geronimo!");
Указание зависимостей
Для fabric.mod.json
:
{
"depends": {
"cryonicconfig": "*"
}
}
Для mods.toml
:
[[dependencies.cryonicconfig]]
modId = "cryonicconfig"
type = "required"
versionRange = "[0,)"