What are you searching for?

Cryonic Config
Cryonic Config

Cryonic Config

Chill Minimal Config API

download 458.9K Downloads · favorite 42 Followers · Updated 1 month ago
Babric Fabric Forge Library Neoforge Quilt b1.7.3 1.18 1.18.1 1.18.2 1.19 +23 more

Versions

inventory_2
[1.21.11] NeoForge 1.0.0

neoforge-1.21.11-1.0.0 · 1 month ago · 130.71 KB

Release download
Neoforge 1.21 1.21.1 1.21.2
inventory_2
[1.21.11] Fabric 1.0.0

fabric-1.21.11-1.0.0 · 1 month ago · 21.19 KB

Release download
Fabric Quilt 1.21 1.21.1 1.21.2
inventory_2
[1.21.10] NeoForge 1.0.0

neoforge-1.21.10-1.0.0 · 3 months ago · 131.10 KB

Release download
Neoforge 1.21 1.21.1 1.21.2
inventory_2
[1.21.10] Fabric 1.0.0

fabric-1.21.10-1.0.0 · 3 months ago · 21.58 KB

Release download
Fabric Quilt 1.21 1.21.1 1.21.2
inventory_2
[1.21.9] NeoForge 1.0.0

neoforge-1.21.9-1.0.0 · 4 months ago · 131.10 KB

Release download
Neoforge 1.21 1.21.1 1.21.2

About

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,)"
open_in_new View on Modrinth
Categories
Compatibility
Client: Optional Server: Optional
gavel MIT

Conversation

What are your thoughts?

Related projects

Library
Fabric API
Fabric API

by modmuss50

Lightweight and modular API providing common hooks and intercompatibility measures utilized by mods using the Fabric toolchain.

download 127.9M
favorite 27,365
Library
Cloth Config API
Cloth Config API

by shedaniel

Configuration Library for Minecraft Mods

download 94.0M
favorite 13,653
Library Management Utility
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL)

by isxander

A builder-based configuration library for Minecraft!

download 65.8M
favorite 7,589
Library
Architectury API
Architectury API

by shedaniel

An intermediary api aimed to ease developing multiplatform mods.

download 60.8M
favorite 6,641
lock Cookie consent

SkinMC uses cookies to provide functionality and features.