Hopper

The hopper is a block which moves items into and out of containers. 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, 4 redstone ticks or 0.4 seconds 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.

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 be divided evenly between the underlying hopper, and the side output. If there are an odd number of items, the odd one will go into the bottom hopper, as it takes priority. When the bottom hopper is full, all items will be sent to the output on the side, and vice versa.

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.

Testing with Comparators
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 comparator output will stay on (and does not blink) while the hopper is transferring items. This can be used to detect the hopper transfer activity. Note that if the output container is full or blocked, the signal will be stuck on!

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, but note that another (active) hopper can still take items from it.
 * If you place a hopper by clicking on the bottom face of the block, the hopper will not point up, but down instead, because you can't input upwards.

Issues
Bug: If you place a hopper by a chest and destroy the chest it outputs into, any items inserted will be input into the hopper and destroyed.

Trivia

 * A hopper is a type of chute used in industrial processes that incorporates a limited storage capacity.
 * Hoppers do not automatically connect to the nearest storage block. Instead, you must hold the sneak key while placing it on the storage block.
 * The hopper was used in the Dropper recipe until the 13w04a snapshot.
 * If you set fire on top of a hopper, the fire can't be seen, but this is only if there is no block adjacent to the fire.