Skip to content

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 更适合需要轻量、可脚本化或自定义工作流的项目。

Released under the BSD3 License