Smart Splitter

The Smart Splitter is a smart version of the Splitter that allows for setting one filter on each of its outputs. It is useful for manipulating mixed item types on a belt or controlling the item overflows.

Filters

 * When looking into the input of the Smart Splitter, it has three outputs, named Left Output, Center Output, and Right Output.
 * You can program each output with one of the following filters:
 * Any: All items can pass through, including those you have programmed on the other outputs. This is the default setting for the Center Output.
 * None: Disables the output, behaves as if no belt is connected. This is the default setting for both Left Output and Right Output.
 * Any Undefined: Any item except those programmed on either of the other two outputs can pass through. For example, if you program one output to Plastic and another output to Rubber, then the Any Undefined output will allow all but Plastic and Rubber to pass through.
 * Overflow: All items can pass through, but only when all the other outputs are blocked.
 * A specific item that you can choose from a list: Only this item can pass through.
 * The Smart Splitter processes the outputs in a specific order: Center Output first, Left Output, Right Output. The Smart Splitter takes an item from its input and tries to place it on an output according to programmed rules. If no output is available, the input blocks. The blockage may be temporary until one of the outputs becomes available, or it is a permanent issue requiring manual intervention.

Usage cases

 * To distribute an incoming belt or truck station from a faraway production outpost into belts for individual items. Chain a series of Smart Splitters via an output set to Overflow, use another output (or both) to send individual items on a separate belt for storage or use in further production. The last Smart Splitter in the chain should have an Any output going to storage or an AWESOME Sink.
 * To send overflowing items to an AWESOME Sink or Storage Containers to prevent Refineries from jamming up.
 * To prioritize one part of a factory production over the other.

Trivia

 * When using a Smart Splitter to separate items out for use as input into a production building, you will want to add buffers in the form of Storage Containers on the outputs of the Smart Splitter. Without this, it is going to be very easy to block the input of your Smart Splitter and make it somewhat difficult to resolve issues manually.
 * It is impossible to perfectly balance inputs and outputs of production buildings, so using Smart Splitter outputs anywhere as production inputs will at some point in time require manual intervention to clear a blockage. Adding more/bigger output buffering reduces the incidence rate, but keep in mind you may need to intervene at some point in time.
 * The AWESOME Sink can be used to dump excess items to prevent blockages at the cost of 30 MW of power, however some items will be lost to the Sink even when the system is not blocked.
 * You can perfectly replicate the functionality of the Programmable Splitter using a chain of Smart Splitters and Conveyer Mergers on the outputs. The main advantage of the Programmable Splitter is that it is easier to build and configure, and uses much less space. But if you don't yet have access to the Programmable Splitter, this can be done.

History

 * Patch 0.3.4.6: Added “Overflow” rule
 * Patch 0.3.4.2: Now should no longer back up on duplicate rule definitions
 * Patch 0.2.1.11: Added “Any Undefined” rule, which only sends items through that are not defined to go to any other output
 * Patch 0.2.1.9: Now should use more than one output when there are multiple outputs with a matching rule
 * Patch 0.1.5: changed crafting cost from 3 Reinforced Iron Plate to 2 Reinforced Iron Plate