▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/EconomyShop by ilius
EconomyShop by ilius

EconomyShop by ilius

Clean server shop and player chest shops with price history, sales tax, and full GUI management

48
0
Все версииEconomyShop by ilius 1.0.1

EconomyShop by ilius 1.0.1

Release2 нед. назад

Список изменений

v1.0.1 Changelog

Bug Fixes

  • Fixed sell transaction order — items are now removed before money is deposited, preventing a potential item duplication exploit on server crash
  • Fixed a TOCTOU race condition in buy transactions — removed separate balance check before withdrawal, now uses a single atomic withdraw call
  • Fixed chest shop buy order — owner now receives payment before items are delivered to buyer, preventing unrecoverable state if deposit fails
  • Fixed stock cache/DB ordering inconsistency — addStock() now writes to database first and updates cache on success, matching the deductStock() pattern
  • Fixed GUI click rate limiting race condition on Folia servers — replaced get-then-put with atomic put-and-check
  • Fixed quantity input accepting negative or oversized values in chest shop transaction GUI — now rejects anything outside 1-2304
  • Fixed admin stock edit blocking the main thread with a synchronous database call — now runs async
  • Fixed icon picker losing its mode when searching — browsing materials after a search no longer adds items to the shop instead of picking an icon
  • Fixed missing placeholder values in buy failure messages — "You need {price} to buy {qty}x {item}" now shows actual values instead of blanks
  • Fixed missing {item} placeholder in admin price set messages
  • Fixed missing {category} placeholder in admin item removed messages
  • Fixed missing {stock} placeholder in out-of-stock error message

MySQL / MariaDB

  • Fixed CAST AS INTEGER syntax that fails on MySQL — now uses database-specific casting (CAST AS SIGNED on MySQL, CAST AS INTEGER on SQLite)
  • Fixed HikariCP idle timeout being hardcoded instead of reading from config
  • Fixed missing serverTimezone=UTC parameter in JDBC URL — prevents timezone errors on MySQL 5.7+
  • Fixed price_history table using DOUBLE instead of DECIMAL(15,2) — prices now stored with exact precision
  • Fixed dead config getter (keepalive-time) replaced with working idle-timeout getter

Security

  • Added transaction locks to admin shop buy and sell operations — prevents concurrent purchases overselling finite stock
  • Creative mode is now always blocked for all shop transactions — no longer configurable
  • Fixed SQLite connection field not being volatile — prevents stale reads on multi-threaded servers
  • Added synchronized access to SQLite connection reconnection — prevents race condition on concurrent access
  • Fixed silent exception swallowing in database schema migration — unexpected errors are now logged instead of ignored
  • Added missing economyshop.admin.bypass permission to plugin.yml — was checked in code but undocumented

GUI Improvements

  • All admin shop and player shop item layouts now use a centered, responsive algorithm — items arrange cleanly based on count instead of packing left-to-right
  • Chest shop Edit GUI buttons now center dynamically based on available features instead of leaving gaps
  • Added configurable divider lines between item info and click actions in all GUI lore
  • Renamed "Right-click to quick sell" to "Right-click to sell"
  • Removed bold formatting from price history titles — long item names no longer overflow the screen
  • Long item names in price history titles are truncated with "..." if they exceed 32 characters
  • Custom datapack items now display proper names everywhere instead of raw translation keys

Customizability

  • Every admin GUI string is now configurable via lang/en_US.yml — item editor, category config, dashboard, material browser
  • All 20 sign input prompts (buy price, sell price, search, permission, etc.) are now configurable
  • Chest shop sign text ([Shop], Buy:, Sell:, Buy Only) is now configurable
  • Market stats and purge result messages are now configurable
  • Currency symbol is now configurable via economy.currency-format in config.yml — supports any format like $, G, coins
  • Help command format now matches AuctionHouse style
  • Added granular admin permissions — economyshop.admin.edit and economyshop.admin.reload are now checked separately
  • Removed dead config options that did nothing
  • Removed unused economyshop.admin.import permission
  • Config reload now re-applies currency format without requiring a restart
  • Added 10 missing chest shop GUI message keys that were showing raw key names to players

Compatibility

  • Moved Vault from softdepend to depend — plugin already required it, now declared honestly
  • Fixed Folia entity scheduler passing null as retired callback — now uses a safe no-op
  • Fixed tab completion returning null which leaked all online player names — now returns empty list
  • Added base permission check to tab completion — players without economyshop.use no longer see subcommands
  • Fixed WorldGuard hook silently swallowing all exceptions — unexpected errors are now logged

Файлы

EconomyShop-1.0.1.jar(4.93 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.0.1

Загрузчики

Folia

Версии игры

1.21–1.21.11

Загрузок

2

Дата публикации

2 нед. назад

Загрузил

ID версии

Главная