1. Wiki
  2. /Visuals & Lighting
  3. /Texture sets (PBR)

Texture sets (PBR)

Make shiny, glowing and bumpy Minecraft Bedrock blocks for Vibrant Visuals and ray tracing with texture_set.json files: color, MER/MERS, normal and heightmap layers.

A normal texture only has color. A texture set adds extra layers that tell Vibrant Visuals and ray tracing how the surface behaves in light: is it metal, does it glow, is it rough or polished, is it bumpy? This is called PBR (physically based rendering).

In this page you will make the ruby block shine like a polished gem, with a soft inner glow.

The files

The texture set sits right next to the texture it upgrades, with the same name:

Resource pack
RP/
  textures/
    blocks/
      ruby_block.png
      ruby_block.texture_set.json
      ruby_block_mer.png
      ruby_block_normal.png

Unlike the other pages in this section, there is nothing to apply. The game finds ruby_block.texture_set.json because it sits next to ruby_block.png, and uses it wherever that texture shows up.

The texture set file

RP/textures/blocks/ruby_block.texture_set.json
{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "ruby_block",
    "metalness_emissive_roughness": "ruby_block_mer",
    "normal": "ruby_block_normal"
  }
}

Each layer is the name of an image in the same folder, without the file extension.

The layers

LayerRequiredWhat it holds
colorYesThe normal texture: RGB, or RGBA with transparency. The classic look only uses this one.
metalness_emissive_roughnessNoThe MER map. Three channels, see below.
metalness_emissive_roughness_subsurfaceNoThe MERS map: MER plus a fourth channel for subsurface. Use instead of MER.
normalNoA normal map: fakes small bumps and dents using RGB colors.
heightmapNoA greyscale map of bumps: white is high, black is low. Simpler than a normal map.

You can use normal or heightmap, never both.

The MER map

One image, where each color channel means something different:

ChannelMeans0 (black)255 (full)
RedMetalnessNot metal, like stone or woodBare metal, like gold
GreenEmissiveDoes not glowGlows brightly
BlueRoughnessMirror smoothCompletely rough and dull
Alpha (MERS only)SubsurfaceLight stays on the surfaceLight shines through a bit, like leaves or skin

For the ruby: red near 0 (a gem is not metal), green around 40 for a faint glow, and blue around 30 for a polished shine.

Draw it in the same grid

The MER, normal and heightmap images match the color texture pixel for pixel. Paint them at the same size (16x16 for a block) so the shiny and glowing parts line up with the colors.

One value for the whole texture

If the whole block is the same material, skip the extra image and write the values in the JSON:

RP/textures/blocks/ruby_block.texture_set.json
{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "ruby_block",
    "metalness_emissive_roughness": [0, 40, 30]
  }
}

Numbers go from 0 to 255. You can also use hex: "#00281E" for the same MER. A uniform color takes four values (red, green, blue, alpha), and a uniform heightmap takes one.

Rules that break a texture set

If any of these are true, the game skips the texture set and writes an error to the Content Log:

  • There is no color layer.
  • Both normal and heightmap are set.
  • A layer points at an image that is not in the same resource pack.
  • An image has the wrong number of channels. color, MER and normal need 3 or 4 channels, heightmap needs 1.

If the same image name exists as several file types, the game picks .tga first, then .png, then .jpg, then .jpeg.

Texture sets from two packs are never merged. The pack higher in the list replaces the whole set.

Vanilla uses MERS

Vanilla blocks use metalness_emissive_roughness_subsurface with a format_version of 1.21.30, and .tga images so the alpha channel holds subsurface. Copy one from the bedrock samples to see a working example.

No change in game?

Texture sets only show with Vibrant Visuals or ray tracing on. If it still looks flat, add the right capability to your resource pack's manifest.json: "capabilities": ["pbr"] for Vibrant Visuals, or "raytraced" for ray tracing.

Visuals & Lighting: Reference

Fog ·Atmospherics ·Lighting ·Color grading ·Water ·Texture sets (PBR)

We use cookies to improve your experience and analyse site traffic. Learn more