Logistic requests - "inf" behaves as "none" rather than infinity

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

nzer
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Logistic requests - "inf" behaves as "none" rather than infinity

Post by nzer »

Currently, setting the maximum on a logistic request to "inf" does not actually behave as if the request has a maximum of infinity. Rather, it behaves as if there is no maximum set. The difference is relevant when Trash Unrequested is enabled, as a request from N to inf will auto trash anything over N, when logically it should disable trashing for that item (because trashing occurs when the amount in the inventory is greater than the maximum).

So my suggestion is that a new "none" value should be added and used as the default maximum when creating a new logistic request. Dragging the slider all the way to the right should still result in a value of "inf," which should be changed to disable trashing in all cases as you would expect it to.
User avatar
IsaacOscar
Filter Inserter
Filter Inserter
Posts: 843
Joined: Sat Nov 09, 2024 2:36 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by IsaacOscar »

So your "none" would differ from 0?
I think the default maximum should just equal the minimum, and make inf the same as 2^31-1 (or is it 2^32 - 1?)
nzer
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by nzer »

"None" would work exactly the way "inf" currently works, which is that if Trash Unrequested is disabled the item is never trashed, and if it's enabled anything above the minimum is trashed.

"Inf" being the same as 2^32 - 1 is how it should work, but it currently doesn't work that way if Trash Unrequested is enabled.
User avatar
IsaacOscar
Filter Inserter
Filter Inserter
Posts: 843
Joined: Sat Nov 09, 2024 2:36 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by IsaacOscar »

nzer wrote: Thu Nov 21, 2024 10:56 pm "None" would work exactly the way "inf" currently works, which is that if Trash Unrequested is disabled the item is never trashed, and if it's enabled anything above the minimum is trashed.

"Inf" being the same as 2^32 - 1 is how it should work, but it currently doesn't work that way if Trash Unrequested is enabled.
Sorry, I meant people will fet confused between "none" and 0.

Also is there a use case where you would want "none" instead of setting the maximum to equal the minimum?
nzer
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by nzer »

IsaacOscar wrote: Thu Nov 21, 2024 11:16 pmSorry, I meant people will fet confused between "none" and 0.

Also is there a use case where you would want "none" instead of setting the maximum to equal the minimum?
I mean, it's for the maximum. I don't think people will get confused between "maximum of 0" and "no maximum."

And from reading other threads about this, a lot of people apparently like that they can use Trash Unrequested as an on demand "trash down to minimum" button. I don't really get it, but to each their own.
Niedzwiedzislaw
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Oct 31, 2024 7:52 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by Niedzwiedzislaw »

To whom it may concern.

Just came across this issue. I quickly added some requests for boilers as "from 0 to inf" with goal of refactoring my power plant. I wanted to prohibit robots from immediately taking away picked up machines. Well, it didn't work. I had to manually set the maximum limit to some arbitrary finite value.
I'd say that the behaviour doesn't make sense. Technically, infinity is bigger than any number and thus any amount of items in inventory should be considered correct.

But logic aside, this is UI and users want to be able to do everything and also have clear interface. So there's option for some people to use "trash unrequested" as "reset to minimum" when they use "inf". And there's option to keep surplus within range when maximum is finite. I can't say this is intuitive UI but I definitely appreciate simplicity.
torne
Filter Inserter
Filter Inserter
Posts: 350
Joined: Sun Jan 01, 2017 11:54 am
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by torne »

Niedzwiedzislaw wrote: Wed Jan 22, 2025 12:18 am Just came across this issue. I quickly added some requests for boilers as "from 0 to inf" with goal of refactoring my power plant. I wanted to prohibit robots from immediately taking away picked up machines. Well, it didn't work. I had to manually set the maximum limit to some arbitrary finite value.
Presumably you had "Trash unrequested items" enabled (otherwise this would have done nothing). "Trash unrequested" does not mean "trash anything over the maximum" because anything over the maximum is *always* trashed regardless of whether "Trash unrequested" is enabled or not - it means "trash everything except exactly what i am requesting right now".

