Creators
Details
Licensed ARR
Published 9 months ago
Updated 10 months ago
All versions
1.0.4
Release
WERM 1.0.410 months ago 85
Uploaded by
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
[1.0.4] - 2026-01-02
⚡ Performance & Reliability Release
This release adds batch delivery confirmation and async file I/O to improve performance and reliability during high-load scenarios.
Added
Batch Delivery Confirmation (Improvement 1.3)
- New Batch API - Confirmations are now batched (up to 10 at a time) and sent in a single API call
- Backend Support - New
batch-confirm-deliveryendpoint processes multiple confirmations atomically - Reduced API Overhead - Up to 90% reduction in confirmation API calls during bulk deliveries
- Graceful Fallback - Automatically falls back to individual confirmations if batch fails
Async File I/O (Improvement 1.4)
- Non-blocking File Writes - Confirmation queue saves now run on a dedicated background thread
- ExecutorService - Single-thread daemon executor prevents main thread blocking
- Debounced Saves - Multiple queue changes are coalesced into fewer disk writes
- Graceful Shutdown - Synchronous save on server stop ensures no data loss
Changed
DeliveryConfirmationQueue.java- Complete rewrite with batch processing and async I/OVerificationAPI.java- AddedbatchConfirmDeliveries()method for batch API callsWERMPlugin.java- UpdatedonDisable()to properly shutdown confirmation queue
Technical Details
- Batch Size: 10 confirmations per API call
- I/O Thread: Daemon thread named
WERM-ConfirmationQueue-IO - Shutdown Timeout: 5 seconds for graceful termination
- New Classes:
BatchConfirmation- Data class for batch confirmation itemsBatchConfirmResult- Result wrapper for batch API responses
Performance Impact
- ~90% reduction in confirmation API calls during bulk deliveries
- Zero main thread blocking from file I/O operations
- Faster server shutdown due to optimized queue persistence
- Lower disk I/O through debounced writes
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:JfqCmMXn:hFN8VVcS"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:JfqCmMXn:hFN8VVcS"
}

