Tags
Creators
Details
Licensed MIT
Published 9 months ago
Updated 5 months ago
All versions
3.0.3
Release
EzEconomy 3.0.35 months ago 130
Compatibility
Minecraft: Java Edition
26.1.x
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
1.7.10
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
Added
- Auto-create bank on join - Players now automatically get a personal bank named after themselves on first join. Controlled by
banking.auto-create-on-join(defaulttrue); respects the existingbanking.enabledgate. Idempotent: no duplicate bank is created if one already exists. bank_not_foundmessage key - "Bank does not exist" errors now route through a localisedbank_not_foundmessage key (&cprefix) instead of a raw white string. Added to bothenandnllocales./bank deposit//bank withdrawoptional name - Both commands now accept[name] <amount> [currency]so players can run/bank deposit 100to deposit into their own bank without having to type their name.usage_bank_deposit/usage_bank_withdrawmessage keys - Matching usage hint messages added toenandnllocales.
Fixed
- Server deadlock -
callSyncMethod(...).get()was called unconditionally from the main thread during bank commands, causing the server to hang indefinitely. AnisPrimaryThread()guard now ensures events fired from the main thread are dispatched directly, while background-thread calls still schedule and await a sync task. autoCreateBankearly-return bug -autoCreateBank()was placed after thestore-on-joingate inPlayerJoinListener, meaning it was never called whenstore-on-join.enabledis false (the default). It now runs independently of that gate.
Refactored
- Introduced
util/EventDispatcher- a single, reusable utility class that encapsulates the thread-safe Bukkit event dispatch pattern (fireSync/fireSyncAndAllow). All storage providers andPaymentExecutornow delegate to this class instead of duplicating the guard inline.
Tests
- Added
PlayerJoinListenerAutoCreateBankTest(4 tests) covering: bank created on join, creation skipped whenauto-create-on-join: false, creation skipped whenbanking.enabled: false, and no duplicate creation for a pre-existing bank.
Optional dependencies
Any compatible version
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:ab7GuZGQ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:rQtkf57Y:ab7GuZGQ"
}

