Cryonic Config

Chill Minimal Config API

706,30k

Быстрое задание

Как далеко вы сможете убежать, прежде чем вас поймают толпы?

Cryonic Config

Криогенная конфигурация

- Инструмент настройки, позволяющий легко переносить программу между версиями и имеющий минимальное количество зависимостей. - Специально разработан для удобства использования и переносимости. - Cryonic, потому что это чертовски круто.

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

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

API

Groovy (build.gradle) Добавить зависимость

Добавить Maven: ```groovy repositories { maven { url "https://api.modrinth.com/maven" } } ``` Modern/Architectury: Для использования только Fabric или Neoforge замените `${project.name}` на `fabric`,`forge`,`neoforge` ```groovy dependencies { modImplementation "maven.modrinth:cryonicconfig:fabric-${project.name}:1.0.0+mc${rootProject.minecraft_version}" } ```

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

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

```java // Вы можете сохранять или использовать это на лету, этот метод можно вызывать где угодно 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`: ```json { "depends": { "cryonicconfig": "*" } } ```

В файле `mods.toml`/`neoforge.mods.toml`: ```toml [[dependencies.cryonicconfig]] modId = "cryonicconfig" type = "required" versionRange = "[0,)" ```

ОБЪЯВЛЕНИЯ
RU — Russian