Block Render Layers

File location

(shaderpack)/shaders/block.properties

Block Render Layers changes how blocks' textures are rendered and in what order.

Warning

Blocks which are solid opaque cubes (stone, dirt, ores, etc) can't be rendered on a custom layer as this would affect face culling, ambient occlusion, light propagation and so on.

Properties

layer.solid

Values: List of blocks
Optional

No alpha, no blending (solid textures).

layer.cutout

Values: List of blocks
Optional

Alpha, no blending (cutout textures).

layer.cutout_mipped

Values: List of blocks
Optional

Alpha, no blending, mipmaps (cutout with mipmaps)

layer.translucent

Values: List of blocks
Optional

Alpha, blending, mipmaps (water, stained glass).

Example

layer.translucent=glass_pane fence wooden_door
layer.cutout=oak_stairs
layer.solid=stone dirt

JSON schema

Note

Although this page is .properties based, it can be mapped to JSON.

{
	"$schema": "http://json-schema.org/draft/2020-12/schema",
	"$id": "https://gitlab.com/whoatemybutter/optifinedocs/-/blob/master/schemas/block_render_layers.schema.json",
	"title": "Block Render Layers",
	"description": "The custom block render layers are defined in ``shaders/block.properties`` included in a shader pack.",
	"type": "object",
	"properties": {
		"layer.solid": {
			"description": "No alpha, no blending (solid textures).",
			"$ref": "common.schema.json#/$defs/item_id_list"
		},
		"layer.cutout": {
			"description": "No alpha, no blending (cutout textures).",
			"$ref": "common.schema.json#/$defs/item_id_list"
		},
		"layer.cutout_mipped": {
			"description": "Alpha, no blending, mipmaps (cutout with mipmaps).",
			"$ref": "common.schema.json#/$defs/item_id_list"
		},
		"layer.translucent": {
			"description": "Alpha, blending, mipmaps (water, stained glass).",
			"$ref": "common.schema.json#/$defs/item_id_list"
		}
	},
	"additionalProperties": false
}

Assumes the latest OptiFine version.
Updated to commit 15ef3106.

Last update: 2024 April 20