Feature + Enhancement + Fixes
1.3.0-SNAPSHOT — Upgrades System Release + Other Improvements
What's New?
This update introduces full Upgrades System support, major quality-of-life improvements, expanded API capabilities, and enhanced compatibility across platforms.
Wiki Page - How to use ChestLink Upgrades System
Platform & QoL Improvements
- The “Renamed chest to …” message is now clickable, allowing players to reopen that chest instantly.
- Includes hoverable lore with chest details (same as GUI, minus instructions).
- Added suggestions to
/chestlink help
Upgrades System — Core Framework
A complete per-chest upgrade architecture has been added and is now fully functional.
New Features
- Introduced a per-chest upgrades data model (saved, loaded, and updated automatically).
- Added a formal Upgrade API & registry, allowing plugins to register new upgrades.
- Default upgrades added:
- Capacity
- Auto-Sort
- Filter (Whitelist/Blacklist)
- Compression
API Additions
- New
ChestUpgrade interfaceandAbstractChestUpgradebase with:- Metadata
- Icons
- Optional event hooks (open, close, item insert)
- Central UpgradeRegistry for registering, looking up, and listing upgrades for GUI and configs.
Configurable Upgrades (upgrades.yml)
Upgrades are now fully configurable:
- Enable/disable specific upgrades
- Define per-level costs
- Choose cost types:
- Economy
- Items
- XP
- Mixed
- Server-safe config loading with validation and warnings
- Default
upgrades.ymlnow ships with sample values for all upgrade types
Capacity Upgrade Enhancements
- Capacity is now fully dynamic and driven by config.
- Supports single and double chest progression paths.
- Virtual inventories resize safely during:
- Load
- Open
- Level-ups
- UI and commands now show actual usable slot counts.
Auto-Sort Upgrade
- Upgrade can be purchased via the GUI.
- Sorting strategies now configurable (
alphabeticaldefault). - Inventory additions (clicks, drags, inserts) trigger a timed sort.
- Changes react instantly for players.
Filter Upgrade
- Supports whitelist/blacklist filtering.
- Persists mode and filter entries between restarts.
- New Filter Menu to:
- Toggle modes
- Add held item
- Remove entries
- Clear list
- Manager enforces filtering before sorting and compression.
- New localized messages for filter actions.
Compression Upgrade
- Fully configurable compression recipes (9→1 block crafting).
- GUI shows enabled recipes and description.
- Compression runs on every insert after filtering.
- Overflow behavior configurable (drop, return, deny).
Permissions & Limits
- Added per-upgrade permission nodes:
chestlink.upgrades.capacitychestlink.upgrades.auto_sortchestlink.upgrades.filterchestlink.upgrades.compression
- Added
chestlink.upgrades.usefor general access. - Added
chestlink.upgrades.manage.othersfor staff. - Rank-based upgrade limits now supported:
- Max upgrade levels
- Max upgraded chests
Upgrades Menu Improvements
- Completely redesigned GUI layout.
- Each upgrade has:
- Dedicated slot
- Icon
- Name & description from language file
- Current level/setting
- Next-level costs (economy, xp, items)
- Compression and Filter show detailed tooltips.
- Max-level states clearly highlighted.
- Right-click behavior standardized.
- Economy upgrades show the player’s current balance.
Virtual Inventory System Overhaul
- New virtual inventory storage supports capacities beyond 54 slots.
- Multi-page UI with navigation buttons.
- Safe filler slots block interaction.
- All upgrades (filter, sort, compression) operate on virtual storage.
- Persistence expanded to support arbitrary slot counts.
Chest Binding & Placement Enhancements
- Safe-placement checks are now configurable (
safe-placement-enabled). - Better double-chest detection and linking:
- Titles show “Linked Double Chest”
- Both halves open the linked inventory
- Holograms correctly center between chest blocks
- Improved storm/rain safety logic (only blocks exposed chests).
User Experience Improvements
- Upgrade menu shows player’s XP when buying Compression upgrades.
- Insufficient-funds messages show:
- Required amount
- Current balance
- Upgrade name
/cl upgradesprovides a friendly guide if a player has no linked chests.
Thank you for supporting ChestLink. Your feedback drives every improvement.
— SergeantFuzzy