[2.0.28] Decaying Bacteria Associated with Reduction in Effective Storage Space
Posted: Wed Jan 08, 2025 10:58 pm
WHAT DID I DO...
Filtered bulk inserters were used to place copper bacteria into steel chests for "aging". Once the bacteria converted to ore a different set of filtered bulk inserters were used to extract only the ore for further processing.
WHAT HAPPENED...
After running the bacteria-in-wait-ore-out process for a while the copper ore within the steel chest became widely dispersed among the available slots... some storage slots held only two or three pieces of copper ore while other slots held dozens or more pieces. Please refer to the attached screenshot.
The presence of small amounts of ore scattered across most of the available slots within the chest hindered the insertion of new bacteria even though the chest was far from being "full" (48 slots x 50 items per stack = 2,400 item capacity).
WHAT DID I EXPECT TO HAPPEN...
I would have expected one or more of these behaviors:
1. Bacteria decaying into ore should coalesce into preexisting partially filled slots that already contained ore.
2. Bulk inserters extracting ore should completely empty a particular slot before attempting to empty the next slot.
3. Storage chests should automatically coalesce like-materials together in order to completely fill each slot.
My observations indicate that inserters preferentially grab from the "last" slot containing the desired material. If, for example, an inserter is emptying ore from slot #20 when a batch of bacteria in slot #25 decays into ore the extracting inserter will shift its focus to slot #25 thereby potentially leaving slot #20 partially filled with ore.
I have attached a blueprint that reliably recreates the described problem (at least on my system). Due to my belt design on the extraction side, the second and fourth chests (from the top) take longer to empty and are therefore more susceptible to storage fragmentation.
In the blueprint, the example with bacteria being inserted exhibits storage fragmentation within the steel chest. The example with strictly ore-in-ore-out does not exhibit the fragmentation problem.
Filtered bulk inserters were used to place copper bacteria into steel chests for "aging". Once the bacteria converted to ore a different set of filtered bulk inserters were used to extract only the ore for further processing.
WHAT HAPPENED...
After running the bacteria-in-wait-ore-out process for a while the copper ore within the steel chest became widely dispersed among the available slots... some storage slots held only two or three pieces of copper ore while other slots held dozens or more pieces. Please refer to the attached screenshot.
The presence of small amounts of ore scattered across most of the available slots within the chest hindered the insertion of new bacteria even though the chest was far from being "full" (48 slots x 50 items per stack = 2,400 item capacity).
WHAT DID I EXPECT TO HAPPEN...
I would have expected one or more of these behaviors:
1. Bacteria decaying into ore should coalesce into preexisting partially filled slots that already contained ore.
2. Bulk inserters extracting ore should completely empty a particular slot before attempting to empty the next slot.
3. Storage chests should automatically coalesce like-materials together in order to completely fill each slot.
My observations indicate that inserters preferentially grab from the "last" slot containing the desired material. If, for example, an inserter is emptying ore from slot #20 when a batch of bacteria in slot #25 decays into ore the extracting inserter will shift its focus to slot #25 thereby potentially leaving slot #20 partially filled with ore.
I have attached a blueprint that reliably recreates the described problem (at least on my system). Due to my belt design on the extraction side, the second and fourth chests (from the top) take longer to empty and are therefore more susceptible to storage fragmentation.
In the blueprint, the example with bacteria being inserted exhibits storage fragmentation within the steel chest. The example with strictly ore-in-ore-out does not exhibit the fragmentation problem.