Java Edition data values

These data values refer to the different types of blocks and items. They are used in many, many places in Minecraft. Block IDs are used to define blocks placed in the world and inventory items (including items in chests and items dropped in the world). Item IDs are only valid for items. Each inventory slot has a unique slot number. In a Beta world, Block data further defines blocks placed, describing for example the height of water or the direction a torch points.



Block IDs (Minecraft Beta)
These values apply to both inventory items and to blocks placed in the world. This reflects the most recent version.

Block IDs (Minecraft Classic)
These values apply to blocks placed in the world in Minecraft Classic. Since versions since Minecraft Classic have drastically increased the number of blocks, and removed or re-used Block IDs, Minecraft Classic has its own list. Items with IDs in red cannot be legitimately obtained in the player's inventory in the game; they can only be obtained by "hacking" (such as the use of Game cheat codes).

Item IDs
All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however.

Data
Special data for certain block and item types. Storage differs according to level format.

Fire
0x0 is a placed or spread fire. Once it reaches 0xF the eternal fire-trick will work since there will be no further updates of the block

Leaves
If bit 0x4 is set, the leaves will be checked for decay. The bit will be cleared after the check if the leaves do not decay. The bit will be set again whenever a block adjacent to the leaves is changed.

Prior to Beta 1.5
Prior to Beta 1.5, this data value was a counter which started at 0x0 (for a freshly-planted sapling) and was increased at random intervals. Once the counter hit 15, a new tree was created in its place.

Beta 1.5 and after
As of Beta 1.5, the data value is split in half. The bottom two bits now determine the type of sapling (and thus the eventual tree type), according to the following table:

The top two bits function as the counter, as in pre-1.5 builds, though obviously there are only four values available in the remaining bits. Either the counter is incremented more slowly to compensate, or trees might just grow more quickly since the update.

Cactus
0x0 is a freshly planted cactus. The data value is incremented at random intervals. When it becomes 15, a new cactus block is created on top as long as the total height does not exceed 3.

Sugar Canes
0x0 is a freshly planted cane. The data value is incremented at random intervals. When it becomes 15, a new sugar cane block is created on top as long as the total height does not exceed 3.

Water and Lava
0x0 is a full block. Water goes up to 0x7, Lava goes up to 0x6 (using the steps 0x0, 0x2, 0x4 and 0x6). If bit 0x8 is set, this liquid is "falling" and only spreads downward.

Farmland
0x0 is dry land, 0x1-0x8 are increasing levels of wetness. The wetness value depends on how far the block is away from water.

Crops
Crops grow from 0x0 to 0x7 (Pictured below).



Nether Wart
Like Crops, the data value is related to the size of the Nether Wart. There are three distinct visual stages to Nether Wart's growth (the associated data values are given):
 * Small: 0
 * Medium: 1-2
 * Large: 3

Pumpkin stem and Melon stem
Pumpkin and melon stems grow from 0x0 to 0x7. During each stage of growth a part of their model is revealed. In the last stage a stem can spawn a melon or pumpkin next to it on empty farmland. As long as this fruit remains the stem will appear bent towards the fruit.

Wool
Note: Only the default wool block - block ID #35 - can be spawned using the /give method. The materials for dying wool must be spawned or collected in order to get colored wool.

These values specify the color of the wool. This data is stored in block metadata for placed wool, and as the "damage" for wool in the inventory.

Torches and Redstone Torches

 * 0x1: Pointing south
 * 0x2: Pointing north
 * 0x3: Pointing west
 * 0x4: Pointing east
 * 0x5: Standing on the floor

Rails
Regular Minecart rails use values above 0x5 for the corner pieces. For powered rails, 0x8 is a bit flag indicating whether or not it is powered, and the bottom three bits have a valid range of 0x0 to 0x5.


 * 0x0: flat track going east-west
 * 0x1: flat track going north-south
 * 0x2: track ascending to the south
 * 0x3: track ascending to the north
 * 0x4: track ascending to the east
 * 0x5: track ascending to the west

Regular minecart tracks can make a circle from four rails:
 * 0x6: Northeast corner (connecting south and west)
 * 0x7: Southeast corner (connecting north and west)
 * 0x8: Southwest corner (connecting north and east)
 * 0x9: Northwest corner (connecting south and east)

Ladders

 * 0x2: Attached to the east side of a block
 * 0x3: West side of a block
 * 0x4: North side
 * 0x5: South side

