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 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 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).
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.
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.
Sky light of level 15 spreading 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.
In Java Edition, all of the following light-filtering blocks decrease sky light by 1 level (but do not affect block light).
|All transparent waterlogged blocks|
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.
|Icon||Block||Amount of decrease|
|[more information needed]|
The following values are the brightness of the blocks themselves.
|Campfire, when lit||15|
|Cauldron containing lava[Bedrock Edition only]||15|
|End Gateway (block)||15|
|End Portal (block)||15|
|Redstone Lamp, when lit||15|
|Respawn Anchor, fully charged||15|
|Sea Pickle with four bodies, when in water||15|
|Colored Torch[Bedrock and Education editions only]||14|
|Underwater Torch[Bedrock and Education editions only]||14|
|Blast Furnace, when lit||13|
|Furnace, when lit||13|
|Smoker, when lit||13|
|Enchanting Table[Bedrock Edition only]||12|
|Glowing Obsidian[Bedrock Edition only]||12|
|Sea Pickle with three bodies, when in water||12|
|Nether Portal (block)||11|
|Respawn Anchor, 3⁄4 charged||11|
|Soul Campfire, when lit||10|
|Redstone Ore, when touched||9|
|Sea Pickle with two bodies, when in water||9|
|Redstone Torch, when lit||7|
|Respawn Anchor, 1⁄2 charged||7|
|Sea Pickle with a single body, when in water||6|
|Monster Spawner[Bedrock Edition only]||3|
|Respawn Anchor, 1⁄4 charged||3|
|End Portal Frame||1|
|Light Block[Bedrock and Education editions only]||0–15
See Light Block for details
Internal light level
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 ↑|
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|
- During thunderstorms, hostile mobs are allowed to spawn as if the internal sky light level were actually 5.
Effects of internal light
Note: Keep in mind that the internal light level is only one of the considerations that apply to mob spawning and plant growth.
|Mob||Level ≤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|
|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|
|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|
|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 and often ignore players when in sunlight even when provoked|
|Block||Level ≤3||Level 4-7||Level 8||Level 9-10||Level 11||Level 12||Level 13–15|
|Forms, does not melt||Forms and melts||Melts|
|Mushrooms||Spread||Uproot unless on mycelium or podzol|
Pumpkin or Melon stems
|Does not grow||Grows|
|Uproot||Does not grow||Grows|
|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|
- Sunlight does not affect snow and ice. The relevant light level is what would be in the block if it were air.
- 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.
- 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.
- The relevant light level is that in the air block above it.
|Level ≤3||Level 4-7||Level 8||Level 9||Level 10||Level 11||Level 12||Level 13–15|
|Cave Ambience||[more information needed]|
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.
- Brightness here refers to ITU-R BT.601 luminance value (luma)
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. It is set on by default. Paintings and water are unaffected.[Java Edition only]
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), or Off, and can be changed by accessing Video Options from the Options menu.
|Java Edition pre-Classic|
|Cave game tech test||The 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. |
|Java Edition Classic|
|May 26, 2009||Notch discussed the feasibility of having dynamic lighting with limited range, allowing possibilities like defining blocks like lava to emit light.|
|Java Edition Indev|
|0.31||20091223-1||Added 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% (8⁄8) and 7 is 87.5% (7⁄8)..|
|20100109||There 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 Indev||20100212-1||Sunlight'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.0||preview||Added 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.1||Notch 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.3||Smooth lighting engine added with the help of MrMessiah.|
|1.8||Pre-release||Implemented 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.|
|1.4.2||12w39a||Dinnerbone fixed black patches in world generation, and began overhauling the lighting systems such as changing the lighting of blocks to allow for directional lighting.|
|1.5||13w05a||Improved lighting interaction with stairs.|
|13w06a||Several lighting optimizations.|
|13w09a||Added 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.2||13w36a||Black patches in world generation and structure generation were made a lot less common.|
|1.8||14w30a||The lighting engine was significantly improved, removing most black spots present in world generation.|
|14w34c||The void fog and particles were removed in order to improve performance.|
|1.14||18w43a||The lighting system has been rewritten.|
|18w46a||Added support for directional opacity of blocks.|
|1.14.2||pre4||All light is now re-calculated the first time a world saved in a previous version is opened.|
|Pocket Edition Alpha|
|v0.7.0||Added toggleable smooth lighting.|
|v0.8.0||?||Removed the ability to toggle smooth lighting for no apparent reason.|
|1.1.0||alpha 220.127.116.11||Readded the Smooth Lighting toggle to Video options.|
- 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.
- "Minimum is the old smooth lighting method, maximum is the new one. Max is slower but prettier/fixes some issues with stairs." – @Dinnerbone