All versions
1.1.0
Release
Fly's config lib 1.1.05 months ago 652
Compatibility
Minecraft: Java Edition
1.20.x
Platform
Forge
Supported environments
Client and server
Changes
- Generic JSON config manager with typed deserialization (JsonConfigManager<T>)
- Auto-creates default config file if missing
- Hot-reload on file change detection (reloadIfChanged)
- Corrupted config auto-backup with timestamp before falling back to defaults
- Raw JsonObject access for advanced manual parsing
- In-place config modification with auto-save (modify(Consumer<T>))
- Registry lookup with caching for items, blocks, and entity types (RegistryConfigHelper)
- Handles both namespaced (mod:id) and bare (id โ minecraft:id) resource locations
- NBT pattern matching on ItemStacks (NbtPatternMatcher)
- Partial NBT matching โ pattern only needs to be a subset of the item's full NBT
- Exact NBT matching via = prefix on pattern string
- List matching โ strict (all pattern elements must be in stack list) or non-strict (any one matches)
- Recursive compound tag matching
- Numeric type-insensitive comparison (ShortTag(2s) matches IntTag(2))
- Pattern cache to avoid re-parsing the same pattern string repeatedly
- Regex-based config key mapping with capture group support (RegexConfigHelper)
- Exact string mappings and regex: prefixed pattern mappings in the same config block
- Capture group substitution in mapped values via $1, $2, etc.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:IHPSstUI:k0XWlBZR"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:IHPSstUI:k0XWlBZR"
}

