Перейти к содержимому
Mineforgian

Cryonic Config

Chill Minimal Config API

Загрузки
828K
Подписчики
58
Обновлён
20 июня 2026 г.
Лицензия
MIT

Опубликован 26 февраля 2025 г.

Cryonic Config

  • Cross-version easy to port config tool with minimal dependencies
  • Specifically targeting ease of use and portability
  • Cryonic because it's cool as hell

Explanation of Functionality

  • This will store jsons in {minecraft_dir}/config as "mod_id.json"
  • All config files will be read by dictionary in "cryonicconfig.json" on early init
  • Configs are only configurable by editing the jsons directly, no plans of GUI config
  • For ease of portability, synced variables are sent directly to a player in chat, and intercepted
  • Hashmaps are used to look up Str to ConfigStorage and Str to Obj (variable)

API

Groovy (build.gradle) Add Dependency

Add Maven:

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

Modern/Architectury:
For only fabric or neoforge, replace ${project.name} with 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"
}

Simple Usage:

// You can store or use on the fly, this can be called anywhere
ConfigStorage config = CryonicConfig.getConfig("mod_id");

// You can store ints, doubles, booleans, and strings
// By getting them, you are setting their default value too
// getter format (variable name, default value)
// You cannot reuse variable names! They will be overridden.
config.getInt("varName", 3);
config.getDouble("name", 3.3);
config.getBoolean("var", true);
config.getString("str", "Geronimo!")

// The variable will exist locally on client and server
// If you want a connected server player to use a server config
// You must call, making client use the server's value 
config.sync("varName", playerEntity);

// Feel free to use this format:
CryonicConfig.getConfig("mod_id").getInt("varName", 3);

// You can set variables manually, instead of letting get generate them
// This is also useful for overriding old values
config.setInt("varName", 3);
config.setDouble("name", 3.3);
config.setBoolean("var", true);
config.setString("str", "Geronimo!");

Mark Dependency

In fabric.mod.json:

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

In mods.toml/neoforge.mods.toml:

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

Центр версий

1 из 30
  • Релиз20 КБ

Ченджлог

neoforge-1.21.7-1.0.0Релиз1.21.5, 1.21.6, 1.21.7 · 7 июля 2025 г.
fabric-1.21.7-1.0.0Релиз1.21.5, 1.21.6, 1.21.7 · 7 июля 2025 г.
neoforge-1.21.6-1.0.0Релиз1.21.4, 1.21.5, 1.21.6 · 28 июня 2025 г.

1.21.6 release

fabric-1.21.6-1.0.0Релиз1.21.4, 1.21.5, 1.21.6 · 28 июня 2025 г.

1.21.6 release

neoforge-1.21.4-1.0.0Релиз1.21.3, 1.21.4, 1.21.5 · 27 февраля 2025 г.

Initial Release

fabric-1.21.4-1.0.0Релиз1.21.3, 1.21.4, 1.21.5 · 27 февраля 2025 г.

Initial Release

babric-b1.7.3-1.0.0Релизb1.7.3 · 27 февраля 2025 г.

Initial Release

Комментарии

Загружаем…