The part in brackets is a summary and not a full list of everything each shader affects. Only the more common things are listed here for quick access.
- Non-Rendertype
- blit_screen (Copy)
- particle (Particles)
- position (Sky)
- position_color (Pre 1.20 Solid Color UI)
- position_tex (Texture UI, Worldborder, Sun/Moon)
- position_tex_color (Fire, Wall Overlay, End Sky, Menu Background)
- Rendertype
- Blocks
- solid (Solid Blocks, Lava, Solid Falling Blocks)
- cutout (Most Non-Cube-Hitbox Blocks)
- cutout_mipped (Some Non-Cube-Hitbox Blocks)
- translucent (Water, Transparent Blocks)
- translucent_moving_block (Moving Blocks from Pistons)
- tripwire (Tripwire (Middle Section))
- end_portal (End Portal)
- end_gateway (End Gateway)
- Entities
- entity_cutout_no_cull (Entities)
- entity_translucent (Overlays/Transparent Parts)
- entity_solid (Entity-style Objects)
- entity_translucent_cull (Non-block-placing Items)
- entity_cutout (Block-placing Items)
- armor_cutout_no_cull (Armor)
- armor_entity_glint (Worn Armor Enchant Glint)
- entity_glint_direct (Enchanted Trident Glint)
- glint (Standard Enchant Glint)
- glint_translucent (Glass enchanted glint in
Fabulous!
) - energy_swirl (Charged Creeper, Wither Swirl)
- eyes (Entities with glowing eyes)
- leash (Leash)
- entity_shadow (Entity Shadow)
- entity_cutout_no_cull_z_offset (Mob Skulls, Minecart, Shulker)
- entity_decal (Ender Dragon Death)
- entity_alpha (Ender Dragon Death Wings)
- item_entity_translucent_cull (XP Orbs, Fabulous translucent items, Invisible Entities)
- entity_smooth_cutout (End Crystal Beams)
- entity_translucent_emissive (Glowing parts of Warden texture)
- entity_no_outline (Banner)
- water_mask (Hides water in boats)
- outline (Glowing)
- lightning (Lightning, Ender dragon death animation beams)
- UI
- gui (Solid Color UI)
- gui_ghost_recipe_overlay (Recipe Book Missing Item Overlay)
- gui_overlay (Generic Overlay Effects)
- gui_text_highlight (Highlighted Text)
- text (Text)
- text_see_through (Name Plates, Text Through Walls)
- text_background (Text Display Entity Background)
- text_background_see_through (Text Display Entity Background Through Walls)
- text_intensity (TTF Fonts)
- text_intensity_see_through (TTF Fonts Through Walls)
- Other
- lines (Block Outline, Hitboxes, Fishing Rod Line)
- clouds (Clouds)
- crumbling (Mining Block Cracks)
- beacon_beam (Beacon Beam)
- Blocks
- Unknown
- Removed
There are several shaders which are not prefixed with rendertype_
. These seem to be for more general targets, such as the sky or all particles.
Blit copies one buffer to another, however this cannot be overridden in a resource pack.
Weather (snow and rain) and all particles. The alpha value specified in the shader will override the particle’s inbuilt transparency e.g. in the sneeze particle. Others, like the splash particle, don't seem to allow this. More testing needed.
The colour of the sky. Also affects text highlighting.
Handles a few different things:
- The transparent lower hemisphere overlay on the sky approximately between times 11315 to 14150 (sunset) and 21830 to 24670 (sunrise),
- The f3+G chunk border displays,
Pre 1.20:
- The black transparent background on UI elements such as the chat field, the pause menu, and the scoreboard sidebar,
- The Mojang loading background,
- Highlighting item slots,
- The background of tooltips,
- The black bars on the sides when scoped in with a spyglass,
For UI elements, Position is the screen size divided by the GUI scale. E.g. 1920x1080 with GUI scale 3 means Position for x will be [0,640] and for y [0,360].
Handles a few different things:
- The Sun and Moon
- The worldborder
- Most GUI textures (like the hotbar, buttons, icons)
- Overlays (pumpkin blur, powder snow, the vignette, spyglass glass)
- The crosshair
- The mojang logo in loading screens
- The menus backgroud blur (blurring is done in post)
- The Minecraft Java Edition logo on the main screen
- The player heads and connections icons in tab
Also affects:
- Chunk border display
- Sky
- Sunset and sunrise halo
For UI elements Position is the screen size divided by the gui scale. E.g. 1920x1080 with GUI scale 3 means Position for x will be [0,640] and for y [0,360].
Handles:
- The End sky
- main menu panorama and menu backgrounds
- Fire overlay when the player is burning
- Wall overlay when player is suffocating
These are shaders which are targeted towards a specific element of the display.
For each shader name here, assume that it is prefixed with rendertype_
.
When dealing with block shaders which have something to do with translucent
, cutout
or cutout_mipped
, here is a useful list for all blocks of those specific types.
All solid blocks, lava, and when in fast mode, leaves. Also affects non-translucent falling blocks.
All non-cube-hitbox blocks, check the list in the section header. A list of all blocks rendered by this shader can be found here.
Certain blocks not covered by other shaders, check the list in the section header. Covers leaves in fancy/fabulous graphics. A list of all blocks rendered by this shader can be found here.
Translucent blocks like stained glass, check the list in the section header. A list of all blocks rendered by this shader can be found here.
Blocks which are translucent and are being moved by a piston.
The middle section(s) of a tripwire.
The strange image in the end portal and end gateways.
The shader files are called end_portal.vsh
/fsh
/json
, with end_gateway.json
referencing them.
Shaders that render entities.
- All entities
- Guardian beams
- Placed signs
- Shulker boxes (both placed and in inventory)
- Player heads (if player is using one of the default Minecraft skins: Alex, Steve, etc.)
Translucent entities and parts of entities:
- Slimes
- Players (except for the lower layer of the arm in first person)
- Player heads (if player has set a custom skin)
- Markings on horses
- Some other horses parts
- Shulker bullets
- Elder guardian particle effect
- Piglin
- Zombified Piglin
Sampler1 contains the red color that is overlayed on entities when they take damage.
Handles a few different things:
- The base (not flag) of banners,
- Shulker heads,
- Books on lecterns/enchantment tables,
- Shields,
- Beds,
- The bell part of bells,
- Capes,
- Shells of conduits,
- Paintings,
- Tridents,
- The ears on the Deadmau5 skin,
- The bottom skin layer of the first-person hand,
- The conduit item in the inventory.
With item frames, the item frame entity itself is part of the shader, however, items on it are not. Only the filled-in parts of maps placed on an item frame are part of the shader.
Flat texture items and transparent blocks held by entities or on head, in the inventory, and as entities. If Fabulous graphics is off, this shader also affects translucent items like stained glass and their panes, however if it is on, you should check item_entity_translucent_cull.
Armor and armor trims on entities.
The glint on enchanted armour. Slight transparency is inbuilt and unchangeable.
The glint on enchanted tridents.
Default enchant glint. Applies to items and blocks, in the inventory or in the world.
The enchant glint in translucent blocks (like stained glass) in world when graphics setting is Fabulous!
.
Charged creeper and wither swirling outline.
A shader for the entire body of an entity that has glowing eyes (not the eyes themselves). Not fully opaque.
Leads, both on entities and fences.
Blocks that are affected by an entity’s shadow, but not the shadow itself. Locked to the block grid.
Mob skulls, both on entities and as an item. Does not include player heads. Also handles shulker shells and minecarts.
Block items in the inventory or hand/head of an entity, chests, ender chests, chest in minecarts, and as entities. Does not include Shulker boxes (see entity_cutout_no_cull). Also used for the fire overlay on burning entities.
Colors the Ender Dragon while it’s dying.
Handles dropped translucent items in Fabulous graphics. Also affects invisible entities while using spectator mode or the gamerule seeFriendlyInvisibles
, as well as experience orbs in all graphics settings.
Glowing parts of Warden texture.
End crystal beams.
The color and pattern of banners.
Used in the death animation of the dragon. Seemingly only affects the dragon’s wings, possibly messed with in code?
Hides the water in a boat. Changing the color does not seem to have an effect, but changing the position does. Pictured left is moving the mask down by 64, pictured right is moving it to the right by 2.
Glowing effect on entities. This buffer draws color on the entire entity, which is later turned into an outline by the entity_outline post shader.
Lightning bolts. Ender dragon death animation beams.
These are shaders which affect some part of the UI. Some UI elements are rendered by Non-Rendertype shaders.
- The black transparent background on UI elements such as the chat field, the pause menu, the scoreboard sidebar, and subtitles
- The Mojang resource pack loading bar
- Highlighting worlds, servers, and players in social interactions menu
- The background of tooltips
- Scroll bar and scroll bar background
- World selection, recipe book, and social interactions search bar background
- World loading animation
- Crafting red missing item background (when using recipe book)
- Crafting translucent missing item overlay (when using recipe book)
- The Mojang resource pack loading background color
- The black bars on the sides when scoped in with a spyglass
- Highlighting item slots
- World and server selection menu drop-shadow
- All highlighted/selected text
All parts of text, including the shadow. This encompasses all text rendered including: F3 Menu, Menu button text, Entity names, Text display entities, Item names, descriptions & amounts in the inventory and the Chat etc. It also does the explored parts of maps
Isolating certain texts. Different types of text can be isolated using their Position.z. Texts without a shadow are located at x, texts with a shadow are located at x + 0.03 with their shadow being at x. (e.g. at 0.0 and 0.03). This seems to no longer be true in 1.19.4
A basic list of where which text is located: (Not Complete! Last checked in 1.18, unless noted otherwise)
- -200: Advancement menu text
- 0: /title text, bossbar name, world/server selection name/description text, resourcepack selection "Available" and "Selected" text.
- 0.03: Menu (pause/options) text and inventory Potion effect text
- 0.06 [1.19.4]: Subtitle Text (shadow at 0.0)
- 0.12 [1.19.4]: Title Text (shadow at 0.0)
- 100: Chat display, Recipe book search text
- 200: Item count in hotbar
- 300: Item count in inventory
- 400: Item count while dragging item, tooltip texts, compact potion info
- 0 to 104: Maps (not actually text)
Since maps share the z value with the chat display and a part of the hotbar item count, you can test for Sampler0 having a size of 128 pixels in both directions to test for the face being a map.
- The background nameplate of an entity’s custom name
- Nametag text when seen through walls
- Text display entity text when
see_through:true
nbt is set
- Text display entity background box
- Text display entity background box when
see_through:true
nbt is set
- Behaves like rendertype_text but when TTF font is used in the resourcepack
- See text
- Behaves like rendertype_text_see_through but when TTF font is used in the resourcepack
- See text_see_through
These are shaders that render things that aren't clearly either a block, an entity or a ui element.
Handles a few different things:
- The outline when hovering over a block,
- The debug crosshair,
- The f3+B hitbox displays,
- Previews in the structure block.
The block cracks when mining a block. Has some in-built transparency.
Clouds.
Prior to 24w05a, the shader was not a rendertype and was named position_tex_color_normal
.
The beam of a beacon. Seems to get rendered behind clouds.
These are shaders that exist in the files that we do not currently know the purpose of. More testing is needed for these.
Similar to position_color
, but includes a second sampler for lightmap calculations. Not observed ingame.
Similar to position_color_tex
, but includes a second sampler for lightmap calculations. Not observed ingame.
Removed in 23w18a
View last available version on mcmeta: json • vsh • fsh
Has 2 ins (UV0
and UV2
) and 2 outs (texCoord0
and texCoord2
), no math other than what’s included in most other shaders. Not observed ingame, may only be used as a base.
Removed in 23w18a
View last available version on mcmeta: json • vsh • fsh
Has 3 ins (UV0
, UV1
, and UV2
) and 3 outs (texCoord0
, texCoord1
, and texCoord2
), no math other than what’s included in most other shaders. Not observed ingame, may only be used as a base.
Removed in 23w42a
View last available version on mcmeta: json • vsh • fsh
Unknown.
Removed in 24w21a
Merged with position_tex_color
View last available version on mcmeta: json • vsh • fsh
Was previously used for:
- Fire overlay when the player is burning
- Wall overlay when player is suffocating
Removed in 24w21a
Merged with rendertype_glint
View last available version on mcmeta: json • vsh • fsh
Was previously used for the enchant glint in most situations. Enchanted worn armor was rendered by armor_entity_glint
and glass type blocks were rendered by glint
when in world instead.
Removed in 24w21a
View last available version on mcmeta: json • vsh • fsh
Was unused.