Hopper

The hopper is a block which moves items into and out of containers, planned to be added in the Redstone Update.

When placed, its output end will attach to the clicked block. If an item falls into the top of it, it will store it in its own internal inventory of five item slots. However, if the hopper's output is attached to (or pointing at) a container with inventory slots (like a chest, another hopper, or a Minecart with Chest), it will transfer items from its inventory to the inventory of the attached block (or cart) at a rate of 3 items per second. The hopper will also transfer items from the inventory of a container placed directly above it into its own inventory at the same rate. Even if the Hopper is drawing items from an inventory above it, and depositing it into another, attached inventory, it will still transfer from the source inventory to the destination inventory at 3 blocks per second.

Behavior
Hoppers cannot be moved by pistons. Since 13w02a, applying a redstone signal will stop the hopper from taking in or pushing out items. Despite not appearing as a solid block, attached blocks such as rails, levers, and redstone dust can be placed on top of hoppers.

Furthermore, if a comparator is provided a hopper as an input, the comparator will output a redstone signal whenever there is any item stored inside the hopper. The signal's strength increases as more items are stored in it: when a stack is between 1 item and 1/3 of a stack, it increases the output by 1, when between 1/3 and 2/3, it increases the output by 2, and when between 2/3 and a full stack, it increases the output by 3. (Items that don't stack, like minecarts, are treated as a full stack, increasing signal strength by 3.) A completely full hopper (5 full stacks of items) will thus cause the comparator to produce a 15 strength signal.

The redstone signal will keep it on (and does not blink) during the period the hopper transferring multiple items. This can be used to detect the hopper transfer activity.

When a hopper is connected to an object to its side (for example a chest) and there is a hopper directly underneath it, items in the hopper will first 'leak' to the underlying hopper and only when that one is full will items be stored in the object to which the first hopper is connected.

If the first item in the hopper's inventory cannot be placed in the linked container (i.e. a non-fuel item in a hopper that feeds fuel to a Furnace, or a non-stackable item to a full Chest), the hopper will NOT feed the other items even if they could normally be moved.

Sethbling has created filled hoppers, presumably with an MCEdit filter, that has 21 items (1 stack of 16, 4 stacks of 1) that only lets items matching the item that are already inside it move through. This, as far as we know, cannot be done in Vanilla. The 21 items already in the hopper will not leave the hopper, contradicting the normal hopper behavior.

Interactions
Hoppers can remove items from and place items into the following:
 * Chests (but not Ender Chests)
 * Large chests are treated as a single unit; one hopper placed on a large chest will fill up the whole chest.


 * Trapped Chests are treated like normal chests.
 * Dispensers
 * Items can be removed from as well as placed in dispensers.


 * Furnaces
 * As of snapshot 13w02a, items fed to the top of a furnace will fill the ore slot, items fed from any side will fill the fuel slot, and hoppers under the furnace will only take finished products.


 * Brewing Stands
 * Similar caveats as with furnaces: hoppers above the brewing stand will fill the ingredient slot, while hoppers to the side will fill the potion slots. Unlike Furnaces, a hopper placed under a brewing stand will empty the brewing stand immediately, whether the potions are complete or not.


 * Minecarts with Chest / Hopper
 * Hoppers will fill minecarts with chests or hoppers if they are pointing at them and are not separated by another block. Hoppers can also take items from minecarts above them; rails can be placed directly on top of hoppers by aiming at a nearby block or holding the sneak key (default ), to make unloading stations.


 * Other Hoppers
 * A Hopper fed by another Hopper will take items from the latter even if the former is deactivated by a Redstone signal: to stop the flow of items through two Hoppers both of them must be deactivated.

Connecting

 * A hopper will connect to the block you point at, and only that block (does not automatically connect to others).
 * If you destroy the block the hopper was connected to, it stays pointing to the original location; useful for transferring into minecarts via their sides.
 * To get a hopper to connect to a block with an inventory, sneak and click the block.
 * You can deactivate a hopper with a redstone signal.
 * To make a "Buffer" (See below pictures in the gallery) using Hoppers, simply dig a trench of how long you want the buffer to be, then whilst sneaking, place the hopper onto the side of the chest, then shift click the hopper to add more. Repeat for a bigger Buffer.
 * If you place a hopper by clicking on the bottom face of the block, the hopper will not point up, but down instead (can't input upwards).

Toggle-able Hoppers
Hoppers can be toggled with redstone current.

When a redstone current is applied, it will stop taking items in or pushing items out. Pictures of old setups can be found below.

Bugs

 * When the top of a hopper is caught on fire, the fire will be invisible.
 * When an item drops between the fringes of two or more hoppers, they may input extra copies or even stay on the fringe for unlimited duplication.
 * In the snapshot 13w01a/13w01b if the player placed 10 hoppers in a line placing a chest at the end, then throwing any item into the other end, it will 'dupe' or duplicate the items.
 * Lighting bug when placing one in a corner.

Trivia

 * A hopperis a type of chute used in industrial processes that incorporates a limited storage capacity.
 * Currently, hoppers do not automatically connect to the nearest storage block. Instead, you must hold the sneak key while placing it on the storage block.
 * By connecting multiple hoppers, it is possible to make a hopper "pipe". A hopper "pipe" moves items slightly faster than storage minecarts.
 * Hoppers used to have a WIP (standing for "work in progress") inventory texture.