Light

From Minecraft Wiki
Jump to: navigation, search
Not to be confused with Lightning.
For block in Bedrock Edition, see Light Block.

Light (or lighting) in Minecraft affects visibility, mob spawning, and plant growth. There are three aspects of Minecraft's lighting system: light level, internal light level, and rendered brightness.

Light level[edit]

Light levels can be found on the debug screen in Java Edition. Light may come from two sources: the sky and certain blocks. There are 16 light levels, specified by an integer from 0 (the minimum) through 15 (the maximum).

Block light[edit]

T 13 12 11 10 9 8 9 10 11 12 13 T
13 12 11 10 9 8 9 8 9 10 11 12 13
12 11 10 9 8 9 10 9 8 9 10 11 12
11 10 9 8 9 10 11 10 9 8 9 10 11
10 9 8 9 10 11 12 11 10 9 8 9 10
9 8 9 10 11 12 13 12 11 10 9 8 9
8 9 10 11 12 13 T 13 12 11 10 9 8
A torch pattern which prevents most overworld hostile and
neutral mobs from spawning. See § Mobs

Block light comes from light-emitting blocks, and spreads using a flood fill algorithm.

The block light level decreases by one for each meter (block) of taxicab distance from the light source. This applies to each of the 3 coordinate axes. In other words, the light level decreases diagonally by the sum of the distances along each axis. For example:

  • If a torch with light level 14 is placed on the floor, the light level of the adjacent floor blocks in all four directions is 13, while the diagonal blocks in all four directions have a light level of 12 (14 minus 1 south, minus 1 east).
  • If a torch with light level 14 is placed on a wall one block above the floor, then the block on the floor that is one block southeast of and below the torch has a light level of 11 (14 minus 1 south, minus 1 east, minus 1 down).

On a surface, this effect produces a diamond-shaped pattern of illumination around the light source. In Bedrock Edition, light-filtering blocks can reduce more level of block light.

In Java Edition, when calculating lighting, the shapes of some blocks are detected, including and only including piston, daylight detector, enchanting table, farmland, lectern, stonecutter, grass path, snow, end portal frame, slab and stair, so that the light passing through them can only spread in specific directions. For example, the grass path prevents the light from propagating downward, but the light can propagate in other directions. Exceptions to this are composters, cauldrons, hoppers and carpets.[1]

Sky light[edit]

The sky light level for blocks exposed to broad daylight is 15. Sky light cast onto blocks can spread to darker areas using a flood fill algorithm. Sky light is not reduced at night; rather, the spawning of mobs is determined by internal light values.

Opaque blocks can prevent the spread of sky light. By contrast, some transparent blocks such as glass and iron bars have no effect on the sky light level. All other transparent blocks, however, reduce the spread of sky light. Tinted glass[upcoming: JE 1.17], while visually transparent, blocks all sky light.

When sky light of a level of 15 spreads down through a transparent block, the level remains unchanged. When it spreads horizontally or upward, it reduces 1 light level. However, when it spreads through a light-filtering block, it does not follow the above two rules and attenuates specific light levels.

Sky light with a level less than 15 spreads as block light - when it propagates to adjacent (including top and bottom, six blocks in total) blocks, it is attenuated until it is 0.

In Java Edition, when calculating lighting, the shapes of some blocks are detected, including and only including piston, daylight detector, enchanting table, farmland, lectern, stonecutter, grass path, snow, end portal frame, slab, and stair. They have directional opacity, so that the light passing through them can only spread in specific directions. For example, the grass path prevents the light from propagating downward, but the light can propagate in other directions.

Light-filtering blocks[edit]

In Java Edition, all of the following light-filtering blocks decrease sky light by 1 level (but do not affect block light).

