blockbench-pbr-materials
Create and manage PBR (Physically Based Rendering) materials in Blockbench using MCP tools. Use when working with texture_set.json files, creating normal/height/MER maps, configuring material properties for Minecraft Bedrock RTX, or setting up multi-channel texture workflows.
By jasonjgardner · 646 installs
npx skills add jasonjgardner/blockbench-mcp-project --skill blockbench-pbr-materials
Source repository · Upstream listing
Blockbench PBR Materials
Use get capabilities to inspect the active project and registered format features, including pbr . Check list textures and list materials before assigning existing assets. Texture and material references accept names or UUIDs; prefer returned UUIDs when names overlap.
Tools and Parameter Names
Tool Parameters used in this workflow
create pbr material name , color texture , normal texture or height texture , mer texture , color value , mer value , subsurface value
configure material material plus the same channel/value fields; a texture field set to "none" clears that channel
assign texture channel material , texture , channel
list materials No parameters
get material info material
import texture set path ending in .texture set.json
save material config material ; output path is derived from the saved color texture
These are flat tool arguments. Do not wrap channels in textures or settings in config , and do not use material id , texture id , or output path for these PBR tools.
Channel and Value Rules
Channel Texture data Uniform alternative
color Base color/albedo RGBA color value: [R, G, B, A] , each 0–255
normal Tangent space RGB; neutral normal is 8080FF None
height Grayscale height, dark low to light high None
mer R=metalness, G=emissive, B=roughness mer value: [M, E, R] , each 0–255
Use normal or height in one material. To change between them, remove the old channel in the same configure material call.
Use a separate texture for each assigned channel. Replacing a channel detaches its old texture from the material; it does not delete the image.
Uniform values require no texture assigned to that channel; supplying them while a map remains assigned returns an error. Remove a MER map with mer texture="none" when switching to mer value .
A MER texture requires a color texture in the current Blockbench preview. For uniform color, use uniform MER too.
Moving a texture to another material changes its group. When moving a color texture away, clear or move its source material's MER texture first so the source remains valid.
subsurface value is one number from 0–255; it is not an RGB object. Game/export support depends on the target.
Create a Material
layer name is required whenever create texture supplies fill color . Retain material.uuid from the create response and use its value in subsequent material arguments. The names above work when unique. This example uses a matte nonmetal MER value; 230/255 is approximately 90% roughness.
Edit and Replace Channels
Replace a normal map with another already created normal texture:
Switch from normal to an already created height map in one call:
The referenced replacement texture must exist; discover its UUID with list textures . Use get material info afterward to verify the new assignment. These project edits are recorded for the dedicated undo / redo tools; undoing a channel replacement restores both the replaced and incoming texture's assignments.
Uniform Properties
With an existing material named stone , clear any MER map before setting uniform values:
Appearance mer value example
Matte stone [0, 0, 230]
Smooth metal [255, 0, 64]
Smooth dielectric [0, 0, 13]
Emissive nonmetal [0, 255, 204]
To use uniform color, clear both the color and MER textures in the same call:
Paint and Assign a MER Map
Create a MER texture and assign it together with the material's color texture:
A brush color writes all RGB channels. Encode the properties you intend to preserve in that color instead of assuming a red or green brush isolates one channel.
Inspect, Import, and Export
Import needs a readable file and its referenced images on the Blockbench desktop host. Inspect the imported material before editing it.
For export, first save the color image through Blockbench so it has a valid file path. get material info exposes config.file path and a texture set json preview. The save tool derives the .texture set.json destination from the color image; it does not take an arbitrary output path:
New textures created only in memory do not have a save path. When the user only needs the JSON content, use the get material info preview. Saving a material config writes a disk file and is separate from undoable project edits. Verify the appearance in the intended game/rendering environment when that is part of the requested deliverable.