[2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Bugs that are actually features.
Sanquira
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Feb 28, 2026 5:13 pm
Contact:

[2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by Sanquira »

Im trying to find any signal bigger than 0 and return it.
Decider detect there is any signal true to the condition, but return different signal.

Tooltip of ANY:
obrazek.png
obrazek.png (53.44 KiB) Viewed 573 times
For this setup, I would expect to return B or C, but it returns A:
obrazek.png
obrazek.png (82.02 KiB) Viewed 573 times
When I change A to D, it returns B.
obrazek.png
obrazek.png (80.79 KiB) Viewed 573 times
It would make much more sense (And would be more predictable) if it return signal satisfying the condition before the first input signal.
Loewchen
Global Moderator
Global Moderator
Posts: 10691
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: [2.0.73] Decider combinator ANY wildcard select wrong output signal

Post by Loewchen »

That is not a bug:
When used in both the input and output of a decider combinator, anything will return the first matching signal following the order of precedence as they appear in Factoriopedia
If you want signals to be passed individually you can use EACH.
quyxkh
Smart Inserter
Smart Inserter
Posts: 1053
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: [2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by quyxkh »

Yes, on input "Any" passes all the signals if any signal matches, "Each" passes only (and all) the signals that match.

Each > 0 ⇒ Any does what you want.
Sanquira
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Feb 28, 2026 5:13 pm
Contact:

Re: [2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by Sanquira »

Thank you for answers. I will try to use Each. I was under (wrong) impression that they share memory of what they filteres, which is obviously wrong assumption.

But still I think tooltip can be more clear.

Something like:
If any of the input signals meet the condition, it will pass all of them.
User avatar
Meddleman
Long Handed Inserter
Long Handed Inserter
Posts: 66
Joined: Mon Jun 26, 2017 7:39 pm
Contact:

Re: [2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by Meddleman »

The unclear, not-well documented, new-player-gotcha part about Anything is its relation to internal game itemID and the behaviour you discovered with A and B

What your circuit essentially did was:
- Is there any incoming signal above zero? Yes?
- Cool, then output the single item with the lowest/first itemID from those incoming, with the count they had.

This itemID can be thought of as each item in the crafting window picker, from left-to-right, top-to-bottom, tab-to-tab.
So, A might have an ID of 3842, and B has 3843, and so on. This is why it picked A first time around, and then B the next.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4426
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by boskid »

Ref viewtopic.php?p=628542#p628542
I will have to reconsider if anything signal should be allowed on the output side. Ability of setting anything output was added when there was no selector combinator yet and as such it was only a trick to get one signal out of many. Now that selector exists and since anything does not work correctly due to deciders having multiple conditions, it may be time to let it go.
quyxkh
Smart Inserter
Smart Inserter
Posts: 1053
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: [2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by quyxkh »

I think just rewording the operator tooltips will do it for any who are blindspotting when they try to tinker and interpret

ANY:

Input: If any input signal meets the condition(s), the test is passed with every input signal
Output: the first passed signal respecting item order is processed

EVERYTHING:

Input: If no signals fail the condition(s), the test is passed with and every input signal
Output: every passed signal is processed

EACH:

Input: If any input signal passes the condition(s), the test is passed with every passing signal
Output: every passed signal is processed
Tertius
Smart Inserter
Smart Inserter
Posts: 1593
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: [2.0.73] Decider combinator with ANYTHING on both sides sends wrong output signal

Post by Tertius »

Please don't remove ANY as output for the decider combinator in general. There is a valid use case, for example for auto malls. You want to filter a set of signals from a huge amount of signals by matching them with EACH, then get one of them for the mall to craft with an ANY. The decider combinator with ANY as output is able to do this with a single combinator.

tl:dr
Match/filter signals with EACH, output one of the matching signals with ANY.

Example:
In red, there is a list of items the production line is able to craft.
In green, there is the inventory balance. Positive numbers are surplus, negative numbers are demand.
Task: Output one of the items in demand for the mall to craft.

Perfect solution:
03-05-2026, 13-25-29.png
03-05-2026, 13-25-29.png (311.43 KiB) Viewed 185 times
This is a direct and well designed solution, no obscured byproduct of some other functionality, no coincidence or hack. It's directly determining the output I need and I want. Would be nice if this functionality stays available.
Post Reply

Return to “Not a bug”