RelishEconomy
1.2.2-Beta[MASSIVE UPDATE] 🪙 Multi-Currency Economy • Shop • Sell GUI • Physical Currency • ATM • Natural Source Currency • Personal Vault ⭐
1.2.2-BetalatestRelishEconomy 1.2.2-Betalast week Version 1.2.2-Beta (October 17, 2026)
Added
- PlaceholderAPI integration in lang files — lang files now support PlaceholderAPI placeholders.1.2.1-BetaRelishEconomy 1.2.1-Betalast week Version 1.2.1-Beta (October 15, 2026)
Added
- Configurable MySQL connection pool — HikariCPmaximum-pool-size,max-lifetime, and an optionalconnection-test-queryare now inconfig.ymlunderdatabase.pool. Other pool settings use optimal hardcoded defaults. FixesFailed to validate connection ... No operations allowed after connection closedby retiring connections before MySQL/proxies close them.Fixed
- Item price lore not removed when disabled — leftover price lore on existing items is now stripped from player inventories when theitem-price-lorefeature is turned off (on join, startup, and/re reload). No gameplay overhead: stripping only runs at those moments, never on every pickup/craft.1.2.0-BetaRelishEconomy 1.2.0-BetaSep 24, 2026 Version 1.2.0-Beta (September 24, 2026)
Fixed
- Exchange rate loading on restart — fixed initialization order bug, added persistent on-disk rate cache, plus 8-attempt retry + lazy recovery so rates always populate even if config loading transiently fails. No more manual/re reloadrequired after restart. - TPS drops during money grants — blocking database/file I/O no longer runs on the shared common pool; all database operations now use a dedicated bounded plugin thread pool. - Admin command logging stall — file writes and transaction inserts now run asynchronously on the plugin executor; no more main-thread stall when admin commands trigger logging. - Offline grant save spam — offline balance operations (add/set/subtract/clear) now respect the 30-second batched save window (same as online operations), reducing database write pressure on burst loads.Improved
- Dedicated async executor (2–8 named daemon threads, CPU-sized) initialized first on plugin enable, shut down gracefully on disable. - Exchange rate storage now thread-safe and cached for faster repeat lookups, with invalidation on reload. - Every async failure path now logs SEVERE context (player/currency/type) instead of silently swallowing errors. - Transaction logging streamlined — optimized call paths avoid duplicate account lookups; original signatures preserved for backward compatibility.1.1.9-BetaRelishEconomy 1.1.9-BetaSep 13, 2026 Version 1.1.9-Beta (September 13, 2026)
Fixed
- Physical withdrawal duplication — fixed/re withdrawadding the requested physical currency twice when it merged into an existing inventory stack. - Rapid consecutive withdrawals — balance validation and subtraction are now serialized so back-to-back withdrawals cannot both use the same pre-withdrawal balance.1.1.8-BetaRelishEconomy 1.1.8-BetaAug 6, 2026 Version 1.1.8-Beta (August 4, 2026)
Added
- Item price lore — configurable sell/buy prices shown on item lore (item-price-loreinconfig.yml). - Updates on pickup/craft by default; optional join and inventory-open refresh. - PDC version markers avoid re-processing items that already have current lore. - Skips physical currency items and optionally skips custom-meta items. - Anti-arbitrage pricing — recipe-aware sell price caps so craft/smelt outputs cannot sell above ingredient value (anti-arbitrageinprices.yml). - Defaultmax-craft-sell-ratio: 0.95keeps craft-and-sell at a small loss. - Blocks buy → craft → sell profit loops when buy uses the shop multiplier. - Auto-fill missing sell prices — any Minecraft item missing fromprices.ymlgets a default sell price (auto-fill-missinginprices.yml), with bedrock/command blocks/spawn eggs excluded by default.Improved
- Sell price lookup usesEnumMapand a cached blocked-item set for fasterisSellable()checks. - Item price lore settings are cached and refreshed on/re reload(no per-pickup config reads). - Shop/Sell GUI player sessions are cleared on disconnect to prevent session map leaks. - Removed duplicate stripped wood price entries from bundledprices.yml.Configuration
- Newconfig.ymlsection:item-price-lore.*(config version4) - Newprices.ymlsections:auto-fill-missing.*,anti-arbitrage.*1.1.7-BetaRelishEconomy 1.1.7-BetaJul 21, 2026 Version 1.1.7-Beta (July 21, 2026)
Added
- Personal Vault — a password-protected physical currency chest. Right-click a Vault block to open. Requires premium license. - PIN entry via a click-based keypad using custom numbered player-head skulls. - Native vault block sounds: activate, unlock, wrong-pin, eject, close. - Craftable via configurablePremium
shape+ingredientsrecipe (default: 8× netherite ingot + 1× chest). - Data stored invaults.ymlwith async writes. - Developer API to check or modify vault balances, set or verify passwords, and check password status. - GUI fully configurable ingui.yml(vault-gui,vault-password-gui). Settings and crafting stay inconfig.yml. - Vault hologram — when a player looks at a vault block (within 5 blocks), a floatingTextDisplayhologram appears above it showing the stored currency balance(s) in the format{color}{symbol} {name}: {amount}. Disappears immediately when the player stops looking at it. Toggled viavault.show-holograminconfig.yml. - Vault item lore balance — after depositing or withdrawing from the vault, the vault block item in the owner's inventory is updated to show current stored balance(s) below a separator line.Fixed
- Shop purchase GUI improvements: - Purchase GUI now stays open when player inventory is not full, allowing spam-click purchases until inventory fills - Fixed bug where items were incorrectly removed from player inventory when purchase failed due to full inventory space - All GUIs now allow normal player inventory interactions while keeping the GUI itself protectedAdded
- HTTP REST API — embedded API server for Discord bots, web panels, and external automation. Disabled by default (rest-api.enabled: false). See [REST API docs](RestAPI.md) for full details. - Bearer token auth, 9 endpoints covering balance read/write, currency list, and server status. - Zero extra dependencies — JDKcom.sun.net.httpserveronly. - External database sync API — for plugins that write directly to the database: - Allows forcing a cache reload on specific player accounts and retrieving the updated balance. - `eco give|take|set all` now applies to all players (online and offline), not just online. - `eco clear <player> [currency]` — zero out one or all balances for any player, including offline. Permission:relish.economy.eco.clear. - `eco info <player> [currency]` — view balances for any player, including offline. Permission:relish.economy.eco.info. - Offline player tab completion —eco,balance, andre logsnow suggest offline player names (capped at 500). - `/re give <player> <vault|atm> [amount]` — admin command to give a vault block item or ATM block item to any online player, bypassing crafting. Requiresrelish.economy.admin. Amount capped at 1–64. If inventory is full, items drop at the player's feet. - Compact currency formatting — large currency values are now automatically shortened withK,M, andBsuffixes (e.g.9.99Minstead of9,993,027) across all balance checks, placeholders, holograms, and GUI displays. - `eco give|take|set|clear online` — wildcard target selector to apply adjustments or clear balances for all currently online players at once. Shows a chat notification to targeted players. - Escape prefixes (`p:` / `player:`) — target exact players whose names conflict with wildcard selectors or currency names (e.g. players namedall,online, ordollars) in/eco,/balance, and/paycommands. - Compact tab completion — suggested amount arguments in commands now show shorthand suffixes (e.g.1k,10k,100k,1m,1betc.) for faster input.Configuration
- Newconfig.ymlkeys:vault.*,rest-api.*- Newconfig.ymlkey:vault.show-hologram(boolean, defaulttrue) — toggles the hover hologram on vault blocks. - Newgui.ymlsections:vault-gui,vault-password-gui- New permissions:relish.economy.eco.clear,relish.economy.eco.info,relish.economy.vault.use1.1.6-BetaRelishEconomy 1.1.6-BetaJul 14, 2026 Version 1.1.6-Beta (June 14, 2026)
Fixed
- Per-currency exchange toggle: - Fixedcurrencies.<id>.exchange-enablednot actually disabling exchange for currencies that had it set to false. - Shop purchase inventory check: - Fixed shop purchases adding items to player inventory and only checking for space afterward (now properly checks if inventory can fit items before modifying it). - Added safety rollback to remove any partially added items if inventory check fails (as a fallback).1.1.5-BetaRelishEconomy 1.1.5-BetaJun 4, 2026 Version 1.1.5-Beta (June 3, 2026)
Added
- Per-currency exchange toggle: - Addedcurrencies.<id>.exchange-enabledto allow enabling or disabling/exchangefor each currency. - Disabled exchange currencies are excluded as both source and target currencies.Fixed
- Crafting premium prompt: - Normal vanilla crafting no longer shows the physical-currency premium upgrade message in free mode. - Premium access is now checked only when the crafted result is a physical currency item or compacted physical currency.1.1.4-BetaRelishEconomy 1.1.4-BetaApr 26, 2026 Version 1.1.4-Beta (April 26, 2026)
Added
- Polish language file (pl.yml) with full key coverage.Changed
- Natural-source physical currency ownership: - Removed cook/smelt-time rewrite (no more placeholder owners likeCooked). - Conversion now happens when a player actually receives the item (pickup/extract/inventory), so the owner is always the receiving player when ownership is enabled. - Added support for Minecraft 26.1.Fixed
- Natural-source material preservation: - Fixed an issue wherenatural-source.materialsentries could be converted into the base physical currency material instead of keeping the original material (e.g., ingot/block) and only applying the correct currency value/metadata. - Physical currency items obtained via furnaces/smokers/blast furnaces no longer end up with a non-player owner label.1.1.3-BetaRelishEconomy 1.1.3-BetaApr 23, 2026 Version 1.1.3-Beta (April 22, 2026)
Added
- Vanilla-style physical currency compacting/decompacting: - 3x3 crafting (full grid) of physical currency items compresses into ingot/block variants when the vanilla recipe matches. - 1 block/ingot decompacts back to 9 items when the vanilla recipe matches. - Smelting output rewrite for natural-source: - Furnace / blast furnace / smoker results are rewritten into the configured physical currency item whennatural-sourcematches.Changed
- Currency natural-source conversion: -physical-item.natural-source.materialsis now the primary way to configure per-material conversion rates (supports both map and list-of-maps YAML formats). - Removed legacyphysical-item.natural-source.value-per-itembehavior; fallback now uses the basephysical-item.materialandphysical-item.value-per-item. - Currency owner config: - Replacedphysical-item.owner.enabledwithphysical-item.owner-enabled(old formats are still accepted for compatibility). - Deposit behavior: - Direct held-item deposit now always deposits the full held stack (removed thedeposit-all-stacksconfig toggle).Fixed
- Language message: - Added top-levelunknownandunknown-helpkeys (keeps/reunknown-subcommand messages working across older/newer key namespaces). - Config cleanliness: - Removed legacy/unused config keys and simplified currency example sections.Configuration
-physical-item.deposit-all-stacksremoved (hardcoded full-stack deposit). -physical-item.compact-materialsno longer required for vanilla compact/decompact crafting. -physical-item.natural-source.value-per-itemremoved (usenatural-source.materialsinstead). -physical-item.owner-enabledreplacesphysical-item.owner.enabled.1.1.2-BetaRelishEconomy 1.1.2-BetaApr 19, 2026 Version 1.1.2-Beta (April 19, 2026)
Added
- Physical currency deposit option: -currencies.<id>.physical-item.deposit-all-stacks: true- When enabled, sneaking + right-click deposits the full held stack instead of only one item. - Safer currency config identity handling: -currencies.<section>no longer has to match the internal currency id. - Addedaliasessupport for safer currency renames and legacy id resolution.Changed
- ATM GUI layout reworked again for a cleaner no-mode flow: - Removed the ATM mode switch. - Current currency display now doubles as the currency switch control. - Custom amount moved directly under the currency display. - Bottom row simplified toDeposit,Close,Withdraw. - Physical currency owner metadata defaults are enabled again in bundled config. - Deposit-all-stacks config now means the full held stack only, not every matching stack in inventory.Fixed
- Premium/free gating: - Blocked physical currency compact crafting and natural-source conversion in free mode. - Restored normal vanilla crafting behavior for plain materials while keeping premium-only physical currency crafting restricted. - Physical currency compact crafting: - Corrected stacked ingredient calculation so one craft only consumes one item per occupied slot. - Added reverse compact crafting support for compact physical forms back into base physical forms. - Removed stale deposit tray preview rendering from the final no-mode ATM layout. - Shift-deposit behavior: - Fixed stacked held currency items only depositing one item when configured to deposit the full held stack.Documentation
- Updated bundled config comments for the newdeposit-all-stacksbehavior.1.1.1-BetaRelishEconomy 1.1.1-BetaApr 13, 2026 Version 1.1.1 (April 13, 2026)
Added
- Premium ATM GUI: -/re atmcommand - Deposit tray for supported physical currency items - Withdraw flow with currency switching and amount controls - Configurable ATM block interaction viaconfig.yml- Expanded physical currency support: - Custom model data support per currency - Natural-source currency conversion for configured gameplay item sources - Currency items rewritten from the configured physica1.1.0-BetaRelishEconomy 1.1.0-BetaMar 17, 2026 Version 1.1.0-Beta (March 17, 2026)
Added
- Per-currency enable/disable toggle:currencies.<name>.enabled(default:true) - Plugin now disables itself during startup if zero currencies are enabled (prevents broken/partial boot states).Fixed
- Baltop database spam reduction: - Skips invalid/blank UUID rows in the balances table instead of warning per row. - Emits a single throttled warning when invalid rows are detected. - PlaceholderAPI formatting: -%relisheconomy_balance_<currency>_<type>_<style>%now supports the same formatting options asformatted(example:full_plain->1,250.00). - Baltop display name fallbacks for virtual/bank accounts: - Uses the stored account name when Bukkit has no player name (reducesUnknownentries). - Vault bank operations persist a friendly display name (Towny town/nation name when resolvable, otherwise bank name).1.0.9-BetaRelishEconomy 1.0.9-BetaMar 10, 2026 This release is a large shop/GUI + configuration update, plus expanded physical currency customization and a safer config updater.Added
- SmartSpawner + Vault economy provider compatibility (SmartSpawner can use RelishEconomy as the economy) - Shop favorites system: -favorites.ymlstorage - Favorites button in shop GUI and a dedicated Favorites category view - Favorite state messages:shop.favorites.added,shop.favorites.removed- Favorite items can render with a glow effect in the shop list - New purchase flow GUI (Premium): - Clicking an item opens a buy GUI where players can increase/decrease quantity - Confirm purchase, cancel/back returns to the same category page - Favorite toggle from the purchase GUI - Confirm button can show player balance in its lore (configurable ingui.yml) -show-unpriced-itemsoption for shop browsing: - When enabled, items without a configured buy price can be shown as disabled instead of hidden - Physical currency enhancements (per currency): - Optional crafting recipe support - Custom model data support for currency items - More customization options for physical currency item templates (material, name, lore, visual flags) - Improved config restoration/merging (config updater): - Automatically restores missing bundled files:config.yml,shop.yml,prices.yml,gui.yml,lang/en.yml,lang/ar.yml,lang/pt.yml- Merges missing keys into existing YAML without wiping server edits - Automatic backups:<file>-backup-YYYYMMDD-HHMMSS.extChanged
- Shop layout and defaults were reworked to match Creative inventory categories more closely (order, grouping, and paging). - Operator/utility category is disabled by default in the bundled shop configuration. - GUI sorting markers are configurable (set active/inactive symbols ingui.yml). -/re reloadnow reloads GUI config, shop categories, and purchase flow state more reliably. - Placeholder formatting adjustments: - Compact/plain formatted placeholders no longer force currency symbols when using the plain variants (use the symbol-specific placeholder for symbols).Fixed
- Many "invalid shop item key/material" warnings by hardening material/key parsing and validation for modern Minecraft versions. - Premium command registration and tab-completion reliability after/re reloadwhen license state is active. - PlaceholderAPI rank placeholders no longer degrade toN/Aafter server uptime (baltop cache refresh + safer fallbacks).Documentation
- Updated plugin documentation pages to match the current 1.0.9 shop/GUI and currency features. - Updated the repositoryREADME.mdand docs site pages, and added/embedded screenshots fromdocs/assets/.1.0.8-BetaRelishEconomy 1.0.8-BetaMar 4, 2026
- Added persistent player username storage (Added
player_name) in balances for both SQLite and MySQL. - Added built-in Portuguese language file:lang/pt.yml.
- Database name validation now allows any practical name up to 64 chars. Rejects only unsafe cases: empty, leading/trailing spaces, control chars, /, \, or null char. - Added automatic DB migration to createImprovements
player_nameon existing balances tables. - Account load/join flow now refreshes and saves latest player usernames. - Added new schema default key:database.schema.balances.columns.player_name. - Added general performance and database/cache handling optimizations.
- Updated README and docs to include Portuguese language support. - Updated database docs to describe stored identity fields (Documentation
uuid,player_name,discord_id). - Refined README top layout by moving support/store links under the top images. - Improved README screenshot section headings for clearer and more consistent presentation.1.0.7-BetaRelishEconomy 1.0.7-BetaMar 1, 2026
- Added hotbar selling command support: -Added
/sellhotbar(alias:/sellhb) -/re sell hotbar(alias:/re sell hb) - Added sold-item hover breakdowns to sell result messages.
- Expanded sold-item hover behavior across command and GUI sell flows for more consistent feedback. - Improved command availability handling for feature/license-based registration.Improvements
- Fixed command unregister behavior that could affect commands that should stay available. - Fixed incorrect/garbled characters in multiple command output messages.Fixed
1.0.6-BetaRelishEconomy 1.0.6-BetaFeb 19, 2026
- Improved command registration handling for licensed and disabled features. - Improved reload/restart behavior so feature-based commands update more reliably. - General stability improvements around command availability checks.Fixed
1.0.5-BetaRelishEconomy 1.0.5-BetaFeb 16, 2026
- Towny bank deposit issue whereFixed
/t deposit <amount>could take player money but town bank stayed at$0. - Updated Towny/Vault economy flow so town bank balances now update correctly after deposits.
- Added specific configuration options: - shop.yml ->Configuration Updates
shop.enabled: true(default) - prices.yml ->sell.enabled: true(default) - Improved config synchronization so missing keys are added while keeping existing values. - No structural config move is required for existing server files.
- Extended updater coverage beyondConfig Updater Improvements
config.yml: -shop.yml-prices.yml-gui.yml-lang/*.yml- Preserves existing values and only injects missing keys.
- Backup files remain in the same directory as the source file. - Updated backup naming format for clarity: -Backup Behavior
<name>-backup-YYYYMMDD-HHMMSS.ext- Collision-safe suffixes are appended when needed.
- Added bStats integration. - Added config toggle: -Metrics (bStats)
metrics.enabled: true(default)1.0.4-BetaRelishEconomy 1.0.4-BetaFeb 15, 2026
- AddedTowny + Vault Compatibility
loadbefore: [Towny]inplugin.ymlto improve startup ordering - Improved Vault hook reliability: - Checks that Vault is enabled before registering provider - Re-registers safely if already hooked - Added startup retry hook attempts when Vault is late to initialize - Added clearer startup logging for Vault provider registration
- Implemented full Vault bank API behavior for non-player accounts - Added deterministic internal bank account IDs (name-based UUIDs) for stable persistence - EnabledBank Account Support for Town/Nation Economy
hasBankSupport()for proper Towny bank operations - Added bank operations: -createBank,deleteBank,bankBalance,bankHas,bankDeposit,bankWithdraw-isBankOwner,isBankMember
- Fixed player placeholder requests failing for online/new accounts - Improved placeholder parsing and compatibility: - Added leaderboard aliases:PlaceholderAPI Improvements
leaderboardandtop(mapped tobaltop) - Added formatted balance aliases viabalance_formatted- Improved raw balance output formatting: - Respects currency decimal settings - Uses stable locale formatting for numeric placeholders - Prevented blank leaderboard placeholder outputs on cold cache/invalid positions by returning safe fallback values
- UpdatedDocumentation
docs/PlaceholderAPI.mdwith new alias placeholders and behavior notes - Updated troubleshooting notes for placeholder account handling1.0.3-BetaRelishEconomy 1.0.3-BetaFeb 10, 2026 Version 1.0.3-Beta (February 10, 2026)
- Complete Documentation Overhaul - Fully updated documentation website - More clear and detailed information - Improved structure and navigation - Enhanced examples and guides - Better coverage of all featuresDocumentation
- Background polling checks for external DB changes - Only refreshes full balance data whenReal-Time Read Behavior
last_modifiedchanges - Optimal for Discord/Web integrations that update balances out-of-band You need to replace Real-Time Sync with new config
---database: # Real-time read mode (read from DB when balances change externally) # Recommended: true only if you manually edit DB and need instant visibility real-time-read: falseVersion 1.0.2-Beta (January 23, 2026)
- New Player Balance - Fixed issue where new players had their balance set instead of added to - Starting balance is now added to existing balance instead of overwriting it - Prevents accidental balance resets for returning players - Maintains proper balance accumulation across sessionsBug Fixes
1.0.1-BetaRelish Economy 1.0.1-BetaJan 22, 2026 RelishEconomy Changelog
Version 1.0.1-Beta (January 22, 2026)
This update significantly restructures the premium/free feature distribution to provide more value in the free version while maintaining premium exclusivity for GUI and advanced features.Major Feature Redistribution
- Multi-Currency System - Now available in free version with full support for custom currencies - Currency Exchange - Exchange between different currencies with configurable rates - Advanced Sell Commands -New Free Features
/sellhandand/sellallcommands now free for all users - Advanced Transaction Logging - Comprehensive transaction tracking and logging system
- Shop GUI - Interactive shop interface with category browsing - Sell GUI - Drag-and-drop item selling interface - Block Interactions - Shop and sell block functionality - GUI Customization - All GUI-related interactions and customizations - Physical Currency - Withdraw currencies as physical itemsPremium-Only Features
- Fixed missing message keys forBug Fixes
/shop helpcommand - Added comprehensive help messages for shop commands in both English and Arabic1.0.0-BetaRelish Economy 1.0.0-BetaJan 22, 2026
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta