MCDevTool 轻量级启动器
MCDK 是面向网易我的世界 Mod / Addon 开发的轻量级本地启动与调试工具。它可以在脱离 MCS 编辑器的情况下创建开发测试世界、挂载行为包 / 资源包,并启动游戏进入可调试环境。
项目仓库
MCDK 对应项目为 MCDevTool。
核心能力
| 能力 | 说明 |
|---|---|
| 测试世界启动 | 自动生成或复用开发测试世界,并按配置进入游戏 |
| Mod / Addon 挂载 | 将指定行为包、资源包或项目目录挂载到测试世界 |
| Python Mod 热更新 | 修改脚本后回到游戏前台触发增量刷新 |
| JSON UI 热重载 | 资源包 ui/*.json 变化后可触发原生 UI definition reload |
| Shader / Material 热更新 | 支持资源包着色器和材质文件的开发期增量重载 |
| 调试 Mod | 可重定向 Python 输出、绑定热更新快捷键,并提供调试期 IPC 能力 |
基础使用
将 mcdk 可执行文件加入 PATH,或直接放在项目工作区中,然后在项目根目录运行:
bash
mcdk首次运行会生成 .mcdev.json。之后 MCDK 会根据该配置创建测试世界、挂载项目资源,并启动网易我的世界客户端。
VSCode 任务
可以在 .vscode/tasks.json 中添加启动任务:
jsonc
{
"version": "2.0.0",
"tasks": [
{
"label": "RUN MC DEV",
"type": "shell",
"command": "cmd /c mcdk",
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": ["$python"]
}
]
}需要自测联机或多开场景时,可以通过环境变量控制子进程模式:
jsonc
{
"label": "RUN MC SUB DEV",
"type": "shell",
"command": "cmd /c mcdk",
"options": {
"env": {
"MCDEV_AUTO_JOIN_GAME": "0",
"MCDEV_IS_SUBPROCESS_MODE": "1"
}
}
}常用配置
.mcdev.json 是 MCDK 的项目配置文件。常用字段如下:
| 字段 | 说明 |
|---|---|
included_mod_dirs | 需要挂载到测试世界的 Mod / Addon 目录 |
game_executable_path | 网易我的世界客户端可执行文件路径,留空时尝试自动查找 |
world_name / world_folder_name | 测试世界显示名与目录名 |
reset_world | 是否启动时重置并重新生成世界 |
auto_join_game | 启动后是否自动进入存档 |
include_debug_mod | 是否附加调试 Mod |
auto_hot_reload_mods | 是否启用 Python Mod 热更新 |
auto_hot_reload_ui | 是否启用 JSON UI 热重载 |
auto_hot_reload_shaders | 是否启用 Shader 热更新 |
auto_hot_reload_materials | 是否启用 Material 热更新 |
window_style | 开发窗口样式,例如置顶、固定大小、标题栏颜色等 |
一个简化配置示例:
jsonc
{
"included_mod_dirs": [
{"path": "./", "hot_reload": true, "enabled": true}
],
"world_name": "MC_DEV_WORLD",
"world_folder_name": "MC_DEV_WORLD",
"auto_join_game": true,
"include_debug_mod": true,
"auto_hot_reload_mods": true,
"auto_hot_reload_ui": true,
"game_mode": 1,
"enable_cheats": true
}断点调试
MCDK 可配合 mcdbg 后端进行 ModPC 断点调试。启用后,在 VSCode 中使用 debugpy attach 到指定端口:
jsonc
{
"name": "Minecraft Modpc Debugger",
"type": "debugpy",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5632
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}"
}
],
"justMyCode": false
}VSCode 插件
如果使用 MCDevTools for VSCode,可由插件封装启动与调试流程;命令行 mcdk 更适合需要轻量、可脚本化或自定义工作流的项目。