Config API

Quick rating

Config API

No reviews yet

Forge Like Config API with Screen.

No Theme
No Genre
QoL & Tweaks
UI & Menu Tool
API/Library
Mod Loaders
Forge
NeoForge
Fabric
Quilt
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
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

Compatibility

Supported Environments

Where It Runs
Client and Server

Must be installed on both the client and the server.

About

Project Details

Type
Mod
License
MIT License
Latest Version
ConfigAPI-CJ-forge-stable-mc-26.1-26.1-3.2.2.jar
Authors
CurseForge
Modrinth

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
Modrinth ID

Resources

External Links

About

Description

This is a Config API for Fabric, Forge, NeoForge and Quilt.

It has a Config Screen, which is automatically added, if the specific mod uses this as config system.


Changelog:

# CONFIG API VERSION 2.5.0

---

- Updated to Minecraft 1.21.5
- Changed ConfigRegister access, it's now static instead of a single-ton
- Added field to changed tracking of the config
- Fixed ConfigTracker tries to get config for changed path, also for configs which aren't for the tracker
- Fixed that you can register multiple configs with the same name
- Replaced ServicesLoader with an own system with PlatformHelper


# CONFIG API VERSION 2.4.1

---

- Fixed no longer attempts to load temporary files.
- Updated to Minecraft 1.21.4


# CONFIG API VERSION 2.4.0

--

- Added support for 1.21.2 and 1.21.3
- Removed support of background configs, due to many changes from Minecraft
- Changed the parameter order in the `registerConfig` method
- Cleaned-Up code and performance improvements
- Reworked the ConfigTracking for increasing efficient
- Changed the Position of the Reset All Server Config Button


# CONFIG API VERSION 2.3.2

---
- Fixed a crash, when opening the screen
- Added HolderHelper that's a utility class

# CONFIG API VERSION 2.3.1

---
- Added SimpleResourceLocation, because the new system is unnecessary

# CONFIG API VERSION 2.3.0

---
- Updated to 1.21 for Fabric and NeoForge


# CONFIG API VERSION 2.2.1

---
### Thanks to xLuPo, ornithoptercat
- Removed license from quilt.mod.json, to prevent a crash
- Added back the support for NeoForge 1.20.4
- Fixed Forge crash on 1.20.4, because of the Logo
- Fixed Server Compatibility, the ServiceLoader had tried to load Client methods on Server


CONFIG API VERSION 2.2.0

- Currently, this mod does not support Mod Menu
- You can set a custom Background for Fabric like this inside the fabric.mod.json, also for quilt:
  - ```
    "custom": {
      "configapi": {
        "configBackground": "minecraft:textures/block/deepslate.png",
        "configListBackground": "minecraft:textures/block/stone.png"
      }
    }
- Reworked the ListConfigScreen
  - Added Menu button Add
  - Added swap buttons
  - some technical things
- Added the ModLogo, from every specific mod to the top left
- Fixed a visual bug, where the list Gui Overlay is not rendered
- Added getValueAtIndex for ListConfigs
- Added in ConfigTypeSelectionScreen Config Type Titles
  - Added a config for disabling, default is false (not appearing)


CONFIG API VERSION 2.1.0

#The 1.20.3+ version is coming later

- Added custom backgrounds (You can set the screen and the list an own texture)
  - In Forge & NeoForge inside the mods.toml
  - ```
      [modproperites.MOD_ID]
          configBackground=minecraft:textures/block/bedrock.png
          configListBackground=minecraft:textures/block/stone.png
- Made the AddSpaceAfterCapitalLetter smarter
- Reworked the screen navigation buttons, now you can navigate between all config screens
  - Removed the Subtitle

CONFIG API VERSION 2.0.0

- Made the ConfigTracker more efficient
  - added a method to stop tracked configs
- Added Server support for Config with the type SERVER
  - These configs are only loaded on the server
  - The server configs are saved inside the worlds folder
    - That allows you to set specific things only in the World
- Added ConfigWorldSelectionScreen
  - If you want to open a Server config, and you are not in a world, you can choose which config do you want to modify
  - If you are inside a world, you can directly modify it
- Added an example config for the Config Screen
- fixed quilt mixin


CONFIG API VERSION 1.2.0

