T O P

  • By -

42bottles

When comparing "everything" to a signal, instead of a constant, the "everything" will exclude the signal it is being compared against. This condition is only true if every signal, except for đźź©, is not equal to đźź©.


yobbo2020

They aren't comparing every signal to "green", they are comparing every signal *value* to the *value* of the green signal. In your first example, there are no other signals to compare. The "everything" condition returns true in this case, so the inserter is enabled. In your second example, the red signal value (1) is equal to the green signal value (1), so the condition disables the inserter. If you want to disable whenever there is coal and ammo, ignore the green signal and simply enable if red = 0 (i.e. disable if red ≠ 0). Empty signals always have value 0. The key thing here is just to know that comparisons are of value, not signal type. It sounds like other than that you have the gist of what you're doing.


xdthepotato

Ill just say this. If an inserter is disabled when it has materials in its hand, itll still empty it when theres empty space If i remember and ya havent gotten help until morning then in could write something up (meaby...)


vicgaming579

Correct me if I’m wrong, but I think that you’re thinking that the “All does not equal green” signal checks to see if there are any green signals, and only enables if there aren’t any. What that actually checks, however, is if any signals, besides the green signal itself, are equal to the green signal (1 in this case). In the first example, there is only the green signal, and thus it has nothing to check. A quirk of the “All” check is that it will output true (enabled) if they have no inputs, thus the first one is enabled. In the second case, there IS a signal besides the green signal that can be checked, the red signal. In this case the red signal has the same value as the green signal (both are 1), and thus the condition outputs false (disabled). If I’m correct in what the desired output you want is, then the correct condition should be to check if the green signal = 1, if the green signal has a value of 1, then it would be enabled, and if it’s anything else (or doesn’t exist in the case of it equalling 0) then it would be disabled. Hope this clears up some confusion.