All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Cryonic Config

Cryonic Config

by Slainlight • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

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,)"

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Neoforge
20h ago 1
26.3
Fabric Quilt
20h ago 1
26.2
Neoforge
20h ago 1
26.2
Fabric Quilt
20h ago 1
26.1.x
Neoforge
20h ago 1
26.1.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
1.20.x
Forge
20h ago 1
1.20.x
Fabric Quilt
20h ago 1
1.18.x
Forge
20h ago 1
1.18.x
Fabric Quilt
20h ago 1
1.19.x
Forge
20h ago 1
1.19.x
Fabric Quilt
20h ago 1
1.20.x
Forge
20h ago 1
1.20.x
Neoforge
20h ago 1
1.20.x
Fabric Quilt
20h ago 1
1.20.x
Neoforge
20h ago 1
1.20.x
Fabric Quilt
20h ago 1
1.21.x
Neoforge
20h ago 1
1.21.x
Fabric Quilt
20h ago 1
b1.7.3
Babric Fabric
20h ago 1
Minecraft 26.3 for Fabric and NeoForge.
Minecraft 26.3 for Fabric and NeoForge.
1.21.6 release
1.21.6 release
Initial Release
Initial Release
Initial Release
Cryonic Config Icon
Download Cryonic Config
Select game version
Select platform