Item ID and Colour code
All blocks in Minecraft have an Item ID that is used by the game engine to evaluate interactions and by the rendering engine to create the players' views of the world.
Many blocks have variants that give them different appearances which is indicated by an additional Data Value that is attached to each block.
The combination of Item_ID and Data Value is only part of the complete description of a block. Some blocks have different textures on some of their 6 faces and can be rotated around the Y and Z axes. For these blocks an orientation value is also used.
There are exceptions to the base-block with variants block specification. Grass Blocks for instance have the Type_ID = 2, while Dirt is Type_ID = 3. They are not variants of each other. Coloured wool blocks each have their own Type_ID while stained glass has only one with its colour determined by its Data Value.