Light-filtering blocks in Java Edition
Icon Block
Water.png Water
Waterlogged Oak Fence.png All transparent waterlogged blocks
Bubble Column JE1 BE1.png Bubble Column
Ice JE2 BE3.png Ice
Frosted Ice 1 JE2 BE2.pngFrosted Ice 2 JE2 BE2.pngFrosted Ice 3 JE2 BE2.png Frosted Ice
Cobweb JE2 BE2.png Cobweb
Oak Leaves JE4.png Leaves
Slime Block JE2 BE3.png Slime Block
Honey Block JE1 BE2.png Honey Block
Spawner JE3.png Spawner
Lava JE4.png Lava
Beacon JE6 BE2.png Beacon
End Gateway JE2 BE1.png End Gateway
Chorus Plant JE2 BE2.png Chorus Plant
Chorus Flower JE2 BE2.png Chorus Flower
Shulker Box.png Shulker Box

In Bedrock Edition, light-filtering blocks can reduce more levels of block or sky light. The following values are the amounts by which each block decreases the light level.

Light-filtering blocks in Bedrock Edition
Icon Block Amount of decrease
Ice JE2 BE3.png Ice 3
Water BE (animated).png Water 2
Cobweb JE2 BE2.png Cobweb 1
Oak Leaves BE5.png Leaves

Light-emitting blocks[edit]

Comparison of the different light levels that blocks emit.

The following values are the brightness of the blocks themselves.

Icon Block Light Level
Beacon JE6 BE2.png Beacon 15
Campfire JE2 BE2.png Campfire, when lit 15
Cauldron (filled with lava) BE2.png Cauldron containing lava‌[Bedrock Edition only][upcoming: JE 1.17] 15
Conduit JE1 BE1.png Conduit 15
End Gateway JE2 BE1.png End Gateway (block) 15
End Portal.png End Portal (block) 15
Fire.png Fire 15
Glowstone JE4 BE2.png Glowstone 15
Jack o'Lantern (S) JE4 BE2.png Jack o'Lantern 15
Lantern JE1 BE1.png Lantern 15
Lava JE4.png Lava 15
Lit Redstone Lamp JE3 BE2.png Redstone Lamp, when lit 15
Respawn Anchor (Charges 4) JE1.png Respawn Anchor, fully charged 15
Sea Lantern JE1 BE1.png Sea Lantern 15
Sea Pickle 4 JE1 BE1.png Sea Pickle with four bodies, when in water 15
Shroomlight JE1 BE1.png Shroomlight 15
Purple Torch BE1.pngBlue Torch BE1.pngGreen Torch BE1.pngRed Torch BE1.png Colored Torch[Bedrock and Education editions only] 14
End Rod (U) JE2 BE2.png End Rod 14
Torch JE4 BE2.png Torch 14
Underwater Torch BE1.png Underwater Torch[Bedrock and Education editions only] 14
Lit Blast Furnace (S) JE1 BE1.png Blast Furnace, when lit 13
Lit Furnace (S) JE4 BE2.png Furnace, when lit 13
Lit Smoker.png Smoker, when lit 13
Four Candles.png Candles, with four candlesticks, when lit‌[upcoming: JE 1.17] 12
Enchanting Table JE4 BE2.png Enchanting Table[Bedrock Edition only] 12
Glowing Obsidian BE1.png Glowing Obsidian[Bedrock Edition only] 12
Sea Pickle 3 JE1 BE1.png Sea Pickle with three bodies, when in water 12
Nether Portal.png Nether Portal (block) 11
Respawn Anchor (Charges 3) JE1.png Respawn Anchor, 34 charged 11
Crying Obsidian JE1 BE1.png Crying Obsidian 10
Soul Campfire.png Soul Campfire, when lit 10
Soul Fire.png Soul Fire 10
Soul Lantern.png Soul Lantern 10
Soul Torch JE1.png Soul Torch 10
Three Candles.png Candles, with three candlesticks, when lit‌[upcoming: JE 1.17] 9
Redstone Ore JE2 BE2.png Redstone Ore, when touched 9
Sea Pickle 2 JE1 BE1.png Sea Pickle with two bodies, when in water 9
Ender Chest (S) JE2 BE2.png Ender Chest 7
Redstone Torch JE2.png Redstone Torch, when lit 7
Respawn Anchor (Charges 2) JE1.png Respawn Anchor, 12 charged 7
Two Candles.png Candles, with two candlesticks, when lit‌[upcoming: JE 1.17] 6
Sea Pickle 1 JE1 BE1.png Sea Pickle with a single body, when in water 6
Amethyst Cluster (U) JE1.png Amethyst Cluster, when lit‌[upcoming: JE 1.17] 5
Large Amethyst Bud (U) JE1.png Large Amethyst Bud, when lit‌[upcoming: JE 1.17] 4
Blue Ice JE1 BE1.png Blue Ice[Bedrock and Education editions only] 4
Candle.png Candle, as a single candlestick, when lit‌[upcoming: JE 1.17] 3
Magma Block JE2 BE2.png Magma Block 3
Spawner BE2.png Monster Spawner[Bedrock Edition only] 3
Respawn Anchor (Charges 1) JE1.png Respawn Anchor, 14 charged 3
Medium Amethyst Bud (U) JE1.png Medium Amethyst Bud, when lit‌[upcoming: JE 1.17] 2
Small Amethyst Bud (U) JE1.png Small Amethyst Bud, when lit‌[upcoming: JE 1.17] 1
Brewing Stand.png Brewing Stand 1
Brown Mushroom JE2 BE2.png Brown Mushroom 1
Dragon Egg JE1 BE1.png Dragon Egg 1
End Portal Frame JE2 BE2.png End Portal Frame 1
Inactive Sculk Sensor JE1.png Sculk Sensor, when lit‌[upcoming: JE 1.17] 1
Light Block (Light Level 1).pngLight Block (Light Level 2).pngLight Block (Light Level 3).pngLight Block (Light Level 4).pngLight Block (Light Level 5).pngLight Block (Light Level 6).pngLight Block (Light Level 7).pngLight Block (Light Level 8).pngLight Block (Light Level 9).pngLight Block (Light Level 10).pngLight Block (Light Level 11).pngLight Block (Light Level 12).pngLight Block (Light Level 13).pngLight Block (Light Level 14).pngLight Block (Light Level 15).png Light Block[Bedrock and Education editions only] 0–15

