{"id":45065,"date":"2026-06-02T07:17:02","date_gmt":"2026-06-02T04:17:02","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/"},"modified":"2026-06-02T07:17:02","modified_gmt":"2026-06-02T04:17:02","slug":"config-api","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/","title":{"rendered":"Config API"},"content":{"rendered":"<p>## This is a Config API for Fabric, Forge, NeoForge and Quilt.<\/p>\n<p>It has a Config Screen, which is automatically added, if the specific mod uses this as config system.<\/p>\n<p>This is a &#8220;core&#8221; mod, specifically designed for multiloader projects. It allows you to create easily new configs, for Client, Common and Server, in the style of Forge&#8217;s and NeoForge&#8217;s Config System.<\/p>\n<p>### Why you should use this instead of Forge&#8217;s and NeoForge&#8217;s Config System?<br \/>\n&#8211; Automatically adds a fully functional Config Screen<br \/>\n&#8211; You can use more methods like getComments(), getKey(), getRange(), etc.<br \/>\n&#8211; It&#8217;s cross-platform for Fabric, Forge, NeoForge and Quilt<\/p>\n<p>&#8212;<\/p>\n<details>\n<summary>For developer<\/summary>\n<p>1. Open your build.gradle<br \/>\n2. Add this plugin to your other plugins<br \/>\n    &#8211; &#8220;`<br \/>\n      plugins {<br \/>\n          id &#8216;io.github.0ffz.github-packages&#8217; version &#8216;1.2.+&#8217;<br \/>\n      }<br \/>\n      &#8220;`<br \/>\n3. Next step is, to add this repository:<br \/>\n    &#8211; &#8220;`<br \/>\n      repositories {<br \/>\n        maven githubPackage.invoke(&#8220;Craftjakob\/Config-API&#8221;)<br \/>\n      }<br \/>\n      &#8220;`<br \/>\n4. After that, you can add a dependency and choose one of these implementations for your project. (If you can not use &#8216;modImplementation&#8217; use &#8216;compileOnly&#8217; and &#8216;runtimeOnly&#8217;)<br \/>\n    &#8211; &#8220;`<br \/>\n      dependencies {<br \/>\n        modImplementation &#8220;com.craftjakob:configapi-common:${mc_version}-${configapi_version}&#8221;<br \/>\n        modImplementation &#8220;com.craftjakob:configapi-fabric:${mc_version}-${configapi_version}&#8221;<br \/>\n        modImplementation &#8220;com.craftjakob:configapi-forge:${mc_version}-${configapi_version}&#8221;<br \/>\n        modImplementation &#8220;com.craftjakob:configapi-neoforge:${mc_version}-${configapi_version}&#8221;<br \/>\n        modImplementation &#8220;com.craftjakob:configapi-quilt:${mc_version}-${configapi_version}&#8221;<br \/>\n      }<br \/>\n      &#8220;`<br \/>\n5. Finally, you can reload your build.gradle.<\/p>\n<p>For more information, visit the GitHub page.<\/p>\n<\/details>\n<details>\n<summary>Changelog<\/summary>\n<p>  # CONFIG API VERSION 2.4.0<\/p>\n<p>&#8212;<br \/>\n&#8211; **Added** support for 1.21.2 and 1.21.3<br \/>\n&#8211; **Removed** support of background configs, due to many changes from Minecraft<br \/>\n&#8211; **Changed** the parameter order in the `registerConfig` method<br \/>\n&#8211; **Cleaned-Up** code and performance improvements<br \/>\n&#8211; **Reworked** the ConfigTracking for increasing efficient<br \/>\n&#8211; **Changed** the Position of the Reset All Server Config Button<\/p>\n<p># CONFIG API VERSION 2.3.2<\/p>\n<p>&#8212;<br \/>\n&#8211; Fixed a crash, when opening the screen<br \/>\n&#8211; Added HolderHelper that&#8217;s a utility class<\/p>\n<p># CONFIG API VERSION 2.3.1<\/p>\n<p>&#8212;<br \/>\n&#8211; Added SimpleResourceLocation, because the new system is unnecessary<\/p>\n<p># CONFIG API VERSION 2.3.0<\/p>\n<p>&#8212;<br \/>\n&#8211; Updated to 1.21 for Fabric and NeoForge<\/p>\n<p># CONFIG API VERSION 2.2.1<\/p>\n<p>&#8212;<br \/>\n### Thanks to xLuPo, ornithoptercat<br \/>\n&#8211; Removed license from quilt.mod.json, to prevent a crash<br \/>\n&#8211; Added back the support for NeoForge 1.20.4<br \/>\n&#8211; Fixed Forge crash on 1.20.4, because of the Logo<br \/>\n&#8211; Fixed Server Compatibility, the ServiceLoader had tried to load Client methods on Server<\/p>\n<p># CONFIG API VERSION 2.0.0<\/p>\n<p>&#8212;<\/p>\n<p>&#8211; Made the ConfigTracker more efficient<br \/>\n  &#8211; added a method to stop tracked configs<br \/>\n&#8211; Added Server support for Config with the type SERVER<br \/>\n  &#8211; These configs are only loaded on the server<br \/>\n  &#8211; The server configs are saved inside the worlds folder<br \/>\n    &#8211; That allows you to set specific things only in the World<br \/>\n&#8211; Added ConfigWorldSelectionScreen<br \/>\n  &#8211; 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<br \/>\n  &#8211; If you are inside a world, you can directly modify it<br \/>\n&#8211; Added an example config for the Config Screen<br \/>\n&#8211; fixed quilt mixin<\/p>\n<p># CONFIG API VERSION 1.2.0<\/p>\n<p>&#8212;<\/p>\n<p>&#8211; Added CheckboxButton<br \/>\n&#8211; Added Deep Search<br \/>\n  &#8211; If your in a folder, and then enabling it, all configs in and after the folder will be displayed<br \/>\n&#8211; Now you need to type an &#8216;#&#8217; to search for tooltips<br \/>\n&#8211; Added new mechanics to the SearchBox<br \/>\n  &#8211; A search suggestion<br \/>\n  &#8211; It&#8217;s now displayed with a search lupe<br \/>\n  &#8211; If you had searched something, you can click on a delete button<br \/>\n&#8211; Fixed client config, does not tracked on fabric<br \/>\n&#8211; Optimized load &#038; track methode<br \/>\n&#8211; Rewritten the ConfigFileWriter for better performance<br \/>\n&#8211; Optimized some other things<\/p>\n<p># CONFIG API VERSION 1.1.1<\/p>\n<p>&#8212;<\/p>\n<p>&#8211; Fixed server compatibility<br \/>\n&#8211; Added ConfigEditBox for friendlier usability<br \/>\n  &#8211; Now you can press Enter to get out of the EditBox\/Searchbox<br \/>\n  &#8211; And some other things<br \/>\n&#8211; Fixed Enum &#038; ListScreen&#8217;s reset button, does not set correctly<\/p>\n<p># CONFIG API VERSION 1.1.0<\/p>\n<p>&#8212;<br \/>\n#### Critical Changes: new file format is .cfg, moved directories, now it&#8217;s not compatible with v1.0.0<\/p>\n<p>&#8211; added navigation buttons<br \/>\n&#8211; the displayed config names have now a space after a capital letter<br \/>\n&#8211; fixed reset button, do not reset all configs<br \/>\n&#8211; removed reset all button in Config Screen<br \/>\n&#8211; rework of Config Type Selection Screen<br \/>\n  &#8211; Added Icons for the specific config type<br \/>\n  &#8211; Added reset button, to reset the file<br \/>\n  &#8211; Added Open Config File Button<br \/>\n&#8211; Added SearchBox as extra Widget<br \/>\n&#8211; Added ImageTextButton as extra Widget<br \/>\n&#8211; Added Services for getConfigDirectory, isModLoaded &#038; getEnvironment<\/p>\n<p># CONFIG API VERSION 1.0.0<\/p>\n<p>&#8212;<br \/>\n&#8211; Supported Modloaders Fabric, Forge, NeoForge and Quilt<br \/>\n&#8211; Fabric requires Fabric API<br \/>\n&#8211; Config Screen features:<br \/>\n    &#8211; Automatically added<br \/>\n    &#8211; Organized with categories<br \/>\n    &#8211; Currently available only for Forge and NeoForge<br \/>\n&#8211; Config files are saved and tracked only when you are in the specific environment<br \/>\n    &#8211; Common Configs are always tracked and directly loaded, they are the safest to use<br \/>\n&#8211; For usage instructions, please refer to the README.md file on Github<br \/>\n    &#8211; Access is currently not possible, due to the requirement of a password key<br \/>\n<\/details>\n","protected":false},"excerpt":{"rendered":"<p>A Config API for Fabric, Forge, NeoForge and Quilt<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"config-api","_minecraft_project_id":"bfjLzhke","_minecraft_author":"Craftjakob","_minecraft_license":"MIT","_minecraft_downloads":35771,"_minecraft_follows":13,"_minecraft_client_side":"required","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"config-api.zip","_minecraft_size_bytes":19988058,"_minecraft_version_count":51,"_minecraft_updated_at":"2026-05-16T14:06:32.834756Z","_minecraft_date_created":"2024-11-04T02:35:15.452243Z","_minecraft_date_modified":"2026-04-05T17:09:25.017624Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/config-api","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-02T04:17:04+00:00","_minecraft_import_hash":"5c2d01c5518b5c8b46cb3349ee31f31a","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[],"mod_loader":[],"minecraft_version":[],"class_list":["post-45065","mod","type-mod","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Config API - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Config API - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Config API for Fabric, Forge, NeoForge and Quilt\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/config-api\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/config-api\\\/\",\"name\":\"Config API - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-02T04:17:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/config-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/config-api\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/config-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Config API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Config API - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/","og_locale":"en_US","og_type":"article","og_title":"Config API - Minecraft","og_description":"A Config API for Fabric, Forge, NeoForge and Quilt","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/","name":"Config API - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-02T04:17:02+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/config-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/config-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Config API"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/45065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=45065"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=45065"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=45065"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=45065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}