Tags
Creators
Details
Licensed MIT
Published 11 months ago
Updated 2 months ago
All versions
2.3.4
Release
PerformanceAnalyzer 2.3.45 months ago 59
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Purpur
Spigot
Changes
[2.3.4] - 2026-05-07
Fixed
- Redstone False Positives in Performance Drop Analyzer: Removed 26 non-performance-impacting blocks (buttons, pressure plates, lecterns, daylight detectors, tripwire, levers, targets) from
isRedstoneComponent(). These blocks appear in naturally generated structures (villages, temples) and caused massive false positives through sampling extrapolation - Redstone Sampling Extrapolation: Added minimum threshold (≥3 components found) before extrapolating redstone counts. Previously, a single naturally-generated button was multiplied by ×64, producing false "problematic redstone" reports
- Wrong Coordinates in Problematic Chunk Reports: Chunk coordinates are now displayed alongside block coordinates (
[Chunk X,Z | Blocks ~X,Z]) for easier in-game navigation - NullPointerException in PerformanceDropAnalyzer:
worldInfo.get("name").equals(...)replaced withObjects.equals()to prevent NPE when world name is null - Swallowed Exceptions in Chunk Analysis: ChunkSnapshot and synchronous chunk analysis errors are now logged at
FINElevel instead of being silently ignored - Unbounded Database Queue (OOM Risk):
DatabaseManager.logAsync()now enforces a maximum queue size of 10,000 entries. PreventsOutOfMemoryErrorwhen the database is unavailable for extended periods - Excessive Block Checks in MovementChecker:
isNearLiquid()reduced from 27 block checks (3×3×3 cube) to 7 checks (current block + 6 adjacent faces), reducing CPU load perPlayerMoveEventby ~74% - Duplicated Alert Cooldown Constants:
AlertManagerandMovementAlertManagernow use the centralizedConstants.ALERT_COOLDOWN_MSinstead of defining their own identical values - Silent Config Parsing Failures: Invalid alert categories in
AlertPreferenceManagernow log a warning instead of being silently skipped - Thread-Safety in WorldStatsManager: Trend history lists now use
Collections.synchronizedList()to prevent concurrent modification issues
Added
Constants.DB_MAX_QUEUE_SIZE— centralized maximum queue size for database log entries
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:2OvzYk7i"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:xcpph8Xo:2OvzYk7i"
}

