blockbench-hytale

Create Hytale models and animations using Blockbench MCP tools. Use when working with Hytale character/prop formats, creating attachments, setting shading modes, using quads, or animating with visibility keyframes. Requires the Hytale Blockbench plugin to be installed.

By jasonjgardner · 635 installs

npx skills add jasonjgardner/blockbench-mcp-project --skill blockbench-hytale

Source repository · Upstream listing

Blockbench Hytale Use the shared [modeling](../blockbench modeling/SKILL.md), [texturing](../blockbench texturing/SKILL.md), and [animation](../blockbench animation/SKILL.md) workflows where applicable. Select the Actual Hytale Format Call get capabilities: include tools=true and choose a returned Hytale format ID. Creating a Bedrock project does not activate Hytale. Format Units per world block Use hytale character 64 Characters and attachments, including tools, weapons and cosmetics hytale prop 32 World props, furniture and blocks These numbers describe geometry/texel density, not maximum atlas resolution. Texture width and height may differ and must each be multiples of 32. Match effective UV dimensions to the actual image, and preserve the format's dimension linked face UVs. The official [Hytale art guide](https://hytale.com/news/2025/12/an introduction to making models for hytale) explains density and atlas sizing. Use create project only when a new project is intended. Inspect existing projects before replacing content. For a new static 128×96 Hytale atlas, explicitly match UV and bitmap dimensions (both Hytale formats support per texture UV sizing): The uv width / uv height pair is available in the current source plugin; confirm the loaded tool schema supports it. Creating this image does not pack the model's UVs; follow the texturing skill's native template workflow when a new layout is needed. Geometry and UVs The format supports cubes/quads, joint based groups, stretch, optional box UV and per texture UV dimensions. Use integer base dimensions when following the plugin's default size setting; stretch allows finer visible dimensions while retaining the UV layout. Fractional base dimensions are not categorically impossible, but make UV consistency harder. Exported models have a 255 node limit; exporter folding of a group's main cube affects the actual count. These are format behaviors documented in the [Hytale format source](https://github.com/JannisX11/hytale blockbench plugin/blob/main/src/formats.ts). Normals may be +X , X , +Y , Y , +Z , or Z . Use double sided rendering when both sides should appear. Small stretch changes can fix intersections; the art guide recommends roughly 0.7–1.3 per axis for its style, which is a visual recommendation rather than the MCP schema's validity range. Block in colors before painted volume and fine detail, and avoid unintended noisy grain. Soft brushes are appropriate to Hytale's painted style; pixel perfect drawing is not mandatory. See the [art guide](https://hytale.com/news/2025/12/an introduction to making models for hytale). set cube uv preserves Hytale's autouv=1 and dimension linked rectangle sizes. Move or mirror a face's UVs while retaining its absolute base geometry width/height (swapped for 90/270 degree UV rotation); changing those extents is rejected before Undo. Stretch changes the visible shape, not that base UV size. For the per face torso geo above, its unrotated north face is 16×24: Hytale quads cannot convert to box UV. Texture selection follows an attachment collection or the project default, even when the format reports single texture=false ; non null per face texture assignments are rejected. Inspect effective texture and use the native collection/default texture workflow. See [native element behavior](https://github.com/JannisX11/hytale blockbench plugin/blob/main/src/element.ts) and [attachment texture resolution](https://github.com/JannisX11/hytale blockbench plugin/blob/main/src/attachment texture.ts). Shading hytale set cube properties sets shading mode and double sided ; hytale get cube properties reads them. Accepted shading names are standard , flat , fullbright , and reflective . The exported property is not proof of matching viewport appearance; verify materials in Hytale. Attachments hytale list attachments lists existing attachment collections. hytale set attachment piece marks an existing group; hytale list attachment pieces reads those markers. A piece attaches to a matching base model bone name, so inspect both assets and preserve the required names. Marking a group does not create a collection, configure the game's item, or export a separate attachment. The current tool family lists collections but does not create them. Use the installed plugin's native collection/attachment workflow when needed. The model compiler expects a live Collection for attachment specific export; a JSON string in generic export model.options is not that object. Verify the attachment with the base model and inspect the actual exported nodes. See [Hytale plugin features](https://github.com/JannisX11/blockbench plugins/blob/master/plugins/hytale plugin/about.md) and [model codec source](https://github.com/JannisX11/hytale blockbench plugin/blob/main/src/blockymodel.ts). Animation Hytale animation files use 60 frame units per second. MCP keyframe times are seconds; time=0.5 represents frame 30 at export. Use the animation UUID returned by create animation and existing group names: The examples use tool call pseudocode; bind draw.uuid to the returned UUID. Visibility changes need initial states as well as transition keys. For swapping two representations, key both at the same time. Hytale uses quaternion interpolation and wraps looping clips. For full turns use intermediate orientations with less than 180 degrees between keys, and preview the direction and loop seam. Native UV offset channels exist, but the current MCP family has no dedicated UV offset keyframe tool. The upstream .blockyanim exporter writes holdLastKeyframe , and maps Catmull Rom to smooth and other interpolation to linear. The editor's once , step or Bezier state therefore does not establish equivalent runtime playback. Verify the actual export and target behavior. These details come from the [animation codec source](https://github.com/JannisX11/hytale blockbench plugin/blob/main/src/blockyanim.ts). Validation and Export 1. Inspect UV/bitmap dimensions, texture assignments, stretch and geometry in relevant poses. 2. Run hytale validate model , then inspect its issues and scope . The current implementation counts nodes in the installed blockymodel compiler's main model output and checks that both texture dimensions are positive multiples of 32. It reports main model node count and texture dimensions ; attachments and full engine compatibility need separate checks. Older bundles used heuristic node counts and incorrect density based texture checks, so discover/reload the current build before relying on this result. 3. Discover list export formats ; use the registered blockymodel codec for an intended model export. The texture image is a separate deliverable. 4. Export animations through the installed plugin's native animation workflow. Upstream provides the export blockyanim action; do not invent a blockyanim model codec when discovery does not return one. Complete any resulting native save dialog through the authorized UI workflow. 5. Reopen a copy or inspect the runtime asset when available. Report whether texture, attachment, shading, interpolation and loop behavior were actually checked in Hytale. Resources include hytale://format , hytale://attachments/{id} , hytale://pieces/{id} , and hytale://cubes/{id} . Technical references checked 2026 09 13; the running Hytale plugin version remains authoritative for available behavior.