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 2.5 items per second (8 game ticks or 4 redstone ticks per item). 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 2.5 blocks per second.

Behavior
Hoppers cannot be moved by pistons. 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 hopper is the input to a comparator, 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 'leak' to the underlying hopper. However, if an even number of the same item falls into the hopper at the same time, half will go to bottom hopper and the other half to the object the first hopper is connected to. If an odd number then the extra one will go into the bottom hopper, as it takes priority. When that bottom hopper is full the items will then be stored straight away 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.

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.
 * if the dispenser is being powered with a comparator (pointing towards it) when the hopper tries to deposit an item, the item will be kicked out of the top of the hopper instead.


 * Furnaces
 * 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. A hopper will not unload a minecart which is on a Detector Rail above the hopper, because the detector rail will power the hopper.


 * 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.

Trivia

 * A hopper is 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.
 * The hopper was used in the Dropper recipe until the 13w04a snapshot.