Opacity



Opacity is a property of blocks with a wide range of effects on the game world. Its primary purpose is to tell the game engine if it needs to draw behind the block; an opaque block completely obscures the view behind it, while a transparent block does not. Thus, transparency applies not only to clear blocks like ice and glass, but also things like cacti, stairs, and single slabs, which do not completely fill their block space.

By default, opacity also affects how light propagates through the world. Opaque blocks completely prevent light from travelling through them, while transparent blocks diminish it by one intensity per block. This value can be overridden however, and there are several anomalies.

List of things affected by opacity
A lot of the effects of opacity are non-obvious. Minecraft does not have a "solid" property on blocks, so opacity is tested when a test for "solidity" would normally occur.


 * Opaque blocks suffocate you, while transparent blocks do not.
 * Monsters cannot spawn on transparent blocks, nor can they spawn inside opaque blocks. However, they can spawn inside a non-solid transparent block, such as flowers or redstone wires.
 * Chests cannot be opened if there is an opaque block on top of them, but transparent blocks above Chests do not prevent them from being opened (if you want it to look like a solid cube is above it use stairs and it will still open).
 * You cannot attach torches or other fixtures to transparent blocks, nor can you place signs or other items on top of them. Here's the full list of blocks that are restricted this way: beds, buttons, redstone repeaters, ladders, levers, pressure plates, pumpkins, rails, snow (not snow block, which is not a fixture), torches (including redstone torches), and redstone wire. The only exceptions to this are that torches and redstone torches can be placed on the TOP face of glass and any fixture (which can be placed on the top of a block) can be placed on hoppers.
 * Water which is completely surrounded by water or opaque blocks won't have a current. However, if one of the surrounding blocks is transparent the water will flow down like a waterfall, making it much slower to swim up.
 * Redstone behavior (see Redstone circuit and its subpages for details):
 * Opaque blocks overhead can prevent redstone wires from connecting to each other.
 * Only opaque blocks can be powered by Redstone power.
 * If a transparent block can carry redstone wire, it will act as a diode, carrying power upwards but not downwards.
 * Tree leaves can overwrite transparent blocks when they grow, but they will not overwrite opaque blocks.
 * Opacity affects door orientation when placed. Doors open counter-clockwise by default, but if they have an opaque wall along their left side they open clockwise.
 * Ghast fireball explosions only start fires on opaque blocks.
 * A bed can only successfully reset the player's spawn point if the block at its head is opaque. Beds with transparent blocks at their heads may still be slept in, but dying will cause the player to respawn at the original spawn point with the message "Your home bed was missing or obstructed."
 * Particles that are affected by gravity (e.g. slime particles) will fall through transparent blocks, but will stop on opaque blocks.
 * The growth of grass blocks is linked to how well lit the blocks directly above them are. Reducing that light with an opaque block, a partially transparent block or enough transparent blocks will kill a grass block, as well as prevent grass spreading to nearby dirt blocks.
 * Bats cannot hang on transparent blocks.

Anomalies

 * Transparency in this sense does not imply that you can actually see through it, which is a quality of the item texture (as specified by the game or resource pack). However, recent versions of Minecraft have provisions against seeing through opaque blocks, regardless of texture.  (See "Trivia", below.)
 * Transparent blocks can still reduce or block light, according to type:
 * Glass and carpet do not reduce the light passing through them, i.e. there is no additional modifier. In other words, light passes through them as if it were air.
 * Water and ice are transparent, but have a -2 modifier to light propagation, on top of the normal decrease of 1 per block.
 * Leaves and cobwebs do not have any extra effect on block light, but they do diffuse sky light; light from the sky will start to get dimmer when it goes through leaves. The light level from sunlight or moonlight is the same in each block of air in the column of air above the highest obstruction in the column. When placed, leaves and cobwebs obstruct that light column so that the lowest air block above the leaves acts as other light sources do. As you descend below the leaves, the light level diminishes with distance like it would from other light sources such as torches. To control this effect, create an opaque 1x1 column-tunnel with leaves or cobwebs at its opening above you.
 * Slabs, stairs, and farmland block light completely. Also, for the purposes of most game logic, the light level of the block itself is equal to the maximum light level of any of the blocks directly beside or above it. As a result, if these blocks are lit from the top or sides, they are typically one level brighter than a transparent block would be at the same location.
 * When placing a beacon, the beacon will treat lava as transparent and will function under it. However, it will not function if placed under water. In, beacons will be able to perform under water.

Trivia

 * Lava is transparent as you would expect, but it is set to completely block light propagation. This is usually unnoticeable since lava has an intrinsic luminance of 15.
 * In the Nether, your spawn point will always be on top of an opaque block. This is hard to observe, since you warp back to the normal world when you die in the nether.
 * If a non-transparent block is given transparent pixels in an edited texture, then instead of showing the block behind it through the transparent part, you will see beyond into the void. This is because the world behind a block is only rendered if the block is set as transparent.
 * As of 14w04a, the empty area is filled in.