\title{The Item Shifter}

The item shifter is a \link{socket}{socket tool}
that moves items to and from a block behind it
into an inventory in front of it, such as a furnace,
a minecart with a chest, or a servo.

The item shifter has a few settings, which can be configured
with an \lmp .

The direction of item flow can be controlled.
By default, items are moved from the exporting inventory
into the other.

The operating mode of the shifter can be changed.
There are three modes:
\- Pulse Some Amount. In this mode, it will transer up to the specified
number of items per redstone pulse.
\- Pulse Exact Amount. The number of items to be moved can be specified.
In this mode, if it can not move exactly that many items,
then it will move no items.
\- Stream Single Item. In this mode, it behaves like a hopper,
except that it requires a steady redstone signal to operate.

The transfer limit is how many items will be moved.
In Stream Items mode, it is always one item at a time.

The target slot controls which slot the item shifter will
put items into.
This applies to the inventory in front of it,
not the backing inventory.
It can be set to target either the entire inventory,
or a specific slot.

\figure{
H4sIAAAAAAAAAO3cTWvUQBjA8WeS3WXT1qJn/QKlZRGERbxY3bWl4GpRepa4O2uDSUaS6evJg3cP
9qx4VHpQjx7Ez+DNryAexYOXdZINBVHBttvi4f+DYTLJzDMvIZnbTIn4ogYi0ghE6Sl3oQKpr1id
5GXBEy8ayJwnjW6YhA+0uyX1jtlI7ZSS2t3YWJGaBGtrK92bOszt/tP5veev2+8DafSMjUzacFH8
q5/2ks9PPpx7LL9S0rydLmcu3MBFaRZReia371r7L+ZedX74EnSjRKe5i1NU98S/FmVqoVkO6kwv
SnU/zGxnXec2EH/V5GVvi8vfXr69cuvZYvKm7OXjpXG/vsyumsyGcceYeGC2qpi1pSjTo1FdZpbC
OO5GuQ3Tvi6eBdK8Y2xYTKNeVj0Y9sxKurkRpzoL78e6qKhssVzeP65d+2DtxlOpl1Nwb2K3aOfy
nSrfLvsbV5oZ7uam//Bevh4NrRJfbz9yVfyhyUaOuxFHiXKBt8LIqqb4mzqTxsXW5Va7/XvkWmIG
xRw9Jd6wX6+6UjItKhE5O579n9NhNcrAR28P4PQd9/v3q9SsyrMTHR2AkzSp/b9ow/4PAAAAAAAA
AAAAAAAAAAAAAAAAAMAE+OKZ4kSAheJidzQafZkWFVUnA8z/JR3W9SqdP2J7AKfvuN9/2/1Pvrv8
QlW+MdnhAThB7P8AAAAAAAAAAAAAAAAAAAAAAAAAAPxnigMBdlz+VX4ChaObET2CAAA=
}

\topic{item.factorization:socket/SOCKET_SHIFTER}
