[2.0.43] Inconsistent item count limit in assembler input slots
Posted: Sat Mar 29, 2025 9:22 pm
Description
I have two saves with the same mods and mod configurations that both have an assembler trying to make the same recipe. Inserters are inputting the same item into the assemblers. This item has an automated insert limit of 400. In one save, the inserter gets stuck at 400 items. You cannot manually add more items to this slot either. In the other save, the inserter manages to insert an extra item so there are now 401 items in the assembler input slot. In this second save, you are able to add more items to this assembler input slot, for a maximum of 440.
I have no idea what the difference is between these two save files. Both were made from scratch in editor mode. Several people on the Py discord have confirmed they can load both save files without needing to sync mods or mod configuration, and they confirm the behavior above.
Step by step reproduction
Save file where the limit of 400 is respected:
- load messedupwtf.zip, syncing mods and mod settings
- observe that one inserter is stuck trying to insert 1 soil into the assembler
- observe that there are 400 items in the item slot in the assembler
- pick up a stack of soil from the bottom left chest, attempt to insert it into the assembler, and observe that this is not possible
- also see the limitrespected.png image
Save file where we can get more than 400 items in a slot:
- load limittest2.zip, observe that no syncing is needed after syncing the previous save
- leave editor mode (or play time)
- observe that the inserter adds 3 more items into the assembler
- observe that the assembler now has 401 items in the item slot
- pick up a stack of soil from the infinity chest, attempt to insert it into the assembler, and observe that the total number of items in the slot goes to 440.
- also see the limitignored.png image
Desired behavior
I would prefer the behavior in limittest2.zip, where the limit of 400 is exceeded. We found this issue because someone on the Py discord reported that their mall assembler inserter got stuck, because it tried to insert 400 of this item with two inserters, and it overfilled as per messedupwtf.zip. We can't see a good way to work around this behavior either if the limit were to be respected: as soon as you have multiple inserters and the automated inserter limit exceeds the stack size, your inserters are liable to get stuck. Even a single inserter can get stuck if the hand stack size is not a multiple of the automated inserter limit (or there's a temporary input gap leading to a swing with less than the hand stack size).
We conjecture that this change may be the cause of this behavior change, because we would have expected more people to have reported it otherwise: 116644
I have two saves with the same mods and mod configurations that both have an assembler trying to make the same recipe. Inserters are inputting the same item into the assemblers. This item has an automated insert limit of 400. In one save, the inserter gets stuck at 400 items. You cannot manually add more items to this slot either. In the other save, the inserter manages to insert an extra item so there are now 401 items in the assembler input slot. In this second save, you are able to add more items to this assembler input slot, for a maximum of 440.
I have no idea what the difference is between these two save files. Both were made from scratch in editor mode. Several people on the Py discord have confirmed they can load both save files without needing to sync mods or mod configuration, and they confirm the behavior above.
Step by step reproduction
Save file where the limit of 400 is respected:
- load messedupwtf.zip, syncing mods and mod settings
- observe that one inserter is stuck trying to insert 1 soil into the assembler
- observe that there are 400 items in the item slot in the assembler
- pick up a stack of soil from the bottom left chest, attempt to insert it into the assembler, and observe that this is not possible
- also see the limitrespected.png image
Save file where we can get more than 400 items in a slot:
- load limittest2.zip, observe that no syncing is needed after syncing the previous save
- leave editor mode (or play time)
- observe that the inserter adds 3 more items into the assembler
- observe that the assembler now has 401 items in the item slot
- pick up a stack of soil from the infinity chest, attempt to insert it into the assembler, and observe that the total number of items in the slot goes to 440.
- also see the limitignored.png image
Desired behavior
I would prefer the behavior in limittest2.zip, where the limit of 400 is exceeded. We found this issue because someone on the Py discord reported that their mall assembler inserter got stuck, because it tried to insert 400 of this item with two inserters, and it overfilled as per messedupwtf.zip. We can't see a good way to work around this behavior either if the limit were to be respected: as soon as you have multiple inserters and the automated inserter limit exceeds the stack size, your inserters are liable to get stuck. Even a single inserter can get stuck if the hand stack size is not a multiple of the automated inserter limit (or there's a temporary input gap leading to a swing with less than the hand stack size).
We conjecture that this change may be the cause of this behavior change, because we would have expected more people to have reported it otherwise: 116644