游戏日志,就在输出面板里
引擎与脚本系统分流,日志实时更新并按类型染色。搜索、复制、清空与滚动锁定,都是熟悉的 VS Code 操作。
>_ 我的世界中国版 · 命令行开发工具
用 Python 标准项目与依赖管理方式开发《我的世界》中国版 Mod 和资源包。依赖、构建、打包、进游戏测试都是一条命令,AI Agent 也能自己搭环境、跑游戏、操作和截图验收。
Nightly · Android 11+ · ARM64;首次使用需在 App 内安装游戏运行环境。
01 为什么需要它
mcpywrap 继续使用 MC Studio 的引擎与编辑器,把它们接进命令行、包管理和自动化测试。
MC Studio 只能在图形界面里点
25 个公开命令,统一 --json 输出与退出码,脚本和 AI 都能调用
没有包管理,公共代码靠复制粘贴
pyproject.toml 声明依赖,Git 依赖锁定提交,克隆后 mcpy sync 即恢复
官方开发环境只支持 Windows
Apple Silicon Mac 原生运行本地 Addon 世界,首次运行自动准备资源
每次测试都要手动进游戏点
AI 可以自己启动游戏、执行游戏内 Python、操作玩家与 UI、截图、热更
资源预生成、表格转 JSON 只能手工跑
生命周期脚本在构建、打包、启动前自动执行
服务端开发缺少能自动化的客户端
mcpy connect 连接指定服务器,复用会话、Python、输入与截图
02 AI 自主测试闭环
从启动世界到热更代码,每一步都是一条返回 JSON 的命令。AI Agent 可以自己观察画面、操作玩家、截图,再在游戏里执行 Python 读回结果。
启动本地世界并立即返回会话,后续命令复用同一个 session。
mcpy run --no-gui --detach --jsonHUD 下返回玩家位置、朝向、物品和准星目标;菜单下返回语义 UI 树。
mcpy runtime input observe --session <sid> --json提交 JSON 输入计划:走路、视角、攻击、点 UI。completed 只代表流程完成,效果要再观察。
mcpy runtime input run --session <sid> --file plan.json --json后台截取游戏内容区,不抢前台;窗口被遮挡也能截。
mcpy screenshot --session <sid> --background-only --output shot.png --json在游戏服务端执行 ModSDK Python,读回业务状态做断言。
mcpy runtime py --session <sid> --side server --file check.py --json不重启游戏替换模块;已有对象和回调不会重建,改结构时重新部署并重载世界。
mcpy runtime reload python --session <sid> --module MyMod.server.logic --side server --json边界:completed 只代表控制流程完成,效果需要再观察;Python 热更替换模块,不重建已有对象和回调。游戏仍需要图形会话和 GPU。
03 VS Code 游戏测试工作区
准备 ModSDK 自动补全,管理项目与测试世界,直接从编辑器启动游戏。 日志实时进入原生输出面板,Python 片段直接在游戏中执行,让修改与验证紧挨着发生。

引擎与脚本系统分流,日志实时更新并按类型染色。搜索、复制、清空与滚动锁定,都是熟悉的 VS Code 操作。
选择会话与客户端或服务端,执行选区或无需保存的独立草稿,在输出面板读取游戏回执。保存项目模块后,也可手动热更。
确认当前文件使用的 Python 环境,安装或切换 ModSDK 补全库。配合 Pylance,在普通 Python 文件中获得 API 提示与代码跳转。
自动识别多项目与嵌套项目,在侧栏选择测试世界、查看会话和联调组。从编辑器右上角运行当前项目,继续测试。
支持 Windows / Apple Silicon macOS 本机开发。扩展与 mcpy CLI 配合使用。
插件源码 ↗04 Android 手机开发
mcpy Android 是面向《我的世界》中国版模组开发的手机源码工作台:创建或导入作品,编辑 Python / JSON,构建并启动真实游戏测试。
手机本地开发工作台
创建作品、编辑源码、构建运行、查看日志。游戏显示在小窗里,开发界面继续可用;不用电脑,也能完成一次真实的修改与验证。




直接改源码
实时调试
作品管理
外部工具
05 依赖管理
在项目中声明需要的前置组件和开发框架,统一管理本地 Addon、Git 依赖和 QuMod。 添加时固定所用的代码提交,队友克隆项目后用 mcpy sync 恢复同一套依赖,打包时自动组装代码与资源。
这是你的商店玩法项目,负责商品和购买流程。接下来为它加入提供金币功能的经济前置组件。
运行这条命令,把已有的经济组件加入商店项目。先看这一层关系:商店玩法依赖经济组件。
mcpy add --git <经济组件仓库URL> --dep-name economy --json示例中的经济组件在配置中声明了 QuMod 依赖。mcpywrap 继续准备这一层前置,无需再手动执行一条添加命令。
将经济组件和 QuMod 所用的代码提交记录到依赖锁文件中,后续同步就能恢复同一套依赖。
队友拿到商店项目后运行 sync,就能恢复项目里声明的经济组件和 QuMod,不用逐个找仓库、下载和拷贝。
mcpy sync --json把商店玩法、经济组件和 QuMod 的代码与资源按规则组装成一个 ZIP,不用发布前再手动拼包。
mcpy package --json商店玩法组件:商品、购买流程
↓ 依赖
经济前置组件:金币余额、扣款
↓ 依赖
QuMod:玩法开发框架游戏前置,要作为组件加入
这里假设经济 Addon 本身基于 QuMod,并在配置中声明了这项依赖;玩法项目只需加入经济组件。mcpy add package-name 安装的普通 Python 包只供开发工具使用,不会自动进入游戏。
06 macOS 原生
ARM64 + Metal 原生运行:游戏直接运行在 Apple Silicon 上,使用 Metal 图形后端,无需 CPU 指令转译、Wine 或 Windows 虚拟机。 支持 macOS 13.0+,首次 run 自动准备原生运行包与开发者 APK。后台截图直接读取游戏渲染帧,无需屏幕录制授权。

