Unexpected behavior of decider combinators

Bugs that are actually features.
DrSoo
Manual Inserter
Manual Inserter
Posts: 1
Joined: Tue Jun 30, 2026 3:40 am
Contact:

Unexpected behavior of decider combinators

Post by DrSoo »

Hi. I found that when output is "Anything" or "Everything", and both R and G are considered, the combinator will sum both signals on R and G first, which is generally reasonable. However, when the signal values on the two wires are opposite, the signal vanishes and nothing is output. This
is quite counter-intuitive especially when the output value is set to be a fixed 1. I wonder whether it is intended. Thanks!🙂
5c8910bb83aa12511c80d959274f04c0.png
5c8910bb83aa12511c80d959274f04c0.png (79.35 KiB) Viewed 321 times
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4728
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Unexpected behavior of decider combinators

Post by boskid »

Unfortunately there are no bugs here. As far as decider is concerned, conditions evaluate to true, it wants to output however all signals cancel out and "anything" sees no signals to select from.

I am getting more and more in favor of disallowing selection of "anything" on the output side because it was only added at the time of 1.1 when there were no selector combinators and it was usable for picking 1 signal out of a wire however since then it lost its impact (there is selector combinator present), it lost its fangs (when it was introduced, decider only allowed 1 condition and using "anything" on the conditions and outputs side was meaningful as they were coordinated, in 2.0/2.1 they are completly independent causing bug reports) and is often confused with "each" signal for language dependent reasons.
Tertius
Smart Inserter
Smart Inserter
Posts: 1723
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Unexpected behavior of decider combinators

Post by Tertius »

boskid wrote: Sun Jul 19, 2026 7:27 pm I am getting more and more in favor of disallowing selection of "anything" on the output side
Please keep it. May be it's confusing sometimes, but it's useful nonetheless in combination with EACH. I filter a set of signals with EACH, then output one of them for further processing. This processing is supposed to make this signal go away eventually, so ANY will then select the next signal, and this way the set of signals is iterated and processed one by one. My auto-malls work like this. It's not important which signal is picked by ANY, it's just important that t's just a single signal in the output.

An extra combinator to select the signal is clunky. It increases footprint and makes it more difficult to understand a setup of multiple combinators. And it adds one tick delay, so it complicates the setup since you have to make sure signal propagating is in sync. I might need an additional combinator with a NOP just to add this delay to some additional signal path that needs to be in sync. This is really clunky.
Post Reply

Return to “Not a bug”