I have a crafting table here, I change the recepies often. Frequently when I change it. Sometimes I put a black recepie, then put the recepie that I want (you HAVE to first make it blank) and in that milisecond when it's black, the inserter takes a random item and tries to put it into an assembler. So it ends up with an item in its hand. I put the recepie that I want, but the inserter can't take the item back into the warehouse and pick the correct item.
Result: the inserter gets stuck. There's no reason why an inserter should ever automatically take *ANY* item to try to put it into a blank assembler. It should wait until an assembler has a recepie, and THEN try to put an item inside.
This happens often with or without mods, vanilla or not. We can all relate.
upload pic
Stop inserter from automatically taking an item into an empty assembler
Moderator: ickputzdirwech
-
- Fast Inserter
- Posts: 187
- Joined: Fri Jan 05, 2018 5:18 pm
- Contact:
Re: Stop inserter from automatically taking an item into an empty assembler
In my experience, inserters never put anything into an unlabeled assembler. Is there something about your assembler creation that temporarily gives it a task?
Re: Stop inserter from automatically taking an item into an empty assembler
Current inserter logic follows these rules:
- each inserter independently performs its own checks on demands of a drain it is pointed at
- a drain that is not a machine is supposed to have an input space for at least one item of any type, and infinite demand
- a drain that is a machine is supposed to have an input space for one full item stack of each recipe-defined type, and finite demand that kicks in when the machine has output space and its input holds items for less than two production cycles
- inserter never grabs items it has no demand for
- when inserter's hand stack is not empty it stops trying to grab after reaching a timeout
- idle inserters are lazy so before attempting to grab they discount demands by hand stacks of other non-idle inserters that are pointed towards the same drain
- however, this check is performed second time to select the inserter that is most able to fulfill incoming demand. This happens after hand stack becomes full or its timeout gets reached and before the hand starts moving, so at least one inserter could get stuck here waiting for new demand
- inserter is unable to put the hand stack back to source when demand suddenly changes
- inserter is unable to pass the hand stack to the drain if the latter has less space than hand has items left, so inserter could get stuck waiting for input space if demand is bigger than that
Re: Stop inserter from automatically taking an item into an empty assembler
This. I strongly suspect it's remnants of the old recipe that were in-hand when it got switched, and now have nowhere to go.AngledLuffa wrote: ↑Mon Sep 23, 2019 3:52 pm In my experience, inserters never put anything into an unlabeled assembler. Is there something about your assembler creation that temporarily gives it a task?