Stairs

 * 0x0: Ascending south
 * 0x1: Ascending north
 * 0x2: Ascending west
 * 0x3: Ascending east

Levers

 * 0x8: If this bit is set, the lever has been thrown and is providing power.

Wall levers:
 * 0x1: Facing south
 * 0x2: Facing north
 * 0x3: Facing west
 * 0x4: Facing east

Ground levers:
 * 0x5: Lever points west when off.
 * 0x6: Lever points south when off. (Note that unlike the other types of switch, this version didn't power wires around the block it was sitting on. This bug was fixed in Beta 1.6)

Doors
The two least significant bits are the orientation of the door, that is, the corner in which its hinge is positioned:
 * 0x0: Northeast corner
 * 0x1: Southeast corner
 * 0x2: Southwest corner
 * 0x3: Northwest corner

The two bits above are flags:
 * 0x8: If this bit is set, this is the top half of a door (else the lower half).
 * 0x4: If this bit is set, the door has swung counterclockwise around its hinge.

For example, the bottom half of a door with its hinge on the northwest corner, which is swung so that it is closed when viewed from the north, will have a data value of (3 | 4) = (3 + 4) = 7.

Buttons

 * 0x8 If this bit is set, the button has been pressed. If this bit is set in a saved level, the button will remain pressed for an undefined length of time after the level is loaded.

Button direction:
 * 0x1: Facing south
 * 0x2: Facing north
 * 0x3: Facing west
 * 0x4: Facing east

Sign Posts

 * 0x0: West
 * 0x1: West-Northwest
 * 0x2: Northwest
 * 0x3: North-Northwest
 * 0x4: North
 * 0x5: North-Northeast
 * 0x6: Northeast
 * 0x7: East-Northeast
 * 0x8: East
 * 0x9: East-Southeast
 * 0xA: Southeast
 * 0xB: South-Southeast
 * 0xC: South
 * 0xD: South-Southwest
 * 0xE: Southwest
 * 0xF: West-Southwest

Wall Signs

 * 0x2: Facing east
 * 0x3: Facing west
 * 0x4: Facing north
 * 0x5: Facing south

Furnaces, Dispensers and Chests

 * 0x2: Facing east
 * 0x3: Facing west
 * 0x4: Facing north
 * 0x5: Facing south

Pumpkins and Jack-O-Lanterns

 * 0x0: Facing east
 * 0x1: Facing south
 * 0x2: Facing west
 * 0x3: Facing north

Pressure Plates

 * 0x1: If this bit is set, the plate is pressed.

Snow

 * 0x0: Normal snowfall height
 * 0x7: Full block size height
 * 0x7: Full block size height

The height repeats for values 8-15. Note that snow does not occur naturally at other heights than 0, but can be edited or hacked in.

Cake

 * 0x0: 0 pieces eaten
 * 0x1: 1 piece eaten
 * 0x2: 2 pieces eaten
 * 0x3: 3 pieces eaten
 * 0x4: 4 pieces eaten
 * 0x5: 5 pieces eaten

Beds

 * 0x0: Head is pointing West
 * 0x1: Head is pointing North
 * 0x2: Head is pointing East
 * 0x3: Head is pointing South


 * 0x8: (bit flag) - When 0, the foot of the bed. When 1, the head of the bed.

Redstone Repeater
Low (1st & 2nd) bits:
 * 0x0: Facing east
 * 0x1: Facing south
 * 0x2: Facing west
 * 0x3: Facing north

High (3rd & 4th) bits:
 * 0x0: 1 tick delay
 * 0x1: 2 tick delay
 * 0x2: 3 tick delay
 * 0x3: 4 tick delay

Redstone Wire
0xF is a wire placed right next to a power source (like a redstone torch). The value declines with distance until 0x0, which is a non-powered wire. The direction of the wire is not saved but calculated at runtime.

Trapdoors
0x4 is a bit that determines whether or not the trapdoor is swung open. 0 for closed (on the ground), 1 for open (against its connecting wall). The remaining two bits describe which wall the trapdoor is attached to:
 * 0x0: Attached to the West wall
 * 0x1: Attached to the East wall
 * 0x2: Attached to the South wall
 * 0x3: Attached to the North wall

Piston
The top bit (0x8) is a status bit that determines whether the piston is pushed out or not. 1 for pushed out, 0 for retracted.

The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing)
 * 0: Down
 * 1: Up
 * 2: East
 * 3: West
 * 4: North
 * 5: South

