- 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,)"
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
[26.3] NeoForge 1.0.0 neoforge-26.3-1.0.0 |
26.3
|
neoforge
|
Download |
|
[26.3] Fabric 1.0.0 fabric-26.3-1.0.0 |
26.3
|
fabric, quilt
|
Download |
|
[26.2] NeoForge 1.0.0 neoforge-26.2-1.0.0 |
26.2
|
neoforge
|
Download |
|
[26.2] Fabric 1.0.0 fabric-26.2-1.0.0 |
26.2
|
fabric, quilt
|
Download |
|
[26.1.2] NeoForge 1.0.0 neoforge-26.1.2-1.0.0 |
26.1, 26.1.1, 26.1.2
|
neoforge
|
Download |
|
[26.1.2] Fabric 1.0.0 fabric-26.1.2-1.0.0 |
26.1, 26.1.1, 26.1.2
|
fabric, quilt
|
Download |
|
[1.21.11] NeoForge 1.0.0 neoforge-1.21.11-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
neoforge
|
Download |
|
[1.21.11] Fabric 1.0.0 fabric-1.21.11-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
|
fabric, quilt
|
Download |
|
[1.21.10] NeoForge 1.0.0 neoforge-1.21.10-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
neoforge
|
Download |
|
[1.21.10] Fabric 1.0.0 fabric-1.21.10-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10
|
fabric, quilt
|
Download |
|
[1.21.9] NeoForge 1.0.0 neoforge-1.21.9-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
|
neoforge
|
Download |
|
[1.21.9] Fabric 1.0.0 fabric-1.21.9-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
|
fabric, quilt
|
Download |
|
[1.21.8] NeoForge 1.0.0 neoforge-1.21.8-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8
|
neoforge
|
Download |
|
[1.21.8] Fabric 1.0.0 fabric-1.21.8-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8
|
fabric, quilt
|
Download |
|
[1.21.7] NeoForge 1.0.0 neoforge-1.21.7-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7
|
neoforge
|
Download |
|
[1.21.7] Fabric 1.0.0 fabric-1.21.7-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7
|
fabric, quilt
|
Download |
|
[1.21.6] NeoForge 1.0.0 neoforge-1.21.6-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6
|
neoforge
|
Download |
|
[1.21.6] Fabric 1.0.0 fabric-1.21.6-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6
|
fabric, quilt
|
Download |
|
[1.20.1] Forge 1.0.0 forge-1.20.1-1.0.0 |
1.20, 1.20.1
|
forge
|
Download |
|
[1.20.1] Fabric 1.0.0 fabric-1.20.1-1.0.0 |
1.20, 1.20.1
|
fabric, quilt
|
Download |
|
[1.18.x] Forge 1.0.0 forge-1.18.x-1.0.0 |
1.18, 1.18.1, 1.18.2
|
forge
|
Download |
|
[1.18.x] Fabric 1.0.0 fabric-1.18.x-1.0.0 |
1.18, 1.18.1, 1.18.2
|
fabric, quilt
|
Download |
|
[1.19.x] Forge 1.0.0 forge-1.19.x-1.0.0 |
1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
|
forge
|
Download |
|
[1.19.x] Fabric 1.0.0 fabric-1.19.x-1.0.0 |
1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
|
fabric, quilt
|
Download |
|
[1.20.4] Forge 1.0.0 forge-1.20.4-1.0.0 |
1.20.2, 1.20.3, 1.20.4
|
forge
|
Download |
|
[1.20.4] NeoForge 1.0.0 neoforge-1.20.4-1.0.0 |
1.20.2, 1.20.3, 1.20.4
|
neoforge
|
Download |
|
[1.20.4] Fabric 1.0.0 fabric-1.20.4-1.0.0 |
1.20.2, 1.20.3, 1.20.4
|
fabric, quilt
|
Download |
|
[1.20.6] NeoForge 1.0.0 neoforge-1.20.6-1.0.0 |
1.20.5, 1.20.6
|
neoforge
|
Download |
|
[1.20.6] Fabric 1.0.0 fabric-1.20.6-1.0.0 |
1.20.5, 1.20.6
|
fabric, quilt
|
Download |
|
[1.21.x] NeoForge 1.0.0 neoforge-1.21.4-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
neoforge
|
Download |
|
[1.21.x] Fabric 1.0.0 fabric-1.21.4-1.0.0 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5
|
fabric, quilt
|
Download |
|
[b1.7.3] Babric 1.0.0 babric-b1.7.3-1.0.0 |
b1.7.3
|
babric, fabric
|
Download |
