Share

Share

Hopper

From Minecraft Wiki
Jump to: navigation, search
Hopper
Hopper.png
Hopper
Type

Tile Entity

Physics

No

Transparency

Yes

Luminance

No

Blast resistance

15

Hardness

3

Tool

A wooden pickaxe or better is required to mine this block

Renewable

Yes

Stackable

Yes (64)

Flammable

No

First appearances

See History

Block Entity ID

Hopper

Data value

dec: 154 hex: 9A bin: 10011010

Name

hopper

A hopper is a block that can be used to catch item entities, or to transfer items into and out of containers.

Obtaining[edit]

A hopper can be obtained by crafting, or by breaking a previously-placed hopper with a pickaxe.

Breaking[edit]

To break a hopper, mine it with a pickaxe. A hopper removed by hand will not drop itself as an item.

Block
Hopper
Hardness 3
Tool
Breaking time (seconds)
Hand 15
Wooden 2.25
Stone 1.125
Iron 0.75
Diamond 0.5625
Golden 0.375

Crafting[edit]

A hopper can be crafted from a chest and iron ingots.

Ingredients Crafting recipe

Iron Ingot +
Chest

Iron Ingot
Iron Ingot Grid layout Arrow (small).png Hopper
Iron Ingot Chest Iron Ingot

Iron Ingot

Usage[edit]

See also: Tutorials/Hopper

A hopper can be used as a container, as a crafting ingredient, and as a redstone component.

A hopper has an "output" tube at its bottom that can face down or sideways and provides visual feedback of which direction the hopper will output items to if a container is present. To place a hopper, use the Place Block control while aiming at the surface to which its output should face (a hopper will not automatically orient itself to point at a container). To place a hopper so that it faces a container (or other block which has a Use Item interaction), sneak while placing the hopper. A hopper placed while aiming at the bottom of a block will re-orient to face down instead. Hoppers won't change their direction after being placed and aren't "attached" to the container they are facing -- the container can be removed and the hopper will continue to face in the same direction.

Hoppers cannot be moved by pistons. Despite not appearing as a solid block, attached blocks such as rails, levers, and redstone dust can be placed on top of hoppers (but not on their side).

Container[edit]

A hopper can be used as a container and has 5 slots of inventory space.

To open the hopper GUI, use the Use Item/Place Block control. To move items between the hopper inventory and the hopper inventory or hotbar while the dropper GUI is open, drag or shift-click the items. To exit the hopper GUI, use the Esc control.

By default, the GUI of a hopper is labeled "Hopper". A hopper's GUI label can be changed by naming the hopper in an anvil before placing it, or by using the blockdata command (for example, to label a hopper at (0,64,0) "Alice's Hopper", use blockdata 0 64 0 {CustomName:"Alice's Hopper"}).

A hopper can be "locked" (or subsequently unlocked) by setting the hopper's Lock tag with the blockdata command. If a hopper's Lock tag is not blank, the hopper cannot be accessed except by players holding an item with the same name as the Lock tag's text. For example, to lock a hopper at (0,64,0) so that only players holding an item named "Alice's Key" can access the hopper, use blockdata 0 64 0 {Lock:"Alice's Key"}.

Crafting ingredient[edit]

A hopper can be used to craft a minecart with hopper.

Name Ingredients Crafting recipe

Minecart with Hopper

Hopper +
Minecart




Grid layout Arrow (small).png Minecart with Hopper

Hopper

Minecart

Redstone component[edit]

See also: Redstone circuit

A hopper can be used to suck in item entites above it, or to transfer items to or from other containers.

Hoppers are redstone mechanisms and can be activated by:

  • An adjacent active power component: for example, a redstone torch (except that a redstone torch will not activate a hopper it is attached to), a block of redstone, a daylight sensor, etc.
  • An adjacent powered block (for example, an opaque block with an active redstone torch under it)
  • A powered redstone comparator or redstone repeater facing the hopper
  • Adjacent powered redstone dust configured to point at the hopper (or on top of it) or directionless; a hopper is not activated by adjacent powered redstone dust that is configured to point away from it.

A hopper's behavior is the opposite of most redstone components, in that it performs actions while not activated and stops performing actions when activated. Thus, an unactivated hopper is described as enabled and an activated hopper is described as disabled.

