DeluxeMobCoins v1.13 - The History & Control Update
This is a massive update focused on giving players more insight into their economy with a new
Transaction History feature, while providing administrators with powerful new tools for controlling mob drops and permissions.
✨ New Features
Transaction History
- Players can now view their last 20 transactions using the /mc history <earn|shop> command. This allows them to track how they've earned coins and what they've purchased.
- Note: This feature requires a MySQL database to be enabled in config.yml.
World & Spawn Control
- World List Whitelist Mode: You can now configure the world-list in config.yml to act as a whitelist. A new option, world-list-as-whitelist: true, will make it so MobCoins only drop in the worlds specified in the list.
- Spawn Reason Blacklist: Block MobCoin drops from specific spawn reasons (like SPAWNER) to prevent farming. This can be set globally in config.yml or for specific mobs in mobs.yml.
Quality of Life & Customization
- Tutorial Command: Added /mc tutorial to help players learn how to get MobCoins. The output is fully customizable in lang.yml.
- Coin Item Stacking: Players can now stack MobCoin items by dragging and dropping them onto each other in their inventory. The values will be combined into a single item.
- give-item Shop Option: Added a give-item: true/false option to shop items for more flexible rewards that don't involve commands.
- Decimal Coin Drops: Re-enabled decimal values for MobCoin drops from mobs to provide more dynamic reward amounts.
Improvements & QoL
- Permission Overhaul: The permission system has been completely restructured for simplicity. You can now grant access to all player commands with deluxemobcoins.player and all admin commands with deluxemobcoins.admin.
- Decimal Formatting: All player-facing balances (in /mc top, /mc balance, and placeholders) are now formatted with commas for better readability (e.g., 10,000).
- Advanced Hex Color Support: The color parsing system has been greatly improved. The /mc top command and other elements now correctly display modern hex color formats (e.g., <#RRGGBB>, &#RRGGBB, #RRGGBB).
- New PAPI Placeholder: Added %deluxemobcoins_top_formatted_X% which displays a fully formatted line for leaderboards, including prefix, name, and formatted balance.
- Prefix & Color Inheritance in /mc top:
- The option to show player prefixes from LuckPerms in /mc top now functions correctly.
- Player names now correctly inherit the color from their rank prefix instead of appearing white.
- Simplified Market Announcements: The config.yml for the rotating market now uses a single announcements: true/false toggle to control all market-related broadcasts.
- Console Logging for Announcements: Shop open and close announcements are now properly logged to the server console.
Bug Fixes
- Critical World Check Fix: Fixed a major bug where allowed-worlds and disabled-worlds in mobs.yml did not always work correctly. Mob drops are now reliably restricted to the correct worlds.
- Rotating Shop Timer:
- Fixed a critical bug where the open-duration and closed-duration were swapped, causing an inverted schedule.
- The shop timer's state is now preserved across a /mc reload, preventing the countdown from resetting.
- Tab Completion: Fixed a bug where command and player name tab completion was not working correctly due to improper permission checks.
- Spawn Reason Blacklist: Resolved an issue where an empty blacklisted-spawn-reasons list in config.yml was being ignored.
- Announcement Logic: Resolved a bug where shop open/close messages were still sent even when announcements were disabled.
- Time Formatting: Completely rewrote the time formatting logic for the rotating market timer to be consistently accurate.
- Hex Color Codes: Fixed an issue where hex color codes from PlaceholderAPI placeholders were not being correctly translated in messages.
⚙️ Configuration Changes
- A new mobcoins_history table will be added to the database to support the history feature.
- Updated config.yml with the new world-list-as-whitelist setting. The old disabled-worlds key has been automatically renamed to world-list for clarity.
- Updated lang.yml with new messages for the history and tutorial commands.
- Updated plugin.yml to reflect the new, simplified permission structure.