See Light Block for details

Internal light level[edit]

Internal sky light versus time and sky light

The internal light level is used for calculations within the game. The game uses the internal light level of one block to compute aspects of the game, which include mob spawning, plant growth, and daylight detector outputs.

The game uses sky light, time, and weather to calculate an internal sky light value (also known as darkening sky light), then uses the maximum level of the block light and the internal sky light to calculate the internal light (formula: (max(internal sky light,block light))). This value is an integer with a maximum level of 15; it can also be negative.

Here are the levels of internal sky light at a sky light of level 15:

Internal sky light Clear Rain or Snowfall Thunder
Time Time Time Time Time Time
4 13670–22330 13670–22330 13670–22330
5 22331–22491 13509–13669 22331–22565 13436–13669 22331–22671 13330–13669
6 22492–22652 13348–13508 22566–22798 13203–13435 22672–23010 12990–13329
7 22653–22812‌[JE only]
22653–22813‌[BE only]
13188–13347 22799–23031 12969–13202 23011–23352 12648–12989
8 22813‌[JE only]–22973
22814‌[BE only]–22973
13027–13187 23032–23266 12734–12968 23353–23700 12300–12647
9 22974–23134 12867–13026 23267–23504 12497–12733 23701–59 11941‌[JE only]–12299
11942‌[BE only]–12299
10 23135–23296 12705–12866 23505–23745 12256–12496 60–11940‌[JE only]
60–11941‌[BE only]
11 23297–23459 12542–12704 23746–23991 12010–12255 N/A
12 23460–23623‌[JE only]
23460–23624‌[BE only]
12377–12541 23992–12009 N/A
13 23624‌[JE only]–23790
23625‌[BE only]–23790
12210–12376 N/A N/A
14 23791–23960 12041–12209 N/A N/A
15 23961–12040 N/A N/A

