Tags
Creators
Details
3.1.2
Compatibility
Changes
Added
- Performance and reliability improvements to balance fast-path caching and background persistence.
Changed
- Reduced DB contention and improved fast-path caching semantics for balances to provide more consistent immediate responses under load.
- Withdraw fast-path: added per-key striped locking to prevent concurrent over-reservations.
- Shutdown ordering: background persistence flush now runs before closing JDBC pools to guarantee pending deltas are persisted.

-
Configuration: moved MySQL tuning keys into
performance.mysqlin the mainconfig.yml. The plugin now prefersperformance.mysql.*with fallbacks tomysql.*inconfig-mysql.yml; documentation and default configs were updated. -
Added MySQL tuning options and safer defaults: background persistence batching/queueing settings and additional Hikari pool tuning keys (
leak-detection-threshold-ms,validation-timeout-ms,initialization-fail-timeout-ms,auto-commit). JDBC params now include UTF-8 encoding by default. -
Security:
/ecocommand permissions tightened. New granular permission nodes added:ezeconomy.eco.give,ezeconomy.eco.take,ezeconomy.eco.set,ezeconomy.eco.gui(GUI opens requireezeconomy.eco.gui), andezeconomy.ecoremains the umbrella admin node. Console execution still allowed.
Fixed
- Race conditions where multiple concurrent withdraws could exceed the persisted balance.
- Background flush failures during shutdown caused by closed connections.
Optional dependencies
Supplementary resources
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:rQtkf57Y:P1VJLPCm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:rQtkf57Y:P1VJLPCm"
}


