Список изменений
🆕 New Features
Personal Item Filters (/trashfilter)
Players can now manage their own personal item blacklist directly in-game. Items added to the blacklist will be blocked when trying to trash them, giving players full control over what they can accidentally delete.
/trashfilter blacklist <material>— Add a material to your personal blacklist/trashfilter whitelist <material>— Remove a material from your personal blacklist/trashfilter list— View all materials currently in your blacklist/trashfilter reload— Reload filter configuration (admin only)
Tab completion is supported for all material names.
Global Trash Toggle
Admins can now enable or disable the trash for all players server-wide without restarting or editing config files.
/trash enable— Enable the trash globally/trash disable— Disable the trash globally/trash toggle— Toggle between enabled/disabled
The state persists across server restarts automatically via config.yml.
Stats Persistence
Player statistics (items trashed, opens, rankings) are now saved to disk in stats.yml and survive server restarts. Stats auto-save every N minutes (configurable via stats.auto-save-minutes) and also save on plugin shutdown.
🐛 Bug Fixes
- Fixed trash being blocked when enabled and open when disabled — The enable/disable logic in
OpenTrashCommandwas inverted, causing the opposite behaviour of what was intended. - Fixed
/trash enable|disable|togglecrashing —setTrashEnabled()was called but never implemented, causing a runtime error on every toggle attempt. - Fixed
/trashfilter listshowing nothing — The%materials%placeholder was never replaced with the actual list of blacklisted materials. - Fixed stats not persisting —
savePlayerStats()only logged a message but never wrote anything to disk. - Fixed trash GUI detection — Any chest inventory could be mistakenly detected as the trash GUI. Now correctly checks for the
TrashHolderinstance. - Fixed cooldown message not sending — Cooldown remaining time now correctly uses the
%seconds%placeholder in the message. - Fixed placeholder conflicts in MessageManager —
args[0]was being applied to multiple named placeholders simultaneously (%latest_version%,%items%,%1%), causing wrong values to appear in messages.
🔑 New Permissions
| Permission | Description | Default |
|---|---|---|
trash.toggle | Allow enabling/disabling trash globally | op |
trash.filter.blacklist | Manage personal item blacklist | true |
trash.filter.bypass | Bypass all filters | op |
📄 Config Changes
A new key has been added to config.yml. Existing configs will not be overwritten.
# Controls whether the trash is enabled for all players.
# Use /trash enable | disable | toggle to change in-game.
trash-disabled: false

