Skip to content

Releases: zkonikishi/Minecraft-Blockbench-MCP

Alpha 9 — Upstream refresh, wings and display tools

Choose a tag to compare

@zkonikishi zkonikishi released this 13 Sep 04:53

Alpha 9 — upstream refresh

  • Jason: b187b4b056f0efafcc573335400ecbb21ad26ecc (v1.7.0).
  • sosadly: 09ea5c6e8ffed8c5cc1b68b72f86abfe300dd592.
  • SwagRee unchanged: b99e581d48f997d3763e827aef34eede0456574b.

Display transforms, procedural wing generation and refreshed rig/animation helpers
are available through the existing prefixes. Keyframe writes now use per-axis
values (including nonuniform scale and zero edits); texture creation preserves
render settings; asynchronous codecs are awaited before export serialization.
anim_export_model requires desktop filesystem access and is excluded from Web.

The original upstream bridge is not started. Our authenticated loopback relay,
Web origins, single-editor ownership and serial execution queue remain in use.
The extracted animation state has its own namespace. Script execution checks the
integration's Advanced setting at execution time and is hidden by default.
anim_request_review, anim_wait_review, and anim_ask_user require the original
Copilot panel, which is not bundled; they are excluded on both platforms. Use the
MCP client conversation for review. Imported upstream guides can mention these
excluded tools; the actual tool catalogue takes precedence.

Validation: typecheck/build and 51 integration tests passed, including new async
export, independent scale-axis/zero-edit and Advanced-setting regressions.
48 original sosadly bridge/generator tests passed, including wing continuity,
mirroring and fly-cycle behaviour. The existing SwagRee test suite also passed.
These automated tests do not establish graphical Minecraft client rendering or
new BetterModel, ModelEngine or CraftEngine server acceptance.

Live Web acceptance: Alpha 9 returned 235 default tools; all three display tools
and anim_add_wing were present, restricted tools were absent, and
mc_get_workflow executed successfully. No model was open or changed.

Alpha 10 — Offline YSM recovery

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 13 Sep 05:51

YSM 离线恢复(Alpha 10)

.ysm 恢复为可编辑 .bbmodel,同时保留解析得到的 JSON、PNG、控制器等原始资源及恢复报告。无需启动 Minecraft、YSM Mod 或 Blockbench。只在可选导入编辑器时需要 Blockbench。

CLI

node scripts/convert-model.mjs --identify "D:/models/example.ysm"
node scripts/convert-model.mjs "D:/models/example.ysm" "D:/models/recovered-example"
# 指定解析资源中的贴图路径;不指定时优先 normal.png
node scripts/convert-model.mjs "D:/models/example.ysm" "D:/models/recovered-alt" "textures/alternate.png"

输出目录必须不存在,父目录须已存在。每个几何文件单独输出 bbmodel,assets/ 保留全部提取资源,recovery-report.json 记录输入 SHA-256、数量、贴图选择和遗漏。失败时不会覆盖旧输出或修改源文件;写入阶段失败可能留下部分新目录,应先检查报告和文件。

MCP

  • mc_ysm_inspect({data}):传入 .ysm 字节的 Base64,返回容器头、大小和 SHA-256;不是完整有效性验证。
  • mc_ysm_recover({data, texture?}):返回 models(filename/model)、assets(path/Base64 data)与 report。纯计算,不自动写文件。
  • 可选调用 mc_import_bbmodel({model: result.models[0].model}) 导入一个恢复工程。

两个 YSM 工具由本地 relay 提供,即使编辑器断开也可以使用。工具数量以 tools/list 为准,编辑器 mc_status.toolCount 不包含这两个离线工具。

范围与限制

  • 使用 MIT 许可 OpenYSM/YSMParser v0.3.5 的原始 Web WASM 发行文件;源码版本和文件 SHA-256 见 vendor/ysmparser/provenance.json。没有复制其他 AGPL 恢复器。
  • WASM 在独立 worker 的内存文件系统解析;每次调用单独初始化,不加载模型中的脚本,也不通过模型路径读写主机文件。单文件输入最多 32 MiB,提取资源最多 128 MiB / 2048 项,解析最长 30 秒;relay 同时只接受一个恢复请求。这不是操作系统级沙箱。
  • 转换 Bedrock 1.12+ 立方体几何、层级、定位点、逐面/箱式 UV、内嵌 PNG,以及骨骼关键帧、pre/post、插值和非均匀缩放。源描述信息随工程保留。
  • 多贴图默认只选择一张,其他贴图保留为资源;复杂材质、网格、模型配置绑定、控制器、音效、粒子与运行时变量不能保证等价重建。遗漏写入报告。Molang 保留表达式,不在离线阶段求值。
  • 动画按骨骼名字匹配到每个工程,未匹配骨骼明确报告,完整动画源文件保留。不能把动作数当成行为已全部复原。
  • 只验证了本地 V1、V2、BOM V3 各一个代表样本,不宣称覆盖所有版本或全部模型。源于顶点数据的重建不保证恢复作者原始参数,不承诺无损。
  • 样本没有打包到 GitHub 或发布资产中。请自行确认模型的使用和分发授权。