Piston Extension
The top bit (0x8) is a status bit that determines whether the head is sticky or not (note that the Piston Body actually has completely different block types for Sticky and Regular). 1 is sticky, 0 is regular.

The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing).
 * 0: Down
 * 1: Up
 * 2: East
 * 3: West
 * 4: North
 * 5: South

Stone Brick

 * 0: Normal
 * 1: Mossy
 * 2: Cracked

Huge brown and red mushroom
Huge mushrooms consist of the same blocks throughout their structure, the data value of each block decides the texture. The default texture on all sides is porous flesh. The cap texture can be either the brown mushroom or red mushroom texture, the textures for porous and stem sides are identical. The directions in the table below refer to the number seen as direction on the F3 screen.

Vines
Determines the face against which the vine is anchored. Note that (except for Top) these are testable as bit flags, unlike most of the other directional data for other block types. Multiple sides can contain vines. The "top" attachment is assumed to be present if data is 0 or there is solid block above.
 * 1: West
 * 2: North
 * 4: East
 * 8: South

Fence Gates
0x4 is a bit flag: 1 is open¸ 0 is closed. The remaining two bits determine in which direction the gate will open.
 * 0: To the West (sunset)
 * 1: To the North (cloud direction)
 * 2: To the East (sunrise)
 * 3: To the South (cloud origin)

Hidden Silverfish
A silverfish will hide inside a Stone, Cobblestone, or Stone Brick block, changing it into a Hidden Silverfish block. The data value tells us its appearance:
 * 0: Stone
 * 1: Cobblestone
 * 2: Stone Brick

Potions
A Glass Bottle filled with a potion: (analysis coming soon) //Starts here input and output is current metadata
 * 0: Mundane Potion (No Effects)
 * Code:

//Nether Wart: Check for empty public static int g(int metadata) {               if((metadata & 1) != 0) metadata = e(metadata); return f(metadata); }       //Nether Wart: Power up        public static int e(int metadata) {               if((metadata & 1) == 0) return metadata; int pos; for(pos = 14; (metadata & 1 << pos) == 0 && pos >= 0; pos--); if(pos < 2 || (metadata & 1 << pos - 1) != 0) return metadata; if(pos >= 0) metadata &= ~(1 << pos); metadata <<= 1; if(pos >= 0) {                       metadata |= 1 << pos; metadata |= 1 << pos - 1; }               return metadata & 0x7fff; }       //Something. public static int f(int metadata) {               int pos; for(pos = 14; (metadata & 1 << pos) == 0 && pos >= 0; pos--); if(pos >= 0) metadata &= ~(1 << pos); int outNumber = 0; for(int modifiedMetadata = metadata; modifiedMetadata != outNumber;) {                       modifiedMetadata = metadata; outNumber = 0; for(int bit = 0; bit < 15; bit++) {                               boolean hasBitsNearby = bitGetModulo(metadata, bit); if(hasBitsNearby) {                                       if(!bitGetModulo(metadata, bit + 1) && bitGetModulo(metadata, bit + 2)) hasBitsNearby = false; else if(!bitGetModulo(metadata, bit - 1) && bitGetModulo(metadata, bit - 2)) hasBitsNearby = false; } else {                                       hasBitsNearby = bitGetModulo(metadata, bit - 1) && bitGetModulo(metadata, bit + 1); }                               if(hasBitsNearby) outNumber |= 1 << bit; }                       metadata = outNumber; }               if(pos >= 0) outNumber |= 1 << pos; return outNumber & 0x7fff; }       private static boolean bitGetModulo(int number, int bit) {               return (number & 1 << bit % 15) != 0; }       private static boolean bitGet(int number, int bit) {               return (number & 1 << bit) != 0; }       private static int bitGetInt(int number, int bit) {               return bitGet(number, bit) ? 1 : 0;       }

Brewing Stand
The bottom three bits appear to be bit flags for which slots actually contain potions. (I have yet to actually use the brewing stuff, so I'm not sure if the top bit does anything or not; possibly post-brew?)

Cauldron
The data value stores the amount of water kept in the cauldron, in units of glass bottles that can be filled.
 * 0: Empty
 * 1: 1/3 filled
 * 2: 2/3 filled
 * 3: Fully filled

Air Portal Frame

 * 0: denotes a full, "fixed" block
 * 1: denotes a "broken" block