All versions
1.0.4
Release
NeuroLag 1.0.48 months ago 20
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
[1.0.4] — 2025-03-10
Fixed
- Deprecated BungeeCord API removed.
spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(...))was replaced with Paper's native Adventure API:player.sendActionBar(LegacyComponentSerializer.legacyAmpersand().deserialize(...)). The old API is not available on Paper 1.21.3 and would cause a crash or silent failure on action bar notifications. pom.xmlversion mismatch fixed.<version>was1.0.0whileplugin.ymldeclared1.0.3, causing Maven to produceNeuroLag-1.0.0.jarinstead of the expected filename.- Hysteresis buffer is now configurable. The recovery buffer (
0.5) was hardcoded incomputeStatus(). It is now read fromsettings.hysteresis-bufferinconfig.yml. /nlag graphwas undocumented. Added toplugin.ymlusage string and to the help message shown by/nlag.shouldOptimizeexplicit cast removed. The(Mob) entitycast afterinstanceof Mobcheck was unnecessary; replaced with pattern-matchinginstanceof Mob mobat the call site.togglecommand no longer leaves mobs frozen. When manual override is turned off,restoreAllAI()is now called before resuming the monitor task so any frozen mobs are immediately unfrozen.- TPS value capped at 20.0 before storing and displaying, preventing artificially high values (Paper can briefly report >20 TPS) from skewing the graph and average.
logEnablednow logs state transitions, including world name, new state, current TPS, and affected mob count — more useful for diagnosing server lag patterns.onDisablelog message added to confirm AI restoration on server shutdown.
Changed
config.ymlcomments rewritten in English and expanded with usage notes for each option.plugin.ymlusage string updated to list all four subcommands:reload,status,toggle,graph.computeStatusrefactored to useswitchexpression (Java 14+) for readability.drawGraphimproved: empty cells now render as░instead of a space, making the chart easier to read in chat.statuscommand now displays per-world states with a(no data yet)fallback when the monitor hasn't run yet.- Added
README.mdandCHANGELOG.md.
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:NQv4Mv8q:AVcQPuph"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:NQv4Mv8q:AVcQPuph"
}

