Minecraft:Starfield
More actions
Template:No navbox Starfield is a unique graphical effect used for rendering certain features related to Minecraft:the End.
Use cases
Starfield effects are used for the following:
- End portal
- End gateway
- Minecraft:Endermen holding End portals or End gateways
- Minecraft:Minecarts with custom-displayed End portal or End gateway blocks
- Lit Minecraft:TNT entities set to display as End portals or End gateways
- Loading screen when entering or leaving the End
- Minecraft:End Poem background screen
- Minecraft:Credit sequence background screen
- Items using the Template:Code special model type in a resource pack
Minecraft:Falling block entities of the End portal and End gateway do not render the starfield effect, and it seems highly unlikely (although unproven) that Minecraft:moving piston blocks would either.<ref>Template:Bug</ref>
How it is rendered
Java Edition
The rendering of the starfield effect has changed several times throughout the game's history; the following is present as of Minecraft:Java Edition 26.2 Snapshot 7.
There are two subtly different gateway effects, referred to by the Template:Code special model type as Template:Code (used for end portal blocks, the dimension loading screens for entering and exiting the End, and the credits sequence and preceding poem) and Template:Code, used specifically for end gateways. The latter renders an extra layer of blue pixels which are absent from the former, which can be seen by placing the two blocks next to each other; blue pixels will disappear when they migrate to the space where the end portal is present. See later in this section for a technical explanation of the difference.
Two different texture files are utilised in generating the starfield effect:
| Template:Code | Template:Code |
| Template:Pximg | Template:Pximg |
The "End sky" texture, which is indeed the same texture used for the actual Minecraft:End sky, is used as the "background" texture: it is sampled using screen-projected coordinates and multiplied by Template:Color.Template:Info needed The shader uses the projected screen-space y-coordinate directly as the vertical texture coordinate; because the screen-projected vertical coordinate increases upwards while the texture image is displayed with its vertical axis running downwards, the background texture appears vertically mirrored.Template:Info needed
The "End portal" texture is sampled in multiple layers on top of this background. Each layer uses a different colour multiplier, scale, rotation, fixed horizontal offset, and time-based vertical offset. In the fragment shader, the RGB results of the layers are combined additively before the final colour is output with full opacity. The End portal uses 15 layers of the "End portal" texture, while the End gateway uses 16 layers. The first 15 layers are shared between both effects, while the End gateway has an additional layer using Template:Color.
The colour values used by the layers are as follows. Index 0 is also used for the "End sky" background, but the velocity listed for index 0 applies only to the first layer of the "End portal" texture. The End portal uses indices 0 through 14, while the End gateway uses indices 0 through 15. The Velocity column gives the rate at which the time-based vertical offset increases. In the current Windows behaviour, this is also the apparent downward velocity of the layer. In the pre-25w07a behaviour, where the apparent travel direction follows each layer's rotation, the same listed velocity is transformed by the layer's rotation and scale. Template:Info needed section
As of Java Edition 26.2 Snapshot 7 on Windows, these layers slowly move vertically downwardsTemplate:Verify over time. In this behaviour, the scale and rotation of each layer change the appearance of the texture pattern, but the time-based offset is applied after the rotation, so the direction of motion is not rotated with each layer.Template:Verify For the nth layer, where n starts at 1 and equals the table index plus 1, the horizontal offset is 17/n, the rotation angle is (n×n×4321+n×9)×2 degrees, and the scale is (4.5-n/4)×2. The vertical offset is (2+n/1.5)×(GameTime×1.5). Since GameTime increases by 1/24000 per game tick, the Velocity value listed in the table is (3+n)/24000. For the current Windows behaviour, this value is the apparent downward velocity in screen-projected coordinate units per game tick. For the pre-25w07a behaviour, the Rotation value gives the apparent travel direction, while the apparent travel velocity is the listed Velocity divided by the listed Scale.
The starfield effect is completely constant regardless of view: while moving and rotating the camera will change the position of the object using the starfield effect itself on screen, the starfield itself will remain fixed in place. In effect, anything using the starfield effect effectively creates what can be seen as a "hole" in the world, behind which the starfield rests. The shape of the starfield also changes with the window size, although this is presumably not intentional.<ref>Template:Bug</ref>
Bedrock Edition
The specifics of Template:El are less known, however the behaviour more closely resembles the position/rotation-based rendering as seen for end portals before JE 16w40a and end gateways before JE 15w33a (though without the latter's distortion).
History
Java Edition
Template:Info needed section Template:HistoryTable
Table of visual changes
Parallax
| Versions | Template:Code | Template:Code | Changes |
|---|---|---|---|
| Beta 1.9 Prerelease 3 to 12w24a |
? | - | Portal introduction |
| 12w25a to 1.8.9 |
? | End Sky texture change | |
| 15w31a to 15w32c |
? | Gateway introduction | |
| 15w33a to 1.9.4 |
- | Gateway now camera-independent | |
| 16w20a to 16w39c |
? | The starfield is darker and greener | |
| Parallax starfield no longer exists from 16w40a onward | |||
Fixed
| Versions | Template:Code | Template:Code | Changes |
|---|---|---|---|
| 15w33a to 1.9.4 |
- | ? | Fixed starfield added, used by end gateway |
| 16w20a to 16w39c |
? | The starfield is darker and greener | |
| 16w40a to 21w08b |
? | Portal now camera-independent | |
| 21w10a to 25w06a |
? | ? | Background now stretched instead of repeating, particle size seemingly increased |
| 25w07a to present |
? | ? | All particles now move downwards (Windows only) |
Blocks
| Versions | Template:Code | Template:Code | Changes |
|---|---|---|---|
| Beta 1.9 Prerelease 3 to 12w24a |
File:End Portal JE2.gif | Template:Tc | Portal introduction |
| 12w25a to 1.8.9 |
File:End Portal JE3.gif | Template:Tc | End Sky texture change |
| 15w31a to 15w32c |
File:End Gateway JE1.gif | Gateway introduction | |
| 15w33a to 1.9.4 |
File:End Gateway JE2.gif | Gateway now camera-independent | |
| 16w20a to 16w39c |
File:End Portal JE4.gif | File:End Gateway JE3.gif | The starfield is darker and greener |
| 16w40a to 21w08b |
File:End Portal JE5.gif | Portal now camera-independent | |
| 21w10a to 25w06a |
File:End Portal JE6.gif | File:End Gateway JE4.gif | Background now stretched instead of repeating, particle size seemingly increased |
| 25w07a to present |
File:End Portal JE8.gif | File:End Gateway JE5.gif | All particles now move downwards (Windows only) |