nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Cryonic Config

Cryonic Config

Mod

Chill Minimal Config API

Library

85.7k downloads
21 followers

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://maven.periut.com/" }
}

Modern/Architectury:
For only fabric or neoforge, replace ${project.name} with fabric,forge,neoforge

dependencies {
    modImplementation "com.periut.cryonicconfig:cryonicconfig-${project.name}:1.0.0+mc${rootProject.minecraft_version}"
}

b1.7.3:

dependencies {
    modImplementation "com.periut.cryonicconfig: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,)"

External resources


Project members

Slainlight

Member


Technical information

License
MIT
Client side
unknown
Server side
unknown
Project ID