Repository navigation
The Controller Network
Applies to Vault Drawers 0.0.0-beta.9 for Minecraft 26.2 (NeoForge).
A single drawer is small. A wall of drawers is a lot of blocks you have to visit one at a time.
The Controller links up to 512 drawers together and gives you one interface for the whole network — insert and extract as if it were a single inventory.
Controller — the hub. Drawers connect to it within range, and it is where you open the network interface.
Controller Slave — extends the network's reach. Place them between the Controller and distant drawers to push the range out.
controllerRange defaults to 50, and how far a drawer can be connected on any of the X, Y or Z
planes.
The config is explicit about the ceiling:
The largest recommended range is around 75, or the expected chunk load distance. If setting this value higher, drawers will be unavailable if their chunks become unloaded.
That second sentence is the one to internalise. Range is not an arbitrary number — it is bounded by what Minecraft keeps loaded. A drawer beyond the chunk load distance will despawn from memory and become unreachable, however high you set this.
So 75 is not conservatism, it is the practical maximum for a default view distance. Above that you are relying on chunks happening to stay loaded — chunk loaders, a large view distance, or a player nearby.
If drawers intermittently stop responding, the range is the first thing to check.
The Controller can be driven by redstone. Four modes:
| Mode | Behaviour |
|---|---|
| Disable | The network is disabled while the signal is active. |
| Eject | Ejects on signal. |
| Round-Robin | Cycles through drawers on signal. |
| Priority | Acts on one drawer according to priority on signal. |
Disable is the one worth understanding properly: it lets you shut a whole storage wall off with a lever, which is the usual use — a build you are working in and do not want auto-sorting while you are placing blocks.
Round-Robin spreads an operation across drawers rather than always hitting the same one, which matters if your inserts are not perfectly balanced.
Priority targets a specific drawer, which is what you want if one drawer is the one you always want to draw from.
The Balance upgrade lets same-item slots even themselves out when items are added or removed — and it works across networks when acting through a controller.
That last part is the useful detail. Balancing a single drawer is not very interesting; balancing twenty drawers of the same item so none of them sits at 90% while another is at 10% is.
See Upgrades.
- Place the Controller at the centre.
- Place drawers within
controllerRangeon each axis. - Need more reach? Place Controller Slaves to extend it, and stay inside the chunk load distance.
- Open the Controller to get the network interface.
Then upgrade the drawers as needed — capacity first for bulk, speed if automation is feeding them.
Speed upgrades matter more here than anywhere else. On a network of several hundred drawers, the per-drawer throughput compounds, and a wall that cannot keep up with a hopper line is the usual reason people rebuild with speed upgrades.
Balance across a large network is not free — it is extra work per operation, done only through the Controller. On a small network it is irrelevant; on a 500-drawer wall it is worth knowing about.
Range costs nothing at runtime. The limit is a reach constraint, not a performance one — a drawer in range is no more expensive than one next to the Controller.
Vault Drawers is a NeoForge 26.2 port of Storage Drawers by Texelsaur, MIT licensed. All original assets, code logic and design belong to Texelsaur. Not affiliated with or endorsed by the original author.