0.0.7
Compatibility
Changes
📜 CHANGELOG - CustomDeathMessages v0.0.7
The evolution never stops! Version 0.0.7 takes the solid foundation of v0.0.6 and elevates it with an essential tool for administrators: a built-in configuration validator. This release focuses on error prevention, ease of use, and stability, ensuring your experience with custom death messages is flawless.
⚠️ IMPORTANT UPGRADE NOTE
To fully leverage the new features and ensure compatibility:
- Make a backup of your current
config.ymlandmessages.ymlfiles.- Delete the
config.ymlandmessages.ymlfiles from your server'splugins/CustomDeathMessages/folder.- Restart or reload the server. The plugin will automatically generate new, up-to-date configuration files with all new options, examples, and system messages.
- You can then manually re-add your custom settings and messages from your backup into the new files.
✨ New Features
-
Added: Integrated Configuration Validator (
/cdm config validate)
The flagship feature of this version! This new command allows administrators to validate the correctness of theirconfig.ymlandmessages.ymlfiles before reloading. It scans for:- Invalid sounds and particles (global, per-group, and epic).
- Syntax errors in conditions (unknown operators, malformed placeholders).
- Generates a detailed report in the chat with success (✅), error (❌), and warning (⚠️) messages, along with a summary of the current configuration.
-
Added: New System Messages for the Validator
A complete section has been added tomessages.ymlundersystem-messageswith translatable messages for the validator, such asconfig-validator-sound-not-found,config-validator-condition-syntax-warning, andconfig-validator-success-all, enabling a fully localizable user experience. -
Added: New
/cdmconfigCommand
A new entry point for the validator. Administrators can run/cdm config validateto start the validation process. Uses thecdm.reloadpermission.
🐛 Bug Fixes
-
Fixed: Enhanced Atomic Reload
The/cdmreloadcommand has been improved to be even more robust. It now explicitly validatesmessages.ymlbefore attempting to loadconfig.yml. Ifmessages.ymlhas a critical syntax error (e.g., malformed YAML), the reload process stops immediately, notifies the user, and prints the full stack trace to the console, preventing any unstable intermediate state. -
Fixed: Error Handling in Reload
Improved error handling in/cdmreloadto capture and report unexpected failures more clearly, ensuring the administrator always receives feedback, even in edge cases.
🛠️ Improvements & Optimizations
-
Improved: Administrator Experience
The validator provides a proactive way to debug configurations, drastically reducing the risk of runtime errors and saving hours of frustration from misplaced brackets or commas. -
Improved: Documentation
Theconfig.ymlandmessages.ymlfiles have been updated with comments referencing the new validation functionality, guiding users on how to keep their configurations error-free. -
Optimized: Development Workflow
The introduction ofConfigValidatorsets a pattern for future diagnostic and maintenance tools within the plugin, improving the codebase's long-term structure.
With v0.0.7, CustomDeathMessages is not only more powerful but also safer and easier to manage. The integrated validator is a giant leap towards a perfect user experience for both players and administrators.
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:LrqgmmvZ:LIM4UxWr"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:LrqgmmvZ:LIM4UxWr"
}

