16.1
Compatibility
Changes
Quickchat - Optimization Notes (Changelog)
✨ New Features
Redis Broadcast: The /say command is now sent across the entire network connected via Redis.
Native 1.21+ Support: Hex color detection has been rewritten. The plugin now natively supports 1.21, 1.22, and future versions without requiring additional patches. ⚙️ Optimizations (20k+ Users Performance)
Pre-Merged Format Cache: Eliminated the creation of HashMaps per second during chat peaks. Format retrieval is now instantaneous (O(1)). Static Regex: Hex color pattern compilation was removed from the main message flow, significantly reducing CPU usage.
Zero I/O (No Disk Reads): Private message (PM) sounds and formats are now cached in memory. No more reading from config.yml for every sent/received message. ️ Critical Fixes (Stability)
Thread Safety: PM managers (/reply, /spy) and the ignore system (/ignore) were rewritten using thread-safe collections (ConcurrentHashMap). This removes main-thread blocking and chat interruptions. O(1) Lookups: Checking if a user is ignored has been optimized from a slow list to a constant-time Set lookup.
Memory Leaks: Fixed an issue where SQLite left open connections (PreparedStatements) in memory during server shutdown. Bugfix: Fixed an issue where an admin using /say (Redis Broadcast) would send the message to all servers except the one it was executed from.
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:Nw8Sb3nr:VzU74VOO"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Nw8Sb3nr:VzU74VOO"
}

