2.1
Compatibility
Required content
Changes
š CombatStats v2.1 Update
This update focuses on important bug fixes, improved data consistency, and several quality-of-life enhancements for administrators.
š Bug Fixes & Data Consistency
š Accurate Leaderboards & Holograms
Fixed an issue where leaderboard data (especially balance rankings) and PlaceholderAPI placeholders could display outdated information. Data is now synchronized consistently between the plugin cache and database at the configured interval, ensuring accurate and up-to-date displays.
š¾ Fixed /cs set & /cs reset Persistence
Resolved a bug where admin changes made through /cs set and /cs reset were not always saved correctly when the target player was online. Changes now update both the in-memory cache and the database instantly.
šÆ Improved K/D Ratio Precision
Kill/Death ratios are now consistently rounded to two decimal places for cleaner and more accurate statistics.
š Better Offline Player Synchronization
Enhanced the background synchronization system to periodically refresh and save data for offline players as well. This improves reliability for externally modified values such as economy balances.
⨠Improvements & New Features
āļø Configurable Data Refresh Interval
Added a new configuration option:
performance.data_refresh_interval
This setting allows you to define how often (in seconds) player data such as playtime and balance is synchronized with the database, giving you more control over performance and data freshness.
ā±ļø Dynamic Playtime Formatting
The %combatstats_player_playtime% placeholder now automatically formats playtime into a user-friendly format:
Xd Yh Zm Ws
Example: 1d 5h 30m 15s
š In-Game Placeholder Browser
Added the new command:
/cs placeholder
This command displays a complete list of all available PlaceholderAPI placeholders, including descriptions and convenient click-to-copy functionality.
š¤ Self-Referencing {player} Variable
Commands now support the {player} placeholder to automatically reference yourself.
Examples:
/stats {player}/cs set {player} kills 100
This makes commands faster and more convenient to use.
ā Advanced Playtime Input
The command:
/cs set <player> playtime <duration>
now supports flexible duration formats such as:
1d5h 30m1d 5h 3m 2s
The parser intelligently recognizes mixed duration formats and provides improved tab-completion suggestions.
Optional dependencies
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:hvUGWGhd:jlfqucFZ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:hvUGWGhd:jlfqucFZ"
}