The current UI presents the two numbers as a minimum and maximum because it solved the problem of people being able to accidentally set the autotrash threshold to *less* than the request amount (they used to be two entirely separate UI widgets and nothing stopped you doing this, which resulted in silly bot behavior), but the behavior is still that what looks like a "minimum" is the actual request amount, and the "maximum" is the autotrash threshold - two separate behaviors configured in the same place for UI convenience.
Niedzwiedzislaw
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Oct 31, 2024 7:52 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by Niedzwiedzislaw »

torne wrote: Wed Jan 22, 2025 1:16 am Presumably you had "Trash unrequested items" enabled (otherwise this would have done nothing). "Trash unrequested" does not mean "trash anything over the maximum" because anything over the maximum is *always* trashed regardless of whether "Trash unrequested" is enabled or not - it means "trash everything except exactly what i am requesting right now".
I think it's a little bit more nuanced than you described. Certain configurations allow you to keep only minimum requested items while others just make sure to keep it under maximum.
I made a graph:
01-29-2025, 16-51-17.png
01-29-2025, 16-51-17.png (24.81 KiB) Viewed 81 times
01-29-2025, 16-51-25.png
01-29-2025, 16-51-25.png (29.45 KiB) Viewed 80 times
torne
Filter Inserter
Filter Inserter
Posts: 350
Joined: Sun Jan 01, 2017 11:54 am
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by torne »

Ah, you are correct, sorry! I had never noticed that case before, and I must have tested it wrong.

So, yeah, "trash unrequested" does handle requested items with no autotrash threshold differently than requested items with a specific autotrash threshold, and thus the two thresholds are not handled entirely independently of each other like I said.

My expectations were still *different* than the others in this thread, though. The other posters (and your "what one could expect" flowchart) assumed that "trash unrequested" would only affect the handling of items that don't appear in the logistics section *at all* and that it would otherwise just treat the two defined numbers as an upper and lower bound. But, I was surprised in the other direction: I expected the bots to throw away everything except the minimum in all cases (where the minimum for unlisted items is zero), because I still think of them as being a separate request amount and autotrash threshold like it used to be.

I think the current behavior is quite reasonable, though: if I've explicitly specified a range then it does make sense to always respect that range even when "trash unrequested" is turned on (even though that's not what I assumed would happen), but I would find it extremely annoying if "trash unrequested" actually ignored items with no explicitly set maximum.

Almost all of my personal logistics requests either have no maximum (construction materials where I want to keep some around but if I temporarily have more then that's probably fine), or have a maximum of zero (wood, ore, etc), and I only have a few things that I set a range on (like coal early-game where I don't want to constantly accumulate more in my inventory from messing around with belts, but I do want to keep a stack or two around to use as fuel for any vehicle I plop down). If my inventory gets too full because I've picked up a lot of excess building materials, then I toggle "trash unrequested" on for a moment, let all the excess get moved to trash slots, then turn it back off again right away.

If "trash unrequested" just did nothing for items with no maximum then that would make it impossible to get the effect I want: if I set a very high number for every item then I'd have no way to get rid of them sensibly when my inventory was full, and if I set a lower limit for every item then items would start getting autotrashed when in the middle of cut&pasting a large build. The same applies to the default maximum being the same as the minimum; I'd just have to change virtually all my requests back to having an infinite maximum.

Having both "none" and "infinity" also seems like it would be very confusing ; I think "none means trash unrequested throws away everything but the minimum, but normally nothing gets trashed at all; infinite means this item never gets trashed under any circumstances" is even harder to understand than the current behavior, because in most contexts saying "there is no maximum" and "the maximum is infinity" seem like they should mean the same thing.

I think the expectation of the game here is "usually you would only turn trash unrequested on temporarily, and if you leave it on all the time then it's up to you to define a specific maximum limit for every item", and that works fine for players who use the system the way I do; I suspect that is a fairly common way to use it, especially for players who played with the old logistics UI where these were more separated. There's probably some way to improve the tooltips/etc here to make it clearer what the behavior actually is, still.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 3454
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Logistic requests - "inf" behaves as "none" rather than infinity

Post by boskid »

Ref 117306
Post Reply

Return to “Ideas and Suggestions”