Links
Tags
Creators
Details
1.1.1
Compatibility
Changes
📢 LiveAnnounce v1.1.1 – Cooldown System and Performance Evolution
New Features
- Per-player cooldown system to prevent announcement spam
- Configurable cooldown duration and messages via config.yml
- Cooldown system reloadable without server restart
- Async announcement pipeline for safer execution
- Improved task scheduling between async processing and main thread
- Clear separation between data preparation and message delivery
Performance Improvements
- Major reduction in main-thread workload
- Announcement preparation moved off the main thread
- Prevention of CPU spikes during announcement execution
- Significant reduction in memory usage
- Intelligent caching system for platform colors
Internal Changes
- Optimized architecture using DTO pattern
- New AnnouncementData structure for efficient data handling
- ColorCache system with automatic config change detection
- Optimized channel extraction system
- Reduced synchronous operations
- Cleaner execution flow for announcements
- Reduced unnecessary object creation
- Arrays used instead of HashMaps for fixed formats
- Improved template variable replacement performance
- Better profiling results using Spark
Compatibility
- Fully backward compatible
- No functional changes required for end users
- Existing configurations continue working without modifications
Note about the next version (v1.1.2)
I’ve been working on a new feature focused on proxy-connected server networks, which will significantly expand the reach of announcements.
I’m still polishing this feature to make sure stability and performance are solid before the official release.
I also want to apologize for the delay in some updates. Part of this time went into major optimizations and preparing the plugin for bigger changes moving forward.
Thank you for the patience and for supporting the project.
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:aSFzWgc2:j7PmhzfX"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:aSFzWgc2:j7PmhzfX"
}