An enabled hopper can do three things (all at once):

  • suck item entities (free-floating items in the world) into its inventory from the space above it
  • pull a single item into its inventory from a container above it
  • push a single item from its own inventory into a container it is facing

Item entities can be sucked in if they are anywhere within the block's space above the hopper, so can be sucked in even if sitting on a partial block above the hopper (for example, on a slab) or even if inside a full block above the hopper (because they are rising up through solid blocks or because they were summoned there). Item entities will not be sucked in if they are more than one block above the hopper (for example, an item on a block of stone above a hopper will not be sucked in). Hoppers check for item entities above them every game tick and can suck them in even before the item entities are destroyed by lava above the hopper, or before they are picked up by players. Hoppers with containers above them (furnaces, chests, other hoppers, etc.) do not suck in item entities above them (and don't even check for them, reducing the number of updates required by hoppers).







Hoppers pull before they push — If items are placed in the top chest, the middle chest won't receive any items until the bottom hopper fills up, because the bottom hopper pulls items from the middle hopper before the middle hopper can push items into the chest.

Hoppers have a "transfer cooldown" time. After pulling or pushing items, a hopper will wait 4 redstone ticks (8 game ticks, or 0.4 seconds barring lag) before pulling or pushing again (a transfer rate of 2.5 items per second barring lag). Item pulls and pushes are processed in the same game tick, but pulls are processed before pushes (see schematic, right). Item entities can be sucked in at any time, without affecting the item transfer cooldown time, and can be sucked in as entire stacks (rather than a single item at a time).

