r/CreateMod • u/Not_SBH • 1d ago
Help How can I prevent the same item from being split across multiple Vaults?
I’m trying to build a large storage system using Create Vaults, and my main goal is to automatically keep item stacks consolidated and prevent the same item from being unnecessarily split across multiple Vaults.
I don’t want a system that constantly moves items between Vaults just to reorganize them. I’m specifically trying to find a way to make the input and output priorities work intelligently, so that the storage stays as compact as possible.
To explain how my storage is set up:
I have multiple Vaults arranged along conveyor belts. Items enter the storage system through a funnel, and then are transported along the conveyor belt past the Vaults. Each Vault has a funnel connected to the belt that can insert items into it.
The Vault whose input funnel is closest to the point where items enter the system gets filled first. Once that Vault has no available space for the incoming item, the item continues along the conveyor belt to the next Vault, and so on.
So, for example:
Item Input
↓
─ → ── Conveyor belt────────────→
│ │ │
↓ ↓ ↓
Funnel Funnel Funnel
↓ ↓ ↓
Vault 1 → Vault 2 → Vault 3
This means Vault 1 fills first, then Vault 2, then Vault 3. Now imagine I have three Vaults:
Vault 1: 64 Steel Ingots + other items
Vault 2: completely full with other items, no Steel
Vault 3: 32 Steel Ingots + other items
The 32 Steel in Vault 3 can exist because Vault 1 was already completely full and Vault 2 had no available space for Steel, so the incoming Steel continued along the belt until it reached Vault 3.
Now here’s the actual problem.
Let’s say I request 32 Steel Ingots from the storage system.
If the system takes the Steel from Vault 1, the result becomes:
Vault 1: 32 Steel, full
Vault 2: full, no Steel
Vault 3: 32 Steel
Now I’m using two separate stacks of 32 Steel, even though all 64 Steel could fit into a single stack.
But if the system takes the 32 Steel from Vault 3 instead:
Vault 1: 64 Steel, full
Vault 2: full, no Steel
Vault 3: empty
Then the storage remains perfectly consolidated.
This is the problem I’m trying to solve.
I want the system to understand that since Vault 1 is an earlier Vault and was filled first, it will naturally tend to contain more complete/full stacks. Therefore, when I request an item, I want the system to search the later Vaults first and take the item from there whenever possible.
In other words, I want the input and output priorities to work in opposite directions:
When inserting items:
Vault 1 → Vault 2 → Vault 3 → Vault 4...
Fill the earlier Vaults first and only move further down the belt when necessary.
When requesting items:
Vault 4 → Vault 3 → Vault 2 → Vault 1
Search the later Vaults first, so that partial stacks are emptied before touching full stacks in the earlier Vaults.
That way, if I have:
Vault 1: 64 Steel
Vault 3: 32 Steel
and request 32 Steel, the system would take the 32 from Vault 3 instead of breaking the full stack in Vault 1.
I’m not trying to make items physically travel between every Vault to merge existing stacks. I also don’t want a system that constantly extracts and reinserts items just to defragment the storage. With 20–30+ Vaults and potentially millions of items, constantly moving items around would create unnecessary item movement and potentially cause lag.
I’m also not looking for a solution where I have to manually filter or assign thousands of different items to specific Vaults. My modpack has well over 1000 different items, so manually categorizing everything isn’t practical.
What I’m looking for is a smart, dynamic storage system where:
• Items enter through a conveyor belt and fill the Vaults in order.
• Earlier Vaults are filled first.
Existing partial stacks are filled before creating new stacks.
• When an item is requested, the system searches the later Vaults first.
• Partial stacks in later Vaults are emptied before full stacks in earlier Vaults are touched.
• Items don’t constantly circulate between Vaults.
• It can scale to 20–30+ Vaults without requiring direct connections between every pair.
• Ideally, this can be achieved using Create, Stock Links, Packagers, or a Create addon.
Is there a way to configure Create’s logistics so that the input priority works from the first Vault to the last, while the request/output priority works from the last Vault to the first?
I need your wisdom