Functional Storage Legacy is a high-version-style backport for Minecraft 1.12.2, inspired by modern
Functional Storage and partially integrating ideas and content from MoreFunctionalStorage.
- Mod ID:
functionalstoragelegacy - Minecraft:
1.12.2 - Java:
8 - License:
MIT
This mod provides a drawer-centric high-capacity item/fluid storage system, including multiple drawer blocks, compacting storage, fluid storage, Ender shared storage, controller networks, tool interactions, and upgrade automation.
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
- 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
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)
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
- 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
- Automatically detects compacting/decompacting recipes
- Supports initialization from any valid tier
- Automatically converts total amount across multi-level outputs
- Each slot stores only one fluid type
- Supports direct interaction with buckets and fluid containers
- Locked slots retain fluid templates
- Uses frequency strings for shared storage
- Drawers with the same frequency share the same inventory
- Does not support storage upgrades
- High-capacity storage for non-stackable equipment/tool items
- Default capacity:
4096slots - Independent from controller and drawer upgrade systems
- Aggregates item and fluid capabilities from connected drawers
- Prioritizes already-matched/locked drawers on insertion
- Controller range is affected by storage upgrade calculations
- Provides additional access points for a controller network
- Can connect to adjacent controllers or already-connected extension blocks
- 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
- 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
- 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
- Current explicit integration:
The One Probe - TOP can display drawer/fluid/controller contents and
Locked,Void,Creativestates
Main configurable options include:
- Armory Cabinet capacity
- Base controller connection range
- Upgrade work tick interval
- Pull/push/collect item amount
- Pull/push/collect fluid amount
- Storage upgrade multipliers
- Fluid capacity and controller range conversion parameters
- TOP integration toggle
- Client-side drawer content render distance
Basic workflow:
- Place drawers and store items or fluids
- Install storage or functional upgrades as needed
- Place a
Storage Controller - Use
Linking Toolto connect drawers to the controller - Use
Configuration Toolto adjust lock and display options - Place
Controller Extensionwhen more access points are needed
- Original Functional Storage author:
Buuz135 - MoreFunctionalStorage author:
Matyrobbrt - Current 1.12.2 backport and maintenance:
xinyihl