- Added CheckboxButton
- Added Deep Search
- If you are in a folder, and then enabling it, all configs in and after the folder will be displayed
- Now you need to type an '#' to search for tooltips
- Added new mechanics to the SearchBox
- A search suggestion
- It's now displayed with a search lupe
- If you had searched something, you can click on a delete button
- Fixed client config, does not tracked on fabric
- Optimized load & track method
- Rewritten the ConfigFileWriter for better performance
- Optimized some other things

CONFIG API VERSION 1.1.1
- Fixed server compatibility
- Added ConfigEditBox for friendlier usability
  - Now you can press Enter to get out of the EditBox/Searchbox
  - And some other things
- Fixed Enum & ListScreen's reset button, does not set correctly


CONFIG API VERSION 1.1.0

#Critical Changes: new file format is .cfg, moved directories, now it's not compatible with v1.0.0

- added navigation buttons
- the displayed config names have now a space after a capital letter
- fixed reset button, do not reset all configs
- removed reset all button in Config Screen
- rework of Config Type Selection Screen
  - Added Icons for the specific config type
  - Added reset button, to reset the file
  - Added Open Config File Button
- Added SearchBox as extra Widget
- Added ImageTextButton as extra Widget
- Added Services for getConfigDirectory, isModLoaded & getEnvironment

 CONFIG API VERSION 1.0.0
- Supported Modloaders Fabric, Forge, NeoForge and Quilt
- Fabric requires Fabric API
- Config Screen features:
  - Automatically added
  - Organized with categories
  - Currently available only for Forge and NeoForge
- Config files are saved and tracked only when you are in the specific environment
  - Common Configs are always tracked and directly loaded, they are the safest to use
- For usage instructions, please refer to the README.md file on GitHub
  - Access is currently not possible, due to the requirement of a password key

This is a Config API for Fabric, Forge, NeoForge and Quilt.

It has a Config Screen, which is automatically added, if the specific mod uses this as config system.

This is a "core" mod, specifically designed for multiloader projects. It allows you to create easily new configs, for Client, Common and Server, in the style of Forge's and NeoForge's Config System.

Why you should use this instead of Forge's and NeoForge's Config System?

  • Automatically adds a fully functional Config Screen
  • You can use more methods like getComments(), getKey(), getRange(), etc.
  • It's cross-platform for Fabric, Forge, NeoForge and Quilt

For developer
  1. Open your build.gradle
  2. Add this plugin to your other plugins
    • plugins {
          id 'io.github.0ffz.github-packages' version '1.2.+'
      }
      
  • Next step is, to add this repository:
    • repositories {
        maven githubPackage.invoke("Craftjakob/Config-API")
      }
      
  • After that, you can add a dependency and choose one of these implementations for your project. (If you can not use 'modImplementation' use 'compileOnly' and 'runtimeOnly')
    • dependencies {
        modImplementation "com.craftjakob:configapi-common:${mc_version}-${configapi_version}"
        modImplementation "com.craftjakob:configapi-fabric:${mc_version}-${configapi_version}"
        modImplementation "com.craftjakob:configapi-forge:${mc_version}-${configapi_version}"
        modImplementation "com.craftjakob:configapi-neoforge:${mc_version}-${configapi_version}"
        modImplementation "com.craftjakob:configapi-quilt:${mc_version}-${configapi_version}"
      }
      
  • Finally, you can reload your build.gradle.

For more information, visit the GitHub page.

Changelog

CONFIG API VERSION 2.4.0


  • Added support for 1.21.2 and 1.21.3
  • Removed support of background configs, due to many changes from Minecraft
  • Changed the parameter order in the registerConfig method
  • Cleaned-Up code and performance improvements
  • Reworked the ConfigTracking for increasing efficient
  • Changed the Position of the Reset All Server Config Button

CONFIG API VERSION 2.3.2


  • Fixed a crash, when opening the screen
  • Added HolderHelper that's a utility class

CONFIG API VERSION 2.3.1


  • Added SimpleResourceLocation, because the new system is unnecessary

CONFIG API VERSION 2.3.0


  • Updated to 1.21 for Fabric and NeoForge

CONFIG API VERSION 2.2.1


Thanks to xLuPo, ornithoptercat

  • Removed license from quilt.mod.json, to prevent a crash
  • Added back the support for NeoForge 1.20.4
  • Fixed Forge crash on 1.20.4, because of the Logo
  • Fixed Server Compatibility, the ServiceLoader had tried to load Client methods on Server

