Backport of Functional Storage features for Minecraft 1.12.2 (Forge).
Implemented Features
Compared with traditional 1.12.2 drawer mods, this project is closer to modern Functional Storage interaction patterns:
- Storage upgrades use a multiplicative scaling model
- Drawer contents, upgrades, and config are preserved in item NBT after block break
- Drawer items can expose
IItemHandlercapability for cross-mod interaction - Collector upgrade supports both dropped-item and fluid collection behaviors
Main Content
Drawers and Storage Blocks
- Wooden drawers:
1x1,1x2,2x2 - Wood types:
oak,spruce,birch,jungle,acacia,dark_oak - Compacting Drawer: 3-tier compacting storage
- Simple Compacting Drawer: 2-tier compacting storage
- Fluid Drawer:
1/2/4-slot fluid variants - Ender Drawer: frequency-based shared single-slot storage
- Storage Controller
- Controller Extension
- Armory Cabinet
Upgrade System
Storage Upgrades
Iron DowngradeCopper UpgradeGold UpgradeDiamond UpgradeNetherite UpgradeCreative Vending Upgrade
Notes:
- Storage upgrades are calculated multiplicatively instead of single-tier overwrite
- Default multipliers: copper
x8, goldx16, diamondx24, netheritex32 - Upgrades affect normal storage, fluid capacity, and controller range calculations
- If removing an upgrade causes stored amount to exceed new capacity, that slot is locked and cannot be extracted directly
- If holding a higher-level storage upgrade, it can still directly replace a lower-level one
- Upgrade conflict checks are centralized (for example,
Void Upgradecannot be installed more than once)
Functional Upgrades
Void UpgradeRedstone UpgradePulling UpgradePushing UpgradeCollector Upgrade
Notes:
Void Upgradediscards overflow of matching items/fluidsRedstone Upgradeoutputs signal based on fill ratioPulling/Pushinginteract with adjacent item/fluid capabilitiesCollector Upgradecollects dropped items from the block in front and collects fluids at a slower interval- Directional functional upgrades store facing in upgrade item NBT; sneak-right-click to cycle direction
Storage Features
Normal Drawers
- Uses a high-capacity item handler; each slot can hold far more than vanilla 64
- Item matching preserves metadata and NBT
- Supports template retention when locked
Compacting Drawers
- Automatically detects compacting/decompacting recipes
- Supports initialization from any valid tier
- Automatically converts total amount across multi-level outputs
Fluid Drawers
- Each slot stores only one fluid type
- Supports direct interaction with buckets and fluid containers
- Locked slots retain fluid templates
Ender Drawers
- Uses frequency strings for shared storage
- Drawers with the same frequency share the same inventory
- Does not support storage upgrades
Armory Cabinet
- High-capacity storage for non-stackable equipment/tool items
- Default capacity:
4096slots - Independent from controller and drawer upgrade systems
Controller Network
Storage Controller
- Aggregates item and fluid capabilities from connected drawers
- Prioritizes already-matched/locked drawers on insertion
- Controller range is affected by storage upgrade calculations
Controller Extension
- Provides additional access points for a controller network
- Can connect to adjacent controllers or already-connected extension blocks
Tools
Linking Tool
- Right-click controller: record target controller
- Right-click drawer: add or remove connection
- Supports single mode and area batch mode
- Supports add/remove mode switching
- Also used to copy and set Ender Drawer frequency
Configuration Tool
- Sneak-right-click air: cycle modes
- Right-click drawer or controller: apply current mode
- Supported modes include:
- Lock
- Number Display Toggle
- Item Render Toggle
- Upgrade Icon Toggle
- Indicator Bar Mode
Item Form Capabilities and Tooltip
- When a drawer block is broken or middle-click picked, contents and upgrades are written into item
TileData - Normal drawer items and compacting drawer items expose
IItemHandlercapability - Other mods can interact with drawer items as containers
- Tooltip displays stored content and amounts