验证

三类容器各一个样本通过解析和 bbmodel 生成。一个 V2 样本在 Blockbench Web 5.1.6 原生导入成功:9 个元素、1 张贴图、12 个动画、436 个关键帧,编辑器中可见带贴图的模型。此记录不代表 Minecraft 客户端、YSM 游戏内行为或所有动画已验收。

整合测试覆盖坐标/UV、隐藏面、关键帧 pre/post、非均匀缩放、错误层级、坏输入、制品哈希,以及已有 MCP/引擎工具回归。另用无编辑器连接的隔离 MCP 服务实测 mc_ysm_recover 成功。

Minecraft Blockbench MCP 0.1.0-alpha.8 — CraftEngine

Choose a tag to compare

@zkonikishi zkonikishi released this 09 Sep 03:09

CraftEngine integration — Alpha 8

The profile targets CraftEngine 26.8.2, matching the inspected Beta installation. CraftEngine remains responsible for resource-pack generation, hosting and sending; the MCP creates content for that pipeline. Existing delivery credentials and settings are not modified.

Tools

  • mc_craftengine_profile({}): capabilities, limits and official references.
  • mc_craftengine_export(...): returns a file manifest for a CE content pack. It accepts a supplied bbmodel or compiles the active project without changing it.
  • mc_craftengine_pack_plan(...): returns two additive merge-list values. Preserve the surrounding resource-pack section, especially delivery and conflict handlers.

Static item or furniture

Use a Java Block/Item project with per-face UV and embedded PNG textures. Generic animated creature projects are rejected instead of being flattened silently. Group rotations, mesh elements, missing textures and incompatible legacy rotations must be resolved in an export copy first.

{
  "namespace": "my_pack",
  "id": "lamp",
  "pack": "my_blockbench_assets",
  "material": "paper",
  "display_name": "Lamp",
  "renderer": "blueprint",
  "furniture": true,
  "translation": [0, 0.5, 0],
  "hitbox": {"width": 1, "height": 1}
}

The manifest contains pack.yml, blueprint/lamp.bbmodel and configuration/lamp.yml. CE converts the blueprint, writes textures and creates the item-model mapping. .yml files intentionally use JSON syntax, accepted by CE's YAML loader. translation and hitbox dimensions use Minecraft blocks; model coordinates use Blockbench units. A hitbox is optional and is for interaction, not a solid collision block. Furniture currently creates a ground placement variant.

Save the returned manifest as JSON, then use the included installer:

node scripts/install-craftengine-pack.mjs manifest.json 'D:/server/plugins/CraftEngine/resources'
node scripts/install-craftengine-pack.mjs manifest.json 'D:/server/plugins/CraftEngine/resources' --apply

The first invocation is a dry run. The installer refuses an existing destination, duplicate or escaping paths and malformed manifest content. Use a distinct pack directory or review existing content before merging an update. It stages outside the resource directory and installs the complete directory. It never invokes a server command. After installation, ce reload all rebuilds models and textures using the server's existing delivery settings; ce reload config alone does not rebuild the pack.

Animated furniture

{
  "namespace": "my_pack",
  "id": "dragon_statue",
  "pack": "my_engine_furniture",
  "renderer": "modelengine",
  "engine_model": "dragon",
  "furniture": true,
  "hitbox": {"width": 2, "height": 3}
}

renderer: "bettermodel" is also supported. These create references to existing engine models, not embedded creatures. The inventory icon uses the base material. Install/export the model through its engine first; the manifest reports that dependency. Runtime playback, AI, skills and engine availability are not certified by generating this configuration.

Keep CE as the pack sender

{
  "existing_folders": ["MythicMobs/generation/resource_pack"],
  "existing_zips": [],
  "add_folders": ["ModelEngine/resource pack"]
}

