TEXTURE SETS DOCUMENTATION
Version: 1.16.200.53

This is documentation for a beta release of Minecraft. New features, components, and capabilities in this release are not final and might change without notice before the final release.
Be sure to check the documentation once the release is out of beta if your add-on isn't working properly. Resource and Behavior Packs created for the beta are not guaranteed to work on the final release.

Index

Texture Sets
Physically Based Rendering
Texture Set Json Schema
Back to top

Texture Sets

All things related to texture sets here.

Physically Based Rendering

Physically Based Rendering

Minecraft with RTX uses a Physically Based Rendering (PBR) material model. This uses more texture data than simply 'color' to enable richer, more realistic materials.

With a PBR material model, you can have materials that have different specular reflections, emissiveness and normal maps which is currently not possible in Vanilla Minecraft.

For PBR rendering, we'll need a few layers out of the box:
- Color.
- Color_unlit.
- Normal.
- Metalness
- Emissive.
- Roughness.
- Metalness_emissive_roughness
- Heightmap.

Name Type Default Value Description
Color It's the only texture needed by the Vanilla pipeline, and it can be used by PBR pipelines if 'color_unlit' is missing.
Color_unlit When using a PBR pipeline, 'color_unlit' will be picked over 'color', so the creator has a chance to provide a base texture with baked lighting and a PBR one without.
Normal A 3-channel normal. It can be replaced by `heightmap`.
Metalness A single channel metalness texture. If needed, it gets combined with the others.
Emissive A single channel emissive texture. If needed, it gets combined with the others.
Roughness A single channel roughness texture. If needed, it gets combined with the others.
Metalness_emissive_roughness A 3-channel texture equivalent to 'metalness', 'emissive', and 'roughness' layers. If needed. it gets split in individual channels.
Heightmap Ultimately, the underlying material decides whether it wants to use the normal or the heightmap so the artist should be aware of that.
Back to top

Texture Set Json Schema

Texture Set Json Schema

```
--------
{
version "format_version"
object "minecraft:texture_set"
{
color "color" : opt // Fill RGBA channels of a textureset layer with the specified values in an array or hex string
string "color" : opt // The texture name of a textureset layer
color "color_unlit" : opt // Fill RGBA channels of a textureset layer with the specified values in an array or hex string
string "color_unlit" : opt // The texture name of a textureset layer
color "normal" : opt // Fill RGB channels of a textureset layer with the specified values in an array or hex string
string "normal" : opt // The texture name of a textureset layer
string "heightmap" : opt // The texture name of a textureset layer
color_channel "heightmap" : opt // Fill all image channels of a textureset layer with an integer value in the range [0, 255], or a hex string started with '#'
color "metalness_emissive_roughness" : opt // Fill RGB channels of a textureset layer with the specified values in an array or hex string
string "metalness_emissive_roughness" : opt // The texture name of a textureset layer
color_channel "metalness" : opt // Fill all image channels of a textureset layer with an integer value in the range [0, 255], or a hex string started with '#'
string "metalness" : opt // The texture name of a textureset layer
string "emissive" : opt // The texture name of a textureset layer
color_channel "emissive" : opt // Fill all image channels of a textureset layer with an integer value in the range [0, 255], or a hex string started with '#'
string "roughness" : opt // The texture name of a textureset layer
color_channel "roughness" : opt // Fill all image channels of a textureset layer with an integer value in the range [0, 255], or a hex string started with '#'
}
}

----------
```
Back to top