Tags
Creators
Details
1.1.0
Compatibility
Changes
I know we only have 3 downloads so far but I couldn't help picking over my code.
MaxHearts v1.1.0 — Changes and Improvements
-
UUID-based storage
- Player max hearts are now stored by UUID, not username.
- Prevents issues if a player changes their name.
- Last-known name is still tracked for display purposes.
-
New data.yml file
- Player data is stored in plugins/MaxHearts/data.yml.
- config.yml is now only for defaults and bounds.
- Admins no longer have to manage overrides in config.yml.
-
Legacy migration
- Any overrides: section in config.yml is automatically migrated into data.yml.
- Migrated once on startup; config.yml is cleaned up afterward.
-
Configurable bounds
- Added minHearts and maxHearts in config.yml.
- All set/give/take/transfer operations are clamped to these values.
-
Event handling cleanup
- Switched from MONITOR to NORMAL priority in event listeners.
- Still applies heart updates on the next tick for safety.
-
Command flexibility
- Commands accept both player names and UUIDs.
- Transfers can target pending names (applied once that player joins).
- Sources must be actual players with UUIDs (to prevent ghost transfers).
-
Runtime data management
- data.yml is created and updated automatically by the plugin.
- Admins should not edit data.yml manually.
Overall result:
- Safer, more reliable storage of heart data.
- Cleaner config file for admins.
- Improved protection against edge cases (name changes, invalid values).
- Better code semantics for long-term maintainability.
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:2CbID0MU:GLadhBae"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:2CbID0MU:GLadhBae"
}