Pass this to mc_craftengine_pack_plan. It preserves and deduplicates existing entries. Paths are relative to the server's plugins directory and are not read or verified by the Web plugin. Merge a generated folder or its ZIP once, not both; inspect collisions with packs already merged. No automatic Beta configuration edit is performed.

Acceptance and boundaries

On 2026-09-09, an isolated copy using Beta's Paper 26.2-121 and CraftEngine 26.8.2 loaded the generated item/furniture definition, ran ce reload all, and completed generation, validation and compression. The final ZIP contains the expected assets/mcp_ce/models/item/test_cube.json, assets/mcp_ce/items/test_cube.json and assets/mcp_ce/textures/item/test_cube.png. The test server exited normally. External hosting/upload was disabled in the isolated test only.

Live Web MCP calls returned 211 tools and Alpha 8, exported the manifest and produced the merge plan while retaining the active model UUID. Unit coverage includes loss detection, engine renderer references, additive merge plans, installer traversal/collision rejection and exact installed file bytes. A graphical Minecraft client, live Beta upload and external-engine furniture rendering are separate acceptance steps and are not claimed here.

References

Minecraft Blockbench MCP 0.1.0-alpha.7

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 09 Sep 02:52

Alpha 7: native CEM/JEM import

mc_import_cem({model: <parsed JEM JSON>, name?: "file_stem"}) creates a new OptiFine entity project through Blockbench's native codec. Existing tabs remain open. The result identifies the new and previous project and reports element/group/texture counts.

All texture properties are removed from a cloned input, including nested textures. External JPM model references are rejected: inline the geometry first. baseId, singular submodel, sprites and _is_jpm are unsupported and rejected. No supplied filesystem path is passed to the codec; no new script execution capability is exposed. The importer validates dimensions and hierarchy limits before creating a project. On codec failure, focus returns to the old project and partial imports remain available for inspection.

This is native geometry/UV conversion, not a CEM animation translator or a guarantee of OptiFine runtime equivalence. Add embedded textures separately. Export with mc_export_bbmodel({target:"both",allow_errors:true}) for diagnostic conversion: a textureless OptiFine project is not an engine-ready creature. The exported format remains optifine_entity; perform deliberate target conversion and audit downstream. Native codec conventions and limitations apply.

Validation on Blockbench 5.1.6: 40 tests, typecheck and build passed. Live authenticated SDK returned 208 Web tools / Alpha 7. A supplied zombie JEM imported as 7 cubes and 7 groups with 64x64 resolution, zero textures, and exported successfully as bbmodel. Root and part texture paths were removed. Previous project retained; migration candidates were not changed.

Upgrade plugin and relay together. Dependencies and vendored sources are unchanged from Alpha 6.

Minecraft Blockbench MCP 0.1.0-alpha.6

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 09 Sep 02:42

Alpha 6 — 2026-09-09

  • Add mc_import_bbmodel: parsed JSON through the native project codec into a new tab, retaining existing projects. Textures must be embedded PNGs; external texture paths are ignored.
  • Reconnect after unexpected bridge loss with bounded backoff; manual disconnect and policy rejection do not retry.
  • Raise bridge response capacity from 16 MiB to 128 MiB for large animated model exports.
  • Preserve explicit null (disabled) faces through cube creation and UV updates.
  • Fit screenshots to rendered animated cube positions; exclude hidden geometry and collapsed zero-scale parts.
  • Require boolean animation.override for ModelEngine/both audits. Missing or invalid values return ANIMATION_OVERRIDE and ok:false; the audit does not change the model. BetterModel-only audits are exempt.
  • Include the local Web host bootstrap for plugin persistence after reload. The local supervisor remains installation-specific; it is not an OS startup service.

Validation: typecheck, 39 regression tests and build passed. Live authenticated SDK initialize/list/status returned version 0.1.0-alpha.6, Web mode and 207 tools after plugin replacement and relay restart. Existing editor projects were retained. Prior BetterModel 3.4.1 / ModelEngine R4.1.1 server acceptance remains documented separately; this release does not claim a fresh graphical Minecraft acceptance run.

Upgrade both the Blockbench plugin and relay source, then restart the relay. The release ZIP includes plugin, relay, package lock, documentation and licenses; install pinned dependencies with npm ci. Existing credentials can be reused. No dependency versions or vendored upstream revisions changed in this release.

