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.