
ModularPacks
Bring modded-style, upgradeable backpacks to Paper servers with physical backpack items, configurable modules, SQLite storage, sharing, placement, and recovery tools.
Список изменений
ModularPacks 2.7.0
This update introduces Stack Upgrades, the new Quiver Upgrade, module installation limits, and a major rewrite of how backpack storage is handled internally.
New Features
Stack Upgrades
Added four new upgrades that increase the maximum number of identical items that can be stored in a single backpack slot:
- Iron Stack Upgrade — ×2 stack capacity
- Gold Stack Upgrade — ×4 stack capacity
- Diamond Stack Upgrade — ×8 stack capacity
- Netherite Stack Upgrade — ×16 stack capacity
Stack Upgrades can be combined multiplicatively.
For example:
- 64 × Iron → 128
- 64 × Iron × Iron → 256
- 64 × Iron × Gold → 512
A maximum of 3 Stack Upgrades may be installed in a backpack at once, regardless of tier.
Stack Upgrades also work with normally unstackable items, provided the items are completely identical.
Removing a Stack Upgrade is prevented if doing so would leave any existing stack above its new capacity.
Quiver Upgrade
Added the Quiver Upgrade.
When enabled, bows and crossbows can use compatible arrows stored directly inside the backpack.
Supported ammunition includes:
- Arrows
- Spectral Arrows
- Tipped Arrows
The Quiver can be configured to automatically choose ammunition or use a specific arrow type.
Arrow selection follows the exact item identity, so different tipped arrows, custom arrows, or arrows with different metadata remain distinct.
The Quiver does not have a separate ammunition inventory — arrows remain in the backpack's normal storage.
Backpack Storage Rewrite
Backpack storage has been extensively reworked to support stack sizes beyond vanilla Minecraft limits.
Backpacks now internally track:
- the exact stored item
- its logical quantity
- its logical stack capacity
This allows a backpack slot to safely contain hundreds or thousands of items without creating invalid oversized Minecraft ItemStacks.
Existing backpacks are automatically migrated to the new storage format when loaded.
No manual conversion is required.
Virtual Stack Display
Backpack inventories now display large logical stacks safely.
Because vanilla clients cannot directly display arbitrary stack sizes above Minecraft's normal limits, oversized stacks use a normal display stack while showing their real quantity in the item information.
For example:
Cobblestone
Stored: 237 / 256
Inventory interactions including insertion, extraction, sorting, shift-clicking, dragging, and other backpack operations now operate against the actual logical quantity rather than the displayed item amount.
Module Installation Limits
Modules can now define installation limits.
Modules may also share an installation group, allowing related module tiers to share the same total limit.
This is currently used by Stack Upgrades and also improves the module system for future upgrades.
Some existing modules have also received explicit installation limits where multiple copies are supported.
Sorting & Module Compatibility
Backpack sorting now understands virtual stacks and can consolidate items beyond vanilla stack sizes.
Existing storage-consuming modules have been migrated to the new storage system, including systems such as:
- Magnet
- Void
- Feeding
- Restock
- Furnaces
- Autocrafting
These modules can now work directly with enlarged Stack Upgrade capacities.
API & Internal Changes
- Added a logical backpack storage abstraction.
- Added exact stack identity handling.
- Added centralized stack-capacity calculation.
- Added versioned backpack storage serialization.
- Added automatic legacy-storage migration.
- Added generic module installation/removal policies.
- Updated backpack storage consumers to use the new logical storage API.
- Improved shared-backpack synchronization with virtual storage.
- Preserved compatibility APIs where possible.
Fixes & Cleanup
- Fixed several null-safety warnings.
- Removed unused and obsolete code introduced during the storage rewrite.
- Improved validation around module installation and removal.
- Prevented invalid Stack Upgrade removal from causing over-capacity storage.
- Improved safety around virtual-stack inventory interactions.
- Improved Quiver cleanup and ammunition handling.
- Cleaned up compiler warnings and deprecated API usage.
