Tags
Creators
Details
Licensed MIT
Published 4 months ago
Updated last month
All versions
3.0.0+1.20.1
Release
S-Lib 3.0.0 - Fabric 1.20.1last month 222
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Fabric
Supported environments
Client-side
Server-side
Client and server
Changes
Full Changelog
3.0.0+1.20.1
This update adds a brand-new and easy-to-use config system!
New Features
- Completely redesigned the config module from the ground up, making registering your configs possible in one line of code using
SLibConfig.syncedBuilder()andSLibConfig.localBuilder(). - Newly added config fields are automatically inserted with default values, old/useless keys are removed.
- Seven new annotations:
@Sync:OVERRIDE_CLIENT: server authoritative config, syncs to the client. Config broadcasts on login and updates in real time. Supports configurable permission checks (e.g., OP-only).INFORM_SERVER: local config, informs server of changesNONE: local config, no network sync
@RangeInt: clamps an int config field to a specified range@RangeFloat: clamps a float config field to a specified range@RangeDouble: clamps a double config field to a specified range@Comment: allows for comments to be added to config fields (supports text blocks)@Ignore: ignores a config field entirely@Nest: allows for nested classes for more complex config structures
- Unmodded / Vanilla server compatibility: client instances safely fall back to default values for server authoritative options. Local options can be freely modified.
- The config also supports serializing common classes like AWT's
Color, Minecraft'sTextColor,Identifier,Pattern, andUUID.
Fixes
- Fixed availability propagation in custom YACL controllers
Testing
- Created a new test mod to test the new config system S-Lib Test Mod.
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:VtMfe1Va:eQA1d8Bw"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:VtMfe1Va:eQA1d8Bw"
}