| 功能 | Windows | macOS |
|---|---|---|
| 依赖管理、构建与打包 | 支持 | 支持 |
| 本地 Addon 世界与世界参数 | 支持 | 支持 |
| client / server Python、热更与 JSON UI 重载 | 支持 | 支持 |
| 统一输入与后台截图 | 支持 | 支持 |
| 连接无认证服务器 | 支持 | 支持 |
| 项目界面与日志小窗 | 支持 | 支持 |
| Map 本地运行 | 支持 | 暂不支持 |
| 录屏与视频提帧 | 支持 | 暂不支持 |
| 原始桌面键鼠 | 支持 | 暂不支持 |
| MCEditor 与 MCS 登录身份 | 支持 | 暂不支持 |
| 本地主客机双客户端 | 支持 | 暂不支持 |
以上对比本机能力,本地主客机联调需手动加入局域网世界。跨平台远程操作见 远程执行。
07 生命周期脚本
在构建、打包、启动前自动运行项目自己的生成器:策划表转 JSON、处理贴图、校验资源。脚本在宿主机运行,失败或超时会中断本次操作。
只读列出项目定义的脚本与钩子,不执行任务。
mcpy script list --json构建前先跑 before_build:策划表变成 JSON,再进入组装。脚本失败会中断构建。
mcpy build --json[tool.mcpywrap.scripts.assets]
python = "tools/assets.py"
args = ["--quality", "development"]
timeout = 120
[tool.mcpywrap.hooks]
before_build = ["assets"]
before_package = ["assets"]
before_run = ["assets"]| 操作 | 执行 |
|---|---|
build | before_build 一次,然后组装 |
package | before_package 一次,组装后可接 before_archive |
dev | 首次构建前 before_build 一次 |
本地 run / restart | 真正准备新游戏进程时 before_run 一次 |
runtime reload、connect、远程 run | 不执行 |
脚本可读取 MCPY_PROJECT_ROOT、MCPY_EVENT、MCPY_OPERATION。框架依赖还能通过 consumer_prepare 带着自己的工具处理消费项目的素材。脚本对源码的写入不会自动回滚。
08 服务器联调
开发 Nukkit 等服务端时,用 mcpy connect 启动开发客户端连上指定服务器,再用同一套会话执行客户端 Python、统一输入和截图来验证服务端逻辑。
启动两个开发客户端连上你的服务器(例如本机 Nukkit)。
mcpy connect <服务器> --port 19132 --clients 2 --detach --jsonconnection_verified=true 才表示确认两名不同玩家在同一世界。
mcpy status --group <组ID> --json[tool.mcpywrap.server]
host = "127.0.0.1"
port = 19132边界:服务器需允许无认证的开发客户端(或配合 MCS 身份)。网络会话不装配、上传或部署本地 Mod,不提供服务端 Python。这是中国版(基岩)客户端,与 Java 版服务端无关。
09 更多能力
主项目与依赖组装成 dist 下的 ZIP,主项目优先;terrain_texture、item_texture、sound_definitions、动画、_ui_defs.json 与 .lang 按规则合并。
mcpy package新建世界时指定类型、模式、难度、种子与 18 个游戏规则开关,多个测试世界可以并存。
mcpy run --new --world-type flat --seed 12345Windows 后台录制 H.264 MP4(1–300 秒、1–60 FPS),无需 FFmpeg,可按帧号或时间点导出 PNG。
mcpy record start --session <sid> --duration 10 --fps 30 --json交互式 run 自动弹出可置顶日志窗:搜索、Python 控制台、热更、重载世界。mcpy ui 打开 Qt 项目页。
mcpy ui在 Windows 的 MC Studio 编辑器中打开项目,使用独立的准备目录。
mcpy edit在 Mac 上写代码,让另一台 Windows 跑游戏;支持网络单会话的连接、客户端 Python、输入、截图与录屏下载。
mcpy --local serve10 快速开始
$ uv tool install mcpywrap
$ mcpy init
$ mcpy add --qumod
$ mcpy run需要 Python 3.9+。Windows 使用 MC Studio 引擎,Apple Silicon Mac 首次运行时自动准备资源。
交给 AI
让 Agent 安装 EaseCation/mcpywrap 仓库的 skills/mcpywrap 目录(或把整个文件夹复制到它的技能目录)。CLI 与 Skill 分开安装。然后直接描述任务:
11 开源