All versions
2.0.0
Release
SmartWithdraw 2.0.03 months ago 78
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
Platforms
Paper
Purpur
Spigot
Changes
2.0.0 โ Major Rewrite
๐ Security
- Fixed a critical duplication vulnerability: notes are now HMAC-signed with a server-generated secret key. Previously, note values were stored in unsigned data, meaning forged or NBT-edited items could be deposited for free money. Forged/tampered notes are now automatically rejected.
๐ต New: Multiple Currencies
- Added support for withdrawing from Vault (Money), PlayerPoints (GamePoints), and player Experience (XP) โ each as a fully independent balance
- Every currency has its own configurable symbol, name, denominations, and note styling
/withdraw <amount> [currency]and/sw give <player> <amount> [currency]now accept a currency argument
๐ New: Denomination Control
- Added
auto-split-notesconfig toggle: withdraw either one exact-value note, or the fewest real notes possible (e.g. 2500 โ 2000 + 500) - Added manual note splitting: sneak + left-click a note to break it into smaller denominations at any time
๐จ New: Configurable Note Aesthetics
- Redesigned note tooltips with a "Satchel" style: tier label, description, Information block, Created-by/date, and tax display
- Title color, tier visibility, gain description, and cosmetic tax percentage are all configurable per currency
- Optional enchant-glow effect toggle
๐ฆ New: Bank GUI
- Added
/sw guiโ a chest-style menu to withdraw specific denominations, deposit everything, and switch between currencies
๐ ๏ธ New: Admin Tools
/sw give <player> <amount> [currency]โ give notes directly to any player/sw reloadโ reload config without restarting/sw currenciesโ list all configured currencies- Per-currency
enabledtoggle to fully disable a currency without deleting its config
๐ New: Transaction Logging & Placeholders
- All withdrawals, deposits, and admin actions now log to
transactions.logwith timestamp, player, currency, and amount - Added PlaceholderAPI support for balance and held-note-value placeholders, per currency
โ๏ธ Other Changes
- Added withdraw/deposit cooldowns and a configurable max-held-value limit per currency
- Fixed malformed YAML indentation in the default
config.yml - Removed unused/dead files (
Messages.java,WithdrawResult.java,notes.yml, oldNoteData.java) - Default currency symbol changed from
โนto$(fully configurable)
1.0.0 โ Initial Release
- Basic
/withdrawand/depositcommands - Single hardcoded currency (โน Rupee), fixed denominations
- Right-click a note to deposit; sneak + right-click deposits a whole stack
- Basic
/swhelp command
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:Xv1kaJcZ:clXBi2nD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Xv1kaJcZ:clXBi2nD"
}