Minecraft Blockbench MCP 0.1.0-alpha.5

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 08 Sep 14:30

Fix generated primary hitboxes having a zero eye-height pivot. Creature scaffolds now use positive scaled eye heights; mc_convert_hitbox accepts eye_height for primary boxes and preserves cube dimensions. Static ModelEngine validation reports nonpositive primary pivots.

Validated with 33 tests, the 44-call live Web workflow, and a real Paper 26.2 / ModelEngine R4.1.1 re-import. The previous eye-height warning disappeared; resource pack generation and 16 item_display entities passed without client protocol errors. The accepted target is the existing Beta server: byte-identical Paper 26.2 build 121 and ModelEngine R4.1.1 were subsequently verified with model import, resource pack generation, 16 display entities and normal shutdown. Graphical client rendering and the full Beta plugin composition are not claimed; see docs/RUNTIME-ACCEPTANCE.md.

Minecraft Blockbench MCP 0.1.0-alpha.4

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 08 Sep 13:25

Alpha 4 acceptance — 2026-09-08

The installed Blockbench 5.1.6 desktop application sends Origin: file:// for its WebSocket bridge. Alpha 3 rejected that origin before authentication. Alpha 4 accepts this exact local-file origin while retaining loopback Host checks, token authentication and rejection of untrusted HTTPS origins. Updating only the editor plugin does not fix an old running relay: restart the relay after updating its source.

Verified

Surface Result
Installed Blockbench 5.1.6 / Electron 40.10.6 Real MCP initialize, tools/list (218 default tools), read calls and 44 authoring calls passed
Desktop authoring Geometry, UV, transforms, Undo/Redo, mirror animation, instructions, IK authoring, collections, engine variant exports and captured preview passed
Web Blockbench 5.1.6 Alpha 3's same authoring implementation passed 44 calls, 206 tools; Alpha 4 changes the relay origin allowance and version metadata
Paper 26.2 build 92 + ModelEngine R4.1.1 Exported workflow fixture imported; resource pack generated; summon emitted 16 item_display entities to a native 26.2 protocol client
Paper 26.2 build 92 + BetterModel 3.4.1 Exported workflow fixture imported; resource pack generated; spawn/walk test emitted 40 item_display entities and entity updates
Protocol client Native Mineflayer 26.2 login, no protocol error events in either engine run
Resource packs BetterModel: 5,604 JSON files and 307 PNG entries; ModelEngine: 46 JSON files and 2 PNG entries. Every JSON entry parses
Regression 32 tests, including real SDK transport and authenticated desktop-origin regression, passed

Each engine ran separately on loopback port 29566 in a fresh test directory. Both servers stopped normally with exit code 0. No production plugins, worlds or port 25565 were changed. Third-party commercial jars and generated Minecraft assets are not distributed in this repository.

Limits and observed warnings

This proves authoring, engine import, pack structure and delivery of display-entity packets. A headless protocol client cannot certify pixels rendered by Minecraft, GPU/shader behavior, every special bone behavior or the meaning of every animation keyframe. Static audit still returns runtimeVerified: false for arbitrary user models.

The available ModelEngine jar identifies itself as R4.1.1, not an identified Dev build. Its result cannot certify a different or future Dev artifact. BetterModel was downloaded from the official 3.4.1 GitHub release.

ModelEngine warned that the test fixture's eye height is below zero. It also attempted skin lookup for the offline test account and reported Skin URL is null; this did not prevent model display packets. The Windows performance-counter warning came from Paper/OSHI. These warnings were retained, not classified as a clean full-game acceptance.

Reproduce desktop acceptance

Launch the installed application with an isolated --userData directory and --remote-debugging-port=39803. Set BLOCKBENCH_TEST_DIR and MINECRAFT_BLOCKBENCH_PLUGIN_FILE to absolute output/plugin paths, then run:

node scripts/desktop-acceptance.mjs --confirm-isolated-desktop

This uses the installed Electron application, temporarily starts an authenticated relay on 39802, installs the plugin in the test profile and creates a disposable model. It does not drive an existing user project. The report is desktop.json; model exports and preview are under workflow-live/. Close the isolated application when finished. Port 39803 is for local test instrumentation only.

Minecraft Blockbench MCP 0.1.0-alpha.3

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 08 Sep 13:06