To obtain an internal sky light for a sky light level s less than 15, take the internal level at 15 l and subtract it with the difference between s and 15: l–(15–s).

Icon Time Internal sky light when sky light is 15
noon, during clear weather 15

noon, during Rain or Snowfall 12
noon, during a Thunderstorm 10[storm 1]
midnight, during clear weather 4
  1. During thunderstorms, hostile mobs are allowed to spawn as if the internal sky light level were actually 5.

Effects of internal light[edit]

Note: Keep in mind that the internal light level is only one of the considerations that apply to mob spawning and plant growth.

Mobs[edit]

Mobs may ignore the light level they are supposed to spawn in after using /fill.[2]

Mob Level 0–3 Level 4–7 Level 8–11 Level 12–15
Bats Spawn at y: 0–62 Spawn at y: 0–62 from October 20 to November 3‌[JE only] Do not spawn
Blazes Spawn in Nether Fortresses Do not spawn
Wither Skeletons Spawn in Nether Fortresses Do not spawn
Zombified Piglins Spawn in the Nether Do not spawn
Slimes Spawn in swamp biomes at y: 50–70 Do not spawn in swamp biomes
Spawn in slime chunks in y: 0–40
Zombies
Skeletons
Spawn in the Overworld Do not spawn Do not spawn, burn in sunlight
Drowned Spawn in oceans and rivers Hostile, do not spawn Burn in sunlight, ignore player outside water when in sunlight
Creepers
Witches
Spawn in the Overworld Do not spawn
Phantoms Spawn in the Overworld if player hasn't entered a bed in over 3 in-game days Do not spawn Burn in sunlight
Spiders
Cave spiders
Spawn in the Overworld Hostile, do not spawn Do not spawn, neutral unless provoked
Silverfish[note 1] Spawn in the Overworld Hostile, do not spawn
Endermen Spawn in the Overworld, the Nether and the End Do not spawn, neutral unless provoked Do not spawn, teleport randomly.
  1. These restrictions apply only to Silverfish spawned in a Spawner, not from an Infested Block.

Blocks[edit]

Block Level 0–3 Level 4–7 Level 8 Level 9–10 Level 11 Level 12 Level 13–15
Snow
Ice[note 1]
Forms, does not melt Forms and melts Melts
Mushrooms Spread Uproot unless on mycelium or podzol
Saplings
Pumpkin or Melon stems
Bamboo
[note 2]
Does not grow Grows
Wheat
Carrots
Potatoes
Beetroots[note 3]
Uproot Does not grow Grows
Grass Block
Mycelium[note 4]
Becomes dirt if opaque block or partially transparent block on top Does not spread Spreads to nearby dirt (see below)
Dirt[note 4] Does not accept spread Accepts spread if there is no opaque or semi-transparent block on top
Frosted Ice See Frosted Ice for details
Daylight detector Output
  1. Sunlight does not affect snow and ice. The relevant light level is what would be in the block if it were air.
  2. For growth, the relevant light level is that in the block above the plant. The growth of pumpkins or melons from a stem checks the light above the stem, not the block where the pumpkin or melon grows.
  3. For growth, the relevant light level is that in the block above the plant. For uprooting, the relevant light level is the plant block itself.
  4. a b The relevant light level is that in the air block above it.

Other[edit]

In Java Edition, the light in predicate is internal light-level.

Level ≤3 Level 4-7 Level 8 Level 9 Level 10 Level 11 Level 12 Level 13–15
Cave Ambience [more information needed]

Rendered brightness[edit]

Lighting curves. Horizontal axis is block light, vertical is sky light.

The game uses the light level (instead of internal light level), time, and weather to compute the rendered brightness of a given block or an entity. Light is completely monochromatic and cannot be truly colored.