A hopper always tries to pull or suck items into the leftmost available slot (either because the slot is empty or because it contains an incomplete stack of the item being pulled), and pushes items from its leftmost slots before it pushes from rightmost slots (it won't start pushing items from its second slot before its first is empty, from its third slot before the first two are empty, etc.) unless the container it is pushing into can only accept items from the hopper's rightmost slots (because the container is full except for incomplete stacks matching the hopper's rightmost items). A hopper won't suck or pull items, even when enabled, if it has no available slots to accept available items (there are no empty slots and no incomplete stacks of items that match available items). Similarly, a hopper pushes items into the top left available slots of containers before the bottom right slots, and will stop pushing items if there are no available slots to push items into.

Some containers interact with hoppers in specific ways:


Brewing Stand
A hopper above a brewing stand will only fill the top ingredient slot, while a hopper to the side will only fill the bottom three potion slots. A hopper underneath a brewing stand will only pull from the potion slots (whether the potions are finished or not -- disable the hopper to allow potions to finish brewing).

Chest

Trapped Chest
Double chests and double trapped chests are treated as a single unit: a hopper placed on a double chest will fill up the whole chest, and a hopper underneath a double chest will empty the whole chest. Hoppers can only remove items from or place items into a chest if it can be opened (for example, a hopper cannot push items into a chest with a block or an ocelot on top of it). Trapped chests being accessed by a player will disable any adjacent hopper (which is normal behavior for a hopper next to an active power source).

Dispenser

Dropper
Items can be removed from as well as placed in dispensers and droppers.

Furnace
A hopper above a furnace will only fill the ingredient slot, and a hopper to the side of a furnace will only fill the fuel slot. A hopper below a furnace will only pull from the furnace's output slot (except that it will also pull empty buckets from the furnace's fuel slot left over from using a lava bucket as fuel). A hopper removing items from a furnace will not produce experience points.

Hopper
A sequence of three or more hoppers, each pushing items into the next, is known as a hopper pipe. Horizontal hopper pipes simply transfer items at the expected rate of 2.5 items per second, but vertical hopper pipe behavior can be difficult to understand because the hoppers are both pulling and pushing items between them. If a vertical hopper pipe pulls items from a container, it will simply transfer items at 2.5 items per second (because the transfer rate is limited by the first hopper pulling items from the container), but if a stack of items is in a vertical pipe (because an item stack entity was sucked in, or placed there by a player) the items will be transferred twice as fast because the hopper with the item stack is pushing items down while the hopper below it is also pulling items down.
Because pulls and pushes occur in the same game tick, a redstone comparator measuring the fullness of a hopper in a hopper pipe will usually simply stay powered as a continuous stream of items flows through (instead of blinking on and off for each item), but certain hoppers in a vertical hopper pipe may never power their comparators even with a continuous stream of items because their items get pulled out of them one game tick after the items are pushed into them, which doesn't produce a state long enough for a comparator to measure (comparators need inputs at least 1.5 redstone ticks long to produce an output).

Minecart with Chest

Minecart with Hopper
Hoppers will fill minecarts with chests or hoppers if any part of the minecart is in the space the hopper is pointing at. Hoppers can also take items from minecarts above them (rails can be placed directly on top of hoppers). A hopper will not unload a minecart that is on a detector rail above the hopper, because the detector rail will disable the hopper (which is normal behavior for a hopper next to an active power source).

Ender Chest
Hoppers cannot remove items from or place items into ender chests. They do not interact with them in any way.

A disabled hopper does not pull items from above (including item entities) or push them out, but may receive items from other droppers and hoppers, and may have its items removed by another hopper beneath it. To stop item transfer in a horizontal hopper pipe, only one hopper needs to be disabled, but to stop item transfer in a vertical hopper pipe, it is necessary to disable two hoppers in a row (because if a single hopper is disabled, the hopper above it can still push items into it and the hopper below it can still pull items from it).

Data values[edit]

A hopper has an ID name of minecraft:hopper and is further defined by its block data and block entity. A hopper also has a block state that is expected to replace the functionality of block data in a future version.

Block data[edit]

A hopper uses its block data to specify its orientation and activation status.

Bits Values
0x1
0x2
0x4

A three-bit field storing a value from 0 to 5:

  • 0: Output facing down
  • 1: (unused)
  • 2: Output facing north
  • 3: Output facing south
  • 4: Output facing west
  • 5: Output facing east
0x8 Set if activated/disabled.

Block entity[edit]

See also: Block entity format

A hopper uses its block entity to specify its custom name, its lock string, the items in its inventory, and to manage the timing of item transfers.


  • Block entity data

    •  id: Hopper

    •  x: X coordinate of the block entity.

    •  y: Y coordinate of the block entity.

    •  z: Z coordinate of the block entity.

    •  CustomName: Optional. The name of this container, which will display in its GUI where the default name ordinarily is.

    •  Lock: Optional. When not blank, prevents the container from being opened unless the opener is holding an item whose name matches this string.

    •  Items: List of items in the hopper slots.

      • : An item in the hopper, including the slot tag (hopper slots are numbered 0 to 4 from left to right).

    •  TransferCooldown: Time until the next transfer, naturally between 1 and 8 or 0 if there is no transfer.

Block state[edit]

See also: Block states
Name Value Description

 enabled
true
false

True if hopper can move items to and from its inventory.

When the hopper is being powered by redstone current, this is set to false.


 facing
north
south
east
west
down

The direction the hopper's output points.

The hopper will push items into containers in this direction only.

Video[edit]

History[edit]

Official release
1.5 13w01a Grid Hopper-Pre 13w02a.png Added hopper, but with a temporary "work in progress" sprite for the inventory.
13w01b Rails can be placed on top of hoppers. The hopper no longer loads items into minecarts without chests.
13w02a Grid Hopper.png The inventory sprite was changed.
Applying a redstone signal to the hopper now deactivates the hopper until the signal is removed.
Hoppers can no longer be used as fuel in a furnace.
Hoppers are now crafted using 5 iron ingots rather than 5 stone blocks.
Hoppers will now only take from the output slot of furnaces.
Hoppers output 1 signal strengh per 1/3 of a stack (21 items) when interacting with a Redstone Comparator.
Hoppers no longer use the Cauldron texture.
13w02b Hoppers now treat double chests properly, no longer needing two hoppers connected to them to fill up the entire inventory.
Hoppers will no longer take items from containers when powered via a redstone current.
13w03a Hoppers can now empty Minecarts with Hoppers.
13w04a Transfer rate changed from 7 to 8 game ticks per item (2.5 items per second).
1.8
Hoppers now do not generate SMP lag when idle.
Console Edition
TU19 Added hoppers.

Issues[edit]

Issues relating to "Hopper" are maintained on the issue tracker. Report issues there.

Trivia[edit]

  • A real-life hopper is a type of chute used in industrial processes that incorporates a limited storage capacity.

Gallery[edit]