Page 1 of 1

Send values to filters

Posted: Sun Jun 26, 2016 6:01 pm
by atloomis
TLDR: Smart inserters should have circuit network values sent to their filter, rather than to a separate field.

This would not remove any features. A smart inserter in the current version with FILTER and CONDITION would be replaced with a smart inserter and combinators. The combinators would output to FILTER. For example,

smart inserter (no filter, oil > 50)
would become
decider (oil > 50, everything* 1) -> smart inserter

smart inserter (copper)
could be left unchanged, or could equivalently be implemented
constant combinator (copper 1) -> smart inserter

smart inserter (copper, oil > 50)
would become
decider (oil > 50, copper 1) -> smart inserter.

It would also allow negated filters, which seem frequently requested. For example, to pick up everything except copper or iron:
constant (copper -1, iron -1), constant (everything* 1) -> smart inserter.

This would also allow smart inserters to pick up only those items which are needed, such as:
decider (copper < 50, copper 1), decider (iron < 50, iron 1) -> smart inserter,
which would pick up iron if iron < 50 and copper if copper < 50. Compare to the current similar setup:
decider (copper < 50, signal 1), decider (iron < 50, signal 1) -> smart inserter (copper, iron; signal 1 > 0),
which picks up both if either drops below 50.

Finally, it would conceptually simplify smart inserters, reducing their behavior to "pick up everything in the filter."

*Currently, "everything" can be implemented by having many constant combinators on the network, or by filling a smart chest with one of everything ("everyitem," I suppose). This would simplify the situation.

Re: Send values to filters

Posted: Sun Jun 26, 2016 10:08 pm
by ssilk
Sorry to say that, but with v0.13, which should be released today this suggestion might become completely useless. Let's see end of the week... :)