▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Cryonic Config
Cryonic Config

Cryonic Config

Cryonic Config - минималистичная API для конфигов в Minecraft. Простая, лёгкая в портировании, без лишних зависимостей. Настройка через JSON-файлы, синхронизация переменных между клиентом и сервером.

Оцените первым
737.1K
56

Cryonic Config - это API для работы с конфигурационными файлами в Minecraft. Если вы разрабатываете моды и устали от громоздких систем конфигов с кучей зависимостей, этот проект для вас. Он решает простую задачу: хранить настройки мода в JSON-файлах, легко портировать между версиями и синхронизировать переменные между клиентом и сервером.

Зачем это нужно

В ванильном Minecraft нет встроенной системы конфигов для модов. Каждый разработчик либо пишет свою обвязку, либо тянет тяжелые библиотеки вроде Cloth Config. Cryonic Config предлагает третий путь - минимализм. Никаких GUI, никаких лишних зависимостей, только JSON и пара методов в коде.

Как это работает

  • Все конфиги хранятся в папке config как mod_id.json
  • На раннем этапе загрузки читается словарь из cryonicconfig.json
  • Настройки редактируются напрямую в JSON-файлах - никаких экранов в игре
  • Для синхронизации переменные отправляются игроку в чат и перехватываются на клиенте
  • Используются хэш-карты для быстрого поиска: Str → ConfigStorage и Str → Obj

Для разработчиков

Подключение через Gradle

Сначала добавьте репозиторий Modrinth:

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

Для современных версий (Fabric/NeoForge):

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

Для b1.7.3 (Babric):

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);

// Можно задавать значения вручную
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,)"

Важно знать

  • Имена переменных нельзя повторять - они перезапишутся
  • Поддерживаются типы: int, double, boolean, String
  • Синхронизация работает только для подключенных игроков - если нужно, чтобы клиент использовал серверные значения, вызывай sync()
  • Настройки только через JSON - никаких GUI, так что для конечного пользователя это может быть неочевидно, но для разработчика - минимум кода и зависимостей

Если вы делаете мод под Fabric или NeoForge и не хотите тащить Cloth Config ради пары настроек - Cryonic Config выглядит как хороший вариант. Лёгкий, портируемый, без лишнего шума.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

b1.7.31.21.x1.20.x1.19.x1.18.x

Поддерживаемые окружения

Клиент и сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:1 год назад
Обновлён:5 месяцев назад
Главная