As mentioned above, sky light is not reduced at night, instead, the brightness curve itself changes based on the time. Entities cast circular‌[Java Edition only] or tridecagonal‌[Bedrock Edition only] shadows; however, these are unrelated to the rendering of blocks.

In general, lighting due to blocks results in a higher brightness, which is balanced by the fact that light due to blocks effectively starts at 14 (solid light source blocks emit a level of 15, but that applies to the light source block itself) while sky light brightness is 15 outdoors. Light due to blocks also tends toward orange in the middle ranges, while sky light in the Overworld daytime is white.

In the Overworld with the "Moody" brightness setting, full daylight reaches 98% brightness,[luma 1] while at night brightness is reduced to about 17%[luma 1] and is shaded blue. Full darkness is about 5% brightness.[luma 1]

In the Nether, sky lighting doesn't play a role since there is no source of sky light (although if there were, it would reach about 99% brightness.[luma 1]) Full darkness with the "Moody" brightness setting is at about 25% brightness,[luma 1] slightly darker than a block light level of 7 and no sky light in the Overworld, and is shaded orange like block light.

In the End, sky lighting wouldn't play a role even if there were a source of sky light; this can also be seen if lightning is summoned in the End (there is no flash of brightness like there is in other dimensions). Full darkness in the End with the "Moody" brightness setting is about 28% brightness,[luma 1] and is shaded toward a bluish-green rather than the orange of the Nether and of block lighting.

  1. a b c d e f Brightness here refers to ITU-R BT.601 luminance value (luma)

Smooth lighting[edit]

The difference between Smooth Lighting on and off.

Smooth lighting is a lighting engine that blends light levels across block faces and darkens corners using ambient occlusion to add semi-realistic shadows and glowing from light sources. It affects only rendered brightness, not the light level, so it has no effect on mob spawning or crop growth, and in fact can be detrimental for this very reason. It is set on by default. Paintings and water are unaffected.‌[Java Edition only][3]

In Bedrock Edition, smooth lighting can be turned on or off in the Video settings, accessed from the Settings menu. In Java Edition, it has three settings: Maximum, Minimum (an older version of the engine)[4], or Off, and can be changed by accessing Video Options from the Options menu.

Ambient occlusion in minecraft[edit]

Cleanup.svg
This section may need cleanup to comply with the style guide. [discuss]
Please help the Minecraft Wiki clean up this page if you can.
The talk page may contain suggestions.

In recent years, in many games, ambient occlusion is mainly generated dynamically by the GPU. But Minecraft calculates ambient occlusion in the code based on voxel placement and brightness levels.

Ambient occlusion is responsible for adding shading to an ordinary texture. It is a layer of translucent textures, on top of the normal textures. Overlaying these AO textures onto a texture is called AO mapping. There are about five AO texture patterns used in Minecraft's Smooth lighting, excluding flips and rotations, and only three patterns algorithmically. Strictly speaking, it's probably more than that. That's when the intensity changes with the brightness level. But they are solved by Tint.

AO texture pattern[edit]

Cleanup.svg
This section may need cleanup to comply with the style guide. [discuss]
Please help the Minecraft Wiki clean up this page if you can.
The talk page may contain suggestions.

If AO mapping is selected only to the northwest of the voxel, the following pattern is possible.

Number Image
0 Aomap example (W).png Aomap example (N).png Aomap example (NW).png
1 Aomap example (nW).png Aomap example (Nw).png Aomap example (n-w).png
2 Aomap example (w).png Aomap example (nw).png Aomap example (n).png
3 Aomap example (none).png

These classifications allow we can deduce a pattern from the placement of each voxel. We then use the following function to compute the opacity of the voxels' vertices, depending on the presence of the side and corner voxels.

function vertexAO(side1, side2, corner) {
  return 3 - (side1 + side2 + corner)
}

This generates a 2x2 pixel image using the values of each vertex. The pixels are small, but don't worry. It's zoom in using anti-aliasing, it will gradat.

