DailyShop v2.0.0 - Bug Fixes & Improvements
Release Date: October 7, 2025
Critical Bug Fixes
- Fixed item counting discrepancy - Buy max operations now correctly report the number of items received
- Previously: Could report buying 2300 items but only receive 556
- Now: Accurately tracks items added and reports the correct count
- Fixed NullPointerException when new players interact with shop
- Added automatic player data creation for first-time shop users
- Added defensive null checks before database updates
- Fixed inventory overflow handling - Items that can't fit in inventory are now properly handled
- Added leftover detection when adding items to inventory
- Automatic refund system for items that couldn't be added
- Stops purchasing when inventory fills up instead of continuing
Improvements
- Better inventory management - Uses proper addItem() return value checking
- Automatic player initialization - New players automatically get database entries on first shop interaction
- Refund system - Excess currency is automatically refunded when inventory fills during buy max
- Accurate purchase tracking - Buy limits only updated for items actually received
Technical Changes
- Modified buyMaxItem() to track actuallyAdded count vs maxPurchases
- Modified buyMaxItemWithCurrency() with same tracking improvements
- Added null check and initialization in shop item click handler
- Added refund logic for both multi-currency and Vault economy systems
IMPORTANT NOTES
- This is a maintenance release focusing on bug fixes and stability
- No breaking changes - safe to update from v1.2.6
- All existing configurations and data remain compatible
- Backup recommended before any update (as always!)
Download & Support
If you encounter any issues, please report them in the discussion thread or via PM.
Thank you for using DailyShop!
If you enjoy this plugin, please consider leaving a review!
Basic update which fixes/adds the following:
- Fixed an issue where using SQLite and resetting the dailyshop causes an error to happen (due to the fact that SQLite doesn't support TRUNCATE, which was how I was handling it)
- Added 1.21.4 support, haven't tried 1.21 - 1.21.3 though.
- Sell All Command.
- Added SQLite support (need to specify SQLite or MySQL on the schemas in config.yml).
Sorry for the delay of this update, wanted to make sure there wasn't any game breaking bugs and was wanting to add more features. Have a happy Christmas!
- Added Sell a stack for items.
- Added a Discord System (Will show what items are in rotation, config stuff in plugins/DailyShop/discord.yml).
- Added edit player menu options to change the user's buy/sell limits.
- Made it so commands require different variables at the beginning ("[player]" to make the player do a command, "[console]" to make the console execute the command, & "[sound]" to play a sound to the player).
- Added 1.20.4 support
- Fixed issue where lore was being added when it wasn't in the config.
- Fixed issue where slots in the example saved to the config whenever the plugin is reloaded.
- Added Folia support.
- Fixed issue where you need PlaceholderAPI, now its a soft depend.
- Added Vault as a dependency.
- Made the vault missing error message easier to read.
- Added paged GUI support.
- Added documentation to DailyShop: https://github.com/PizzaThatCodes/DailyShop/wiki
- Created a player menu that shows you all the items players have bought/sold (/dailyshop admin playerlist).
- Allows you to delete items (Editing coming soon)
For getting the reset time left for hours:
- Fixed some debug messages showing
- Fixed issue with shift right click to buy max then sell one
- Message no longer displays if you max bought 0 items
- Only Shift Left Click will work, not shift right click too (May have a function later)
- Updated Pom.xml version so it doesn't say v1.1 on 1.2 & 1.2.5
- Fixed bug where if buy limit is 0, the sell function doesn't work.
- Fixed issue where after max buy it won't update (Should somewhat work now)
- Added a few placeholders
%dailyshop_resettimelefthours%
For getting the reset time left for minutes:
%dailyshop_resettimeleftminutes%
For getting the reset time left for seconds:
%dailyshop_resettimeleftseconds%
- Added player head support!
Use "head-(IGN)" to set it to a player's skin, use "head-{playername}" for it to be the user's skin, and use "base64-textureValue" for base 64 custom skulls!
- Fixed a bug with items having lore was able to sell with items that didn't lore.
- Added two messages in messages.yml for Buying and selling items.
- Added middle click & max bought messages (different from the other two new messaged)
- Added Max Buy button
- Added a basic Test Server that you can use!
- Made it more Asynchronous so it should perform even better
