Tags
Creators
Details
Licensed MIT
Published 11 months ago
Updated 2 months ago
All versions
2.3.1
Release
PerfomanceAnalyzer 2.3.16 months ago 20
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Purpur
Spigot
Changes
[2.3.1] - 2026-04-10
Added
- Silent Mode / Streamer Mode (
/perfsilent)- Toggle all alerts on/off:
/perfsilent - Toggle per category:
/perfsilent xray,/perfsilent movement,/perfsilent performance - Reset all preferences at once:
/perfsilent reset - View current status:
/perfsilent list - Persistent across server restarts (saved in
config.ymlunderalerts.silent_players) - Aliases:
/ps,/silent - Full tab-completion support
- Bilingual: German & English language strings
- Toggle all alerts on/off:
- AntiCheat DB Cleanup Commands
/movealerts clear <player> --db— deletes movement violation entries from the database/xrayalerts clear <player> --db— deletes XRay detection entries from the database- Without
--db: only clears in-memory alerts (as before), now shows a hint about the--dboption - Tab-completion for
--dbflag
- Teleport Immunity for Movement Checks
- New
PlayerTeleportEventlistener prevents false positives from legitimate teleports (/tp,/home, ender pearls, etc.) - 1-second grace period after any teleport where movement checks are skipped
lastLocationsreset to teleport destination to prevent follow-up false positives- Consecutive violation counters reset on teleport
- New
Fixed
- Version Inconsistency: pom.xml, plugin.yml, and main class now use the same version dynamically via
getDescription().getVersion()instead of hardcoded strings - Race Condition in AsyncConfigSaver:
pendingSavechanged fromvolatile booleantoAtomicBooleanwith proper atomic check-and-set operations, preventing lost config saves under concurrent requests - NullPointerException in PerformanceDropAnalyzer: Added null-checks for
Player.getWorld()andPlayer.getLocation()during world unload scenarios - Memory Leak in AlertManager: Added periodic cleanup task (every 5 minutes) for stale
lastAlertTimesentries that were never removed - AntiCheat False Positives: Improved lag compensation from linear to square-root scaling (200ms ping = +10%, 500ms = +20%, 1000ms = +30%), reducing false positives for high-ping players without allowing extreme speeds
Changed
- All three alert systems (
AlertManager,XRayAlertManager,MovementAlertManager) now respect per-player alert preferences before sending chat notifications - Config auto-migration adds
alerts.silent_playersfor new installations
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:xcpph8Xo:aCTyPBlg"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:xcpph8Xo:aCTyPBlg"
}