Ao texture (x40).png Ao texture (x40 anti-aliasing).png

History[edit]

Java Edition pre-Classic
Cave game tech testThe lighting engine in Classic was simple, with only two light levels, bright and dark. "Sunlight" is emitted by the top edge of the map and hits any block that is under it, regardless of distance. It passes through transparent blocks to light blocks underneath. Blocks that do not receive light are in a dim shadow that remains at the same level of brightness no matter how far they are from a light source. [needs testing]
Java Edition Classic
May 26, 2009Notch discussed the feasibility of having dynamic lighting with limited range, allowing possibilities like defining blocks like lava to emit light.
Java Edition Indev
0.3120091223-1Added 9 degrees of brightness, with a maximum of 9 for full daylight and a minimum of 0 for almost complete darkness. Brightness is a linear scale and represents its value divided by 8; for example 8 is 100% (88) and 7 is 87.5% (78)..
20100109There are now 16 degrees of brightness, with a maximum of 15 for full daylight and a minimum of 0 for almost complete darkness.
Sunlight now has a maximum light value of 15.
Minecraft Indev20100212-1Sunlight's light value steadily decreases from dusk, until it reaches a night-time minimum value of 4, representing moonlight.
Java Edition Alpha
?Lighting is no longer linear.
Each brightness value below 15 is 80% as bright as the one above it. For example, 14 is 80% as bright as 15, and 13 is 64% as bright as 15.
Sunlight now has its own light array and optimizations to make dawn and dusk smoother. During dusk, nighttime, and dawn, a "darkness" value is subtracted from the sky to create the effects of different times of day.
v1.2.0previewAdded the Nether, where light decreases by 10% each level, rather than the normal 20%.
Hostile mobs could spawn in higher light levels at lower depths, using the formula 16 − (Layer / 8). At level 8 and below, mobs could spawn even in sunlight.
v1.2.1Notch reverted mob spawning to the original method, saying, "It was way too annoying. I have plans on what to do with this."
Java Edition Beta
1.3Smooth lighting engine added with the help of MrMessiah.[5]
1.8Pre-releaseImplemented a new lighting engine. The lighting on a block is given a tint based on the most prominent source of light.
Day/night cycles no longer require chunk updates and is a smooth transition.
Artificial light now gives a subtle "flicker."
Added void fog, which increases darkness at extreme depths.
Java Edition
1.4.212w39aDinnerbone fixed black patches in world generation,[6] and began overhauling the lighting systems such as changing the lighting of blocks to allow for directional lighting.[7][8]
1.513w05aImproved lighting interaction with stairs.
13w06aSeveral lighting optimizations.
13w09aAdded three different levels of smooth lighting: Off, Minimum, and Maximum. Minimum uses the old Smooth Lighting, and Maximum fixes a bug with stairs.
1.7.213w36aBlack patches in world generation and structure generation were made a lot less common.[9]
1.814w30aThe lighting engine was significantly improved, removing most black spots present in world generation.
14w34cThe void fog and particles were removed in order to improve performance.
1.1418w43aThe lighting system has been rewritten.
18w46aAdded support for directional opacity of blocks.
1.14.2pre4All light is now re-calculated the first time a world saved in a previous version is opened.
Pocket Edition Alpha
v0.7.0Added toggleable smooth lighting.
v0.8.0?Removed the ability to toggle smooth lighting for no apparent reason.
Pocket Edition
1.1.0alpha 1.1.0.0Readded the Smooth Lighting toggle to Video options.

Issues[edit]

Issues relating to "Light" are maintained on the bug tracker. Report issues there.

Trivia[edit]

  • In Minecraft's source code, the luminescences are defined using the floating point values in the third column. In a weird quirk, these floating point numbers are fractions of 16, but are multiplied by 15 to get the integer light value.
    • This means that both 0/16 and 1/16 (0.0 and 0.0625) correspond to the integer light value 0.

Gallery[edit]

References[edit]