Minecraft creature authoring now exposes Blockbench 5.1 workflows directly through MCP. Alpha 3 adds 16 tools (206 in default Web mode), so agents can mirror gait clips, preserve rest transforms while reparenting, build and convert native bounding boxes, author IK controls and ModelEngine instruction keyframes, configure UV/flipbook settings, and export component models with independent engine audits.

  • Native live mirror settings, numeric/Molang/Bezier authoring, exact pose/texture preview and model-space inspection.
  • Collections preserve ancestors and filter unrelated animation tracks. Separate engine exports omit editor-only bounding boxes without silently flattening curves or rewriting engine tags.
  • AnimationCodec discovery/compilation and dedicated ModelEngine script read/upsert/delete.
  • Auto-connect on plugin load; replacement drains the previous MCP queue and releases old actions/socket while retaining local credentials.

Validation: typecheck, 31 regression/lifecycle/protocol tests, 69 selected upstream tests, real official-source Blockbench 5.1.6 Web verification (44 tool calls plus screenshot), and a native Bedrock animation-codec compile. World transforms under a rotated parent, Undo/Redo, mirrored loop seams, scripts and exported texture settings were asserted.

Editor authoring support is implemented. Actual Desktop execution, BetterModel/ModelEngine server import and resource-pack/client behavior, and exact ModelEngine Dev-build certification remain unverified. Scripts are saved, never executed by this MCP. Web file-plugin persistence follows Blockbench's own behavior.

Source: abc88fa

Minecraft Blockbench MCP 0.1.0-alpha.2

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 07 Sep 06:16

Minecraft Blockbench MCP 0.1.0-alpha.2

按用户提供的 ModelEngine 官方 Wiki 扩展建模适配。

  • 骨骼行为助手扩展为 25 种选项:物品挂点、名字牌、牵引点、分段/尾巴、玩家肢体等;支持 11 种细分 limb_type
  • 保留骨骼 UUID;重复调用不叠加标签;检查去标签后的 ID 冲突和不合适的直接几何。
  • 补充 AABB 尺寸检查,同时允许矩形 OBB。
  • 新增 mc_modelengine_features,分别报告已实现、仅参考、未验收的能力。

21 项本地整合/协议/回归测试通过。新增骨骼操作通过模拟编辑器验证;真实编辑器与服务器内运行尚未补测。

Wiki 是适配依据,不是具体 Dev 构建的认证。脚本关键帧、运行时皮肤/挂载、服务器 API 仍未提供专项实现。不要把所有 Wiki 特性或所有 Dev 构建视为已支持。

下载 ZIP 获取插件及许可证;本地 Node 服务仍需按 README 配置。升级前断开并卸载旧插件,再安装新文件;同时更新仓库里的 Node 服务代码。

Minecraft Blockbench MCP 0.1.0-alpha.1

Pre-release

Choose a tag to compare

@zkonikishi zkonikishi released this 07 Sep 05:49

Minecraft Blockbench MCP 0.1.0-alpha.1

首个公开 Alpha:将 Jason J. Gardner、SwagRee、sosadly 三个 Blockbench MCP 的选定工具实现合并为统一插件与本地 MCP 服务,面向 BetterModel / ModelEngine 生物制作。

  • Desktop/Web 共用插件;建模、UV、像素贴图、骨骼关键帧及视角预览工具。
  • Minecraft 项目、生物草模、状态动画槽、引擎骨骼标签与静态兼容性检查。
  • 通过原生项目编码器导出内嵌纹理 .bbmodel
  • 本地 token 认证、串行执行队列、默认关闭高级脚本和通用 UI/插件管理工具。
  • 保留三个上游的源代码快照、许可和哈希记录。

下载 ZIP 获得插件及许可证。从 Blockbench“文件 → 插件 → 从文件加载插件”加载 minecraft_blockbench_mcp.js。本机 Node relay 和 token 配置步骤见仓库 README;Web 版也需要本机服务。

验证:18 项整合/协议/回归测试与 69 项选定上游测试通过;GitHub CI 的 Windows/Linux × Node22/24 全部通过。官方 Blockbench 5.1.6 源码本地 Web 测试完成三工具家族协作、草模、UV/纹理、idle 关键帧、截图及导出。

当前边界:官网 HTTPS 连接流程、桌面版运行、BetterModel/ModelEngine 服务器导入、资源包与 Minecraft 客户端尚未验收。静态检查不是游戏内兼容认证,生物草模及空动画槽也不是成品。请在卸载旧插件后升级,避免重复加载。

对应源代码随本标签提供。项目为 GPL-3.0-only,第三方代码保留各自通知。