Tags
Creators
Details
Licensed MIT
Published last year
Updated 3 weeks ago
All versions
1.1.1
Release
AevorinReports 1.1.12 months ago 1,155
Uploaded by
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
[1.1.1] - 2026-08-27
New Features & Improvements
- Language Optimization: Only language files explicitly configured in
config.ymlare loaded into memory, significantly reducing startup time and memory footprint. - Cross-Server Notifications: Added real-time cross-server report notifications by periodically polling the shared database, allowing staff on any server to be alerted of new reports.
- Discord Localization: Added a
discordsection to all language files (config-version 3), bringing localized Discord commands, report details, notifications, help text, and status messages. German and English translations are currently included. - FastStats Upgrade: Upgraded FastStats dependency to version 0.29.0 and migrated to the new
BukkitContextAPI. - Discord Integrations: Routed slash command replies, embeds, and command descriptions through
LanguageManager. Report status changes now record the latest updater and automatically synchronize Discord log updates.
Bug Fixes
- Offline Player Resolution: Added
reporter_nameandreported_namecaching columns to the database schema. This fixes the issue where players who had never joined the staff member's server would show up as "Unknown" in GUIs and Discord. - Thread Safety: Improved report handling responsiveness by moving heavy database work off the main thread.
- Discord Shutdown: Gracefully await JDA shutdown on plugin disable to completely avoid "zip file closed" exceptions and memory leaks after
/reload. - General Fixes: Clearer handling of unavailable players and missing translations.
Performance
- Active Reports Limit: Now uses a single
COUNTquery for the active reports limit instead of loading all player reports into memory. - Async Saves: Save reports asynchronously and apply cooldowns immediately to prevent spam while the
INSERTquery is in flight. - Async GUIs: Run GUI click SQL queries asynchronously and reopen inventories back on the main thread (Folia-safe via
SchedulerUtils, guarded byisOnline). - Tab Complete Caching: Cache offline player names for tab-complete with a 5-minute TTL and async refresh, completely avoiding iterating through
getOfflinePlayers()per tab completion. - Placeholder Caching: Added a 30-second TTL cache to PlaceholderAPI expansion responses to reduce database load.
- Database Indexing: Added SQL indexes on
reporter_uuid,reported_uuid,status,server_name+status, andupdated_atto drastically improve report search and retrieval speed.
Special Thanks
- A huge thanks to 1wairesd for contributing to this release!
Optional dependencies
Any compatible version
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:OwqSnlXx:fn1Vqp9p"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:OwqSnlXx:fn1Vqp9p"
}

