Tags
Creators
Details
1.1.0
Compatibility
Changes
PlexKillstreaks 1.1.0
This update expands PlexKillstreaks with milestone rewards, smarter anti-farming, a lifetime leaderboard, and several reliability improvements.
Added
-
Milestone command rewards
- Console and player commands
- Supports
{player},{uuid},{streak}, and{highest}
-
Smarter anti-farming protection
- Allows a configurable number of kills against the same player inside a time window
- Default: 2 counted kills every 180 seconds
- Ignored kills do not extend the window
-
/streak top [page]- Lifetime highest-streak leaderboard
- Async SQLite queries
- Works from console
- Pagination support
-
Disabled-world support
-
New placeholders:
%plexkillstreaks_kills_to_next%%plexkillstreaks_last_milestone%
Improved
- Better config validation
- Safer player data loading
- More reliable async save handling
- Last-known player names stored for leaderboard display
- Reduced unnecessary console logging
Fixed
- Database save failures no longer appear successful
- Failed player loads no longer create writable zero data
- Delayed player loads can no longer overwrite newer gameplay state
- Later saves continue correctly after an earlier save failure
- Anti-farming still resets the victim's streak normally
- One failed milestone reward no longer prevents other rewards
- Shutdown now drains pending database work before closing SQLite
Compatibility
Existing PlexKillstreaks 1.0.x configs and SQLite data remain compatible.
The database migration only adds a last_known_name column and does not recreate or reset existing data.
Requirements
- Paper 1.21+
- Java 21
- PlaceholderAPI optional
Validation
- 81 automated tests
- 0 failures
- 0 errors
- 0 skipped
- Clean Java 21 build
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:lXSgcDAg:BhMBE1ND"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:lXSgcDAg:BhMBE1ND"
}

