Config Lib makes dealing with config files just a bit easier.
SuperMartijn642's Config Lib allows you to specify a config once and it then handles reloading values between world loads, syncing values with clients, and generating values for client- or server-only on its own.
A config is created using a ModConfigBuilder.
Simply create a new instance using #ModConfigBuilder().
ModConfigBuilder builder = new ModConfigBuilder();
A value can be added to the config with ModConfigBuilder#define which takes a name and a default value.
For integer and double values a minimum and maximum value are also required.
ModConfigBuilder#define returns a Supplier which should be stored to retrieve the value from the config.
Supplier<Boolean> booleanValue = builder.define( "booleanValue", true );
Supplier<Integer> integerValue = builder.define( "integerValue", 5, 0, 10 );
Supplier<Double> doubleValue = builder.define( "doubleValue", 0.5, 0, 1);
Supplier<ExampleEnum> enumValue = builder.define( "enumValue", ExampleEnum.VALUE_1 );
A comment can be added to a value by calling ModConfigBuilder#comment(String) before defining the value.
Supplier<Boolean> valueWithComment = builder.comment( "this is a comment for 'valueWithComment'" ).define( "valueWithComment ", true );
By default values are reloaded when world is loaded.
This can be changed to only reload a value when Minecraft launches by calling ModConfigBuilder#gameRestart() before defining the value.
Supplier<Boolean> notReloadedValue = builder.comment( "this is value will not be reloaded" ).define( "notReloadedValue", true );
Values in COMMON or SERVER configs are synchronized with clients by default, to prevent this use ModConfigBuilder#dontSync().
Supplier<Boolean> notSynchronizedValue = builder.comment( "this is value will not be synchronized" ).define( "notSynchronizedValue", true );
Values can also be put into categories.
ModConfigBuilder#push(String) pushes a category and ModConfigBuilder#pop() pops a category.
builder.push( "special" );
Supplier<Boolean> specialValue = builder.comment( "this value is in the 'special' category" ).define( "specialValue", true );
builder.pop();
A comment can be added to the active category using ModConfigBuilder#categoryComment(String).
builder.push( "client" ).categoryComment( "this, is a comment for the 'client' category" );
After defining all values ModConfigBuilder#build() must be called to finish the config.
builder.build();
Now the values in your config will reloaded and synced automatically and the values can be retrieved using the stored Supplier instances.
This will work for all available versions, that includes Minecraft 1.12, 1.14, 1.15, 1.16, 1.17, 1.18, and 1.19.
For a concrete example of how to use Config Lib checkout the example mod.
Can I use your mod in my modpack?
Yes, feel free to use my mod in your modpack
For future content, upcoming mods, and discussion, feel free to join the SuperMartijn642 discord server!

Optional
Optional
Terms for using, modifying and redistributing this product.
23.06.2026 · Modrinth
Screenshots and images from the original Modrinth page.


Published versions and original Modrinth files.
23.06.2026 · 59 241 downloads
23.06.2026 · 28 445 downloads
23.06.2026 · 2 170 downloads
23.06.2026 · 1 588 downloads
23.06.2026 · 3 031 downloads
23.06.2026 · 1 810 downloads
25.12.2025 · 22 186 downloads
25.12.2025 · 555 479 downloads
25.12.2025 · 21 150 downloads
03.10.2025 · 37 997 downloads
30.06.2025 · 44 731 downloads
19.07.2024 · 1 155 272 downloads
19.07.2024 · 1 529 downloads
19.07.2024 · 7 679 615 downloads
19.07.2024 · 11 637 downloads
19.07.2024 · 72 165 downloads
19.07.2024 · 3 027 downloads
04.02.2024 · 7 316 downloads
20.12.2023 · 1 133 downloads
07.10.2023 · 188 319 downloads
07.10.2023 · 6 262 662 downloads
07.10.2023 · 77 420 downloads
07.10.2023 · 15 263 downloads
21.09.2023 · 19 534 downloads
21.09.2023 · 1 640 downloads
21.08.2023 · 38 597 downloads
21.08.2023 · 4 350 downloads
21.08.2023 · 1 070 downloads
21.08.2023 · 9 070 567 downloads
21.08.2023 · 1 810 946 downloads
21.08.2023 · 114 018 downloads
21.08.2023 · 1 122 downloads
21.08.2023 · 120 957 downloads
21.08.2023 · 1 761 downloads
21.08.2023 · 2 838 downloads
21.08.2023 · 137 676 downloads
07.07.2023 · 37 514 downloads
07.07.2023 · 7 078 downloads
07.07.2023 · 550 downloads
07.07.2023 · 78 806 downloads
07.07.2023 · 6 476 downloads
07.07.2023 · 2 906 downloads
07.07.2023 · 413 downloads
07.07.2023 · 11 427 downloads
07.07.2023 · 200 downloads
07.07.2023 · 186 downloads
07.07.2023 · 2 226 downloads
07.06.2023 · 7 530 downloads
07.06.2023 · 59 795 downloads
17.04.2023 · 25 634 downloads
17.04.2023 · 762 downloads
15.07.2022 · 13 893 downloads
15.07.2022 · 35 731 downloads
15.07.2022 · 319 downloads
15.07.2022 · 21 214 downloads
15.07.2022 · 262 downloads
15.07.2022 · 280 downloads
15.07.2022 · 4 211 downloads