一个用于我的世界中国版模组开发的一站式 VSCode 工具插件
本插件基于 Dofes/mcdev-tools 二次开发,遵循 MIT 协议。原作者 @Dofes。
- 官方调试器支持:通过官方调试器接口进行 Python 调试,启动并自动管理调试会话
- 支持多客户端调试,自动分配可用端口
- 一键启动
mcdk.exe启动游戏开发测试,游戏运行时按钮变为「停止游戏」,随时可结束 - 内置 MCP 服务:常驻的 MCP 桥接服务,让 AI 客户端通过固定 URL 观察和操作游戏
- 侧边栏可视化配置面板(皮肤编辑、昼夜更替、窗口样式等)
- Mod 目录自动发现:侧边栏「Mod 目录」下拉列出工作区里扫描到的 Mod(含直接打开单个 Mod 目录的情况),可筛选后一键添加,也可继续手填或浏览自定义路径
插件激活时会在后台启动常驻的 MCP 桥接服务,默认监听 http://127.0.0.1:19134/mcp。
接入方式:命令面板执行 MC Dev Tools: 复制 MCP 配置,粘贴到你的 AI 客户端配置里即可:
{
"mcpServers": {
"minecraft_be_mcdk": {
"type": "http",
"url": "http://127.0.0.1:19134/mcp"
}
}
}提供 11 个工具,包括读取日志、执行 Python 代码、JSON UI 调试、性能分析、截图点击,以及 start_game / stop_game / reload_game。
桥接服务始终在线:游戏没启动时也能连上,此时调用 start_game 会自动冷启动游戏。这一点是它相对于直连游戏内 MCP(19133)的主要价值——后者随游戏进程起落,而多数 MCP 客户端只在启动时连接一次、不会重试。
start_game / stop_game 由插件代为执行,和侧边栏的运行 / 停止按钮完全一致:
- 启动前先停掉旧会话(包括没有终端归属、仍占着 19133 的遗留
mcdk.exe),不会出现两个游戏并存; - 游戏跑在 VS Code 的「Minecraft ModPC (mcdk)」集成终端里,而不是另开一个控制台窗口;
- 自动选用最新的游戏版本,不会停在无人应答的版本选择提示上。
前置条件:项目的 mcdev.json 需要启用游戏内 MCP,桥接服务通过它与游戏通信:
相关设置项:
| 设置 | 默认值 | 说明 |
|---|---|---|
mcdev-tools.mcpBridge.enabled |
true |
是否启动桥接服务 |
mcdev-tools.mcpBridge.port |
19134 |
对外监听端口 |
mcdev-tools.mcpBridge.gamePort |
19133 |
游戏内 MCP 端口 |
已知限制:
- 桥接服务随插件启停,关闭 VSCode 后 MCP 会断开
- 端口是固定的,多个 VSCode 窗口只有第一个能启动桥接服务;后续窗口检测到端口被占用会跳过,此时 MCP 指向的仍是第一个窗口的项目
- 按
Ctrl+F5自动启动ModPC并不带调试器附加的开发测试 - 插件会自动:
- 搜索系统环境中的ModPC包
- 启动
mcdk.exe进行开发测试
- 按
F5选择 "Minecraft Python Debug" 调试配置 - 插件会自动:
- 通过 mcdk 启动游戏并附加 Python 调试器
- 通过 ptvsd 官方接口建立调试连接
- 支持多客户端同时调试,自动端口分配
launch.json 配置示例:
{
"type": "mcdev-tools",
"request": "launch",
"name": "Minecraft Python Debug",
"timeout": 60000,
"dapConfig": {
"justMyCode": false
}
}- 按
F5选择 "Minecraft Debug (Inject)" 调试配置 - 插件会自动:
- 查询运行中的 Minecraft 进程
- 使用 mcdbg 注入 debugpy 到目标进程
- 连接 Python 调试器
launch.json 配置示例:
{
"type": "mcdev-tools-inject",
"request": "launch",
"name": "Minecraft Debug (Inject)",
"port": 5678,
"dapConfig": {
"justMyCode": false
}
}在 VS Code 设置中可以配置以下选项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
mcdev-tools.timeout |
60000 | 等待调试器就绪的超时时间(毫秒) |
mcdev-tools.mcdkPath |
(内置) | mcdk.exe 路径(留空使用插件内置) |
mcdev-tools.enable |
false | 强制启用插件(默认 false 自动扫描 Addon 结构) |
| 配置项 | 默认值 | 说明 |
|---|---|---|
mcdev-tools.ptvsd.enabled |
true | 是否启用 ptvsd 调试模式 |
mcdev-tools.ptvsd.ip |
localhost | ptvsd 调试 IP 地址 |
mcdev-tools.ptvsd.port |
5678 | ptvsd 调试端口(多客户端自动分配) |
mcdev-tools.ptvsd.justMyCode |
false | 是否仅调试用户代码 |
mcdev-tools.ptvsd.debugOptions.showPrivateMembers |
true | 显示私有成员(以 _ 开头) |
mcdev-tools.ptvsd.debugOptions.showSpecialMembers |
true | 显示特殊成员(以 __ 开头和结尾) |
mcdev-tools.ptvsd.debugOptions.showFunctionMembers |
true | 显示函数成员 |
mcdev-tools.ptvsd.debugOptions.showBuiltinMembers |
true | 显示内置成员 |
感谢所有为本项目做出贡献的开发者!
{ "mcp_server_config": { "enabled": true, "server_port": 19133 } }