Inserters have spoiled-ness priority but they currently do not apply to belts or logistics requests. It would be helpful to add the support. For example, one may want to feed rotten bioflux to biters and make science with the good batches, but this is nearly impossible right now without each platform specifying priorities between rockets.
Also, each belt segment contains 8 stacks and inserters tend to favor one stack. That could result in some of those stacks never getting used and left to rot. Like when belting eggs in space. It could help to make inserters optionally pick up the most rotten stack.
Spoiled-ness priority for logistics requests and belts
Moderator: ickputzdirwech
Re: Spoiled-ness priority for logistics requests and belts
This would be great, if bots were able to grab by spoil priority. Currently if I want to feed 4 belts 240/s with gleba science it has to go through series of inserters and chests.
Re: Spoiled-ness priority for logistics requests and belts
+1 on making spoiledness priority apply when taking from belts. I made a lot of designs on Gleba that never quite worked right because I had assumed that it did apply.
Making it work for logistics requests... it would certainly be useful, but it might be impractical to implement for performance reasons. In order to find the most (or least) spoiled item, the game has to check every stack of that item and compare their spile levels. When you're taking from a chest, that's a maximum of 120 stacks to search. If you're doing it in a logistics network, on the other hand, the number of stacks that might need to be checked could be very large.
Making it work for logistics requests... it would certainly be useful, but it might be impractical to implement for performance reasons. In order to find the most (or least) spoiled item, the game has to check every stack of that item and compare their spile levels. When you're taking from a chest, that's a maximum of 120 stacks to search. If you're doing it in a logistics network, on the other hand, the number of stacks that might need to be checked could be very large.
-
Alfonse215
- Inserter

- Posts: 49
- Joined: Mon Dec 23, 2024 6:53 pm
- Contact:
Re: Spoiled-ness priority for logistics requests and belts
How would that work, exactly?macdjord wrote: Thu Aug 13, 2026 6:25 pm +1 on making spoiledness priority apply when taking from belts. I made a lot of designs on Gleba that never quite worked right because I had assumed that it did apply.
Let's say that you have it set to least spoiled first. There are 2 stacks on the belt, and the inserter starts reaching for the freshest. But then a 3rd stack moves onto the belt, and it's even more fresh than the other two. Should the inserter start reaching for that instead or should it finish its current movement first?
This works for pulling stuff out of a box because there is no time between the inserter wanting to pick something up and actually getting it. So it can scan the box, sort by freshness, pick up however much it can, and then it's done, all in one tick. Once you introduce timing between when stuff gets desired and then picked up, it becomes a problem.
For bots, I think it would make more sense to have the filter be on the source container than on the request. A bot picks from the right-most stack of a container first. So if the right-most stack is always the freshest or least fresh, then it works. As long as you don't spread spoilables to multiple source logistics chests, of course.
Re: Spoiled-ness priority for logistics requests and belts
Off the top of my head, the obvious solution is that there is some point in the inserter's swing cycle when it decides what item on the belt to try to pick up, and this setting would work based on what it on the belt at that moment, without considering new items that arrive between then and when it completes the pickup.Alfonse215 wrote: Thu Aug 13, 2026 6:37 pmHow would that work, exactly?macdjord wrote: Thu Aug 13, 2026 6:25 pm +1 on making spoiledness priority apply when taking from belts. I made a lot of designs on Gleba that never quite worked right because I had assumed that it did apply.
Let's say that you have it set to least spoiled first. There are 2 stacks on the belt, and the inserter starts reaching for the freshest. But then a 3rd stack moves onto the belt, and it's even more fresh than the other two. Should the inserter start reaching for that instead or should it finish its current movement first?
This works for pulling stuff out of a box because there is no time between the inserter wanting to pick something up and actually getting it. So it can scan the box, sort by freshness, pick up however much it can, and then it's done, all in one tick. Once you introduce timing between when stuff gets desired and then picked up, it becomes a problem.
Frankly, I don't think it matters much. If the items on the belt are moving, then they probably all have about the same level of freshness anyway, so it doesn't matter which one gets picked. This setting would be most useful when dealing with stagnant belts. In particular, when taking items from the last tile of a belt, being able to set 'spoiled first' would mean you don't end up with a couple items trapped at the very end of the belt, slowly rotting away, because the inserter keeps picking ones from the middle of the tile instead. (This is particularly important with biter or pentapod eggs, where having a couple get trapped and spoil isn't just a matter of wastage; it means enemies spawning in the middle of your base.)
That would work, but it also sharply limits the utility of the system. First, as you pointed out, since its very difficult to effectively control which logistics chest bots take from, you need to consolidate all of a given item into one source chest in order for this to be effective. However, this has a knock-on effect: it means all requests for that item are forced to use the same spoiledness preference. This generally isn't what you actually want: if your rocket silos are requesting science, you want to load the freshest stuff, but if you have too much and want to send stuff for disposal, you want the least fresh. Meanwhile, bioflux intended for plastic, sulfur, capture rockets, nutrients, or bacteria breeding should be the oldest stuff available, just to get rid of it, while science production needs the freshest.Alfonse215 wrote: Thu Aug 13, 2026 6:37 pm For bots, I think it would make more sense to have the filter be on the source container than on the request. A bot picks from the right-most stack of a container first. So if the right-most stack is always the freshest or least fresh, then it works. As long as you don't spread spoilables to multiple source logistics chests, of course.


