Config X

Quick rating

Community listing page, reviews here may not be monitored by the author.

Config X

No reviews yet

A fabric API library for plugins to load & save configurations

Mod Loaders
Fabric
Minecraft

Community voices

Reviews

List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Show per page
10
25
50
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
configx-2.0.1.jar

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Config X

Author LICENSE Stars Github Workflow Status

Description

This is a fabric API library for plugins to load & save configurations.

Installation

Add the following to your build script:

repositories {
    maven {
        url = uri("https://repo.codemc.io/repository/tetoe-mc")
    }
}

dependencies {
    // Approach #1: Ensure Config X is always available by including it within your own jar
    include(modImplementation("space.nocp:configx:2.0.1"))

    // Approach #2: Depend on Config X, but require that users install it themselves
    modImplementation "space.nocp:configx:2.0.1"
}

Then refresh your project.

Usage

Remember to import the package before starting.

import space.nocp.configx.api.*;

Register a configuration

Before registering a configuration, you need to write a class describing the configuration object and prepare a default configuration. Here, let's call the class ConfigType.

// ...
Configuration config = ConfigManager.get().register("my-config", defaultConfig, ConfigType.class);

Get a configuration

After registering your configuration, you can use config() method to get the configuration at anywhere in your project.

Configuration config = ConfigManager.get().config("my-config");

Get & set the configuration object

Configuration config = ...;
ConfigType configObj = config.get();

configObj.myValue = "Hello World";
config.set(configObj);
config.save(); // Remember to save the config after setting it

Load the configuration from the file system manually

Usually, the configuration is always up-to-date with the one storing in the file system. But sometimes, you may want to refresh it manually.

Configuration config = ...;
config.load();

Get the info of the configuration

Configuration config = ...;

String id = config.id; // my-config
config.getFileName(); // my-config.json
config.getPath().toString(); // C:/path/to/config/my-config.json

Use custom Gson to parse JSON

Config X stores your configuration in the JSON format. When you stores objects that requires custom serializers and deserializers, you need to build your own Gson to achieve this.

Before registering your configuration, you need to prepare your Gson in advance. Here, let's assume we already have a custom Gson object called myGson.

Just simply add the Gson object as a parameter after all the parameters in register() method, and the parsing operations will be done with the provided Gson.

// ...
Configuration config = ConfigManager.get().register("my-config", defaultConfig, ConfigType.class, myGson);

For more information about custom serializer and deserializer in Gson, see the article: Building a Personalized Serializer and Deserializer using Java Gson Library

Build from source

git clone https://github.com/tetoe-mc/configx.git
cd configx
./gradlew build

Then you can get the jar file in the build folder.

LICENSE

CC0 1.0

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works