CONFIG API VERSION 2.0.0


  • Made the ConfigTracker more efficient
    • added a method to stop tracked configs
    • Added Server support for Config with the type SERVER
      • These configs are only loaded on the server
      • The server configs are saved inside the worlds folder
        • That allows you to set specific things only in the World
    • Added ConfigWorldSelectionScreen
      • If you want to open a Server config, and you are not in a world, you can choose which config do you want to modify
      • If you are inside a world, you can directly modify it
    • Added an example config for the Config Screen
    • fixed quilt mixin

CONFIG API VERSION 1.2.0


  • Added CheckboxButton
  • Added Deep Search
    • If your in a folder, and then enabling it, all configs in and after the folder will be displayed
    • Now you need to type an '#' to search for tooltips
    • Added new mechanics to the SearchBox
      • A search suggestion
      • It's now displayed with a search lupe
      • If you had searched something, you can click on a delete button
    • Fixed client config, does not tracked on fabric
    • Optimized load & track methode
    • Rewritten the ConfigFileWriter for better performance
    • Optimized some other things

CONFIG API VERSION 1.1.1


  • Fixed server compatibility
  • Added ConfigEditBox for friendlier usability
    • Now you can press Enter to get out of the EditBox/Searchbox
    • And some other things
    • Fixed Enum & ListScreen's reset button, does not set correctly

CONFIG API VERSION 1.1.0


Critical Changes: new file format is .cfg, moved directories, now it's not compatible with v1.0.0

  • added navigation buttons
  • the displayed config names have now a space after a capital letter
  • fixed reset button, do not reset all configs
  • removed reset all button in Config Screen
  • rework of Config Type Selection Screen
    • Added Icons for the specific config type
    • Added reset button, to reset the file
    • Added Open Config File Button
    • Added SearchBox as extra Widget
    • Added ImageTextButton as extra Widget
    • Added Services for getConfigDirectory, isModLoaded & getEnvironment

CONFIG API VERSION 1.0.0


  • Supported Modloaders Fabric, Forge, NeoForge and Quilt
  • Fabric requires Fabric API
  • Config Screen features:
    • Automatically added
    • Organized with categories
    • Currently available only for Forge and NeoForge
    • Config files are saved and tracked only when you are in the specific environment
      • Common Configs are always tracked and directly loaded, they are the safest to use
    • For usage instructions, please refer to the README.md file on Github
      • Access is currently not possible, due to the requirement of a password key

Screenshots

Gallery

  • Example ConfigScreen.png
    Example ConfigScreen.png Example ConfigScreen.png
  • Example ConfigSelectionScreen.png
    Example ConfigSelectionScreen.png Example ConfigSelectionScreen.png
  • Example Enum Config Screen.png
    Example Enum Config Screen.png Example Enum Config Screen.png
  • Example List Config Screen.png
    Example List Config Screen.png Example List Config Screen.png
  • Example ConfigScreen in Category.png
    Example ConfigScreen in Category.png Example ConfigScreen in Category.png
  • ConfigTypeSelectionScreen.png
    ConfigTypeSelectionScreen.png ConfigTypeSelectionScreen.png
  • ConfigTypeSelectionScreen Selected Config.png
    ConfigTypeSelectionScreen Selected Config.png ConfigTypeSelectionScreen Selected Config.png
  • ConfigScreen.png
    ConfigScreen.png ConfigScreen.png
  • ConfigScreen Category Tooltip.png
    ConfigScreen Category Tooltip.png ConfigScreen Category Tooltip.png
  • ConfigScreen Value with Tooltip.png
    ConfigScreen Value with Tooltip.png ConfigScreen Value with Tooltip.png
  • EnumScreen.png
    EnumScreen.png EnumScreen.png
  • ListScreen.png
    ListScreen.png ListScreen.png
  • Config API Example
    Config API Example
  • World Selection Screen Example
    World Selection Screen Example
  • Gilded Armor Mod Example
    Gilded Armor Mod Example

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

~960,000
Total Downloads
CurseForge
~910,000
Modrinth
~56,000
Last Updated
CurseForge
Modrinth
Created
CurseForge
Modrinth
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