Skip to content

GitHub-Zero123/MCDevTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCDevTool

适用于网易我的世界的开发者工具包,提供创建测试世界、加载用户Mod等功能,方便开发者在脱离mcs编辑器的环境下离线测试Mod。

image

配置mcdk

您可以将mcdk添加到环境变量Path中,也可以直接放置在本地项目工作区以便命令搜索。

在vscode中使用

您可以在vscode中配置任务以便直接运行mcdk,例如:

// .vscode/tasks.json
// 可通过 Ctrl+Shift+B 快捷键执行
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "RUN MC DEV",
            "type": "shell",
            "command": "cmd /c mcdk",
            // 仅过滤Python相关日志(需启用debug调试mod)
            // "command": "cmd",
            // "args": [
            //     "/c",
            //     "mcdk 2>&1 | findstr /C:\"[Python] \""
            // ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always",
                "panel": "shared"
            },
            "problemMatcher": [
                {
                    "owner": "python",
                    "fileLocation": ["relative", "${workspaceFolder}"],
                    // 匹配Python异常堆栈信息(该规则可能不准确,仅供参考)
                    "pattern": [
                        {
                            "regexp": "  File \"(.*)\", line (\\d+), in .*",
                            "file": 1,
                            "line": 2
                        },
                        {
                            "regexp": "^(.*Error|.*Exception): (.*)$",
                            "message": 0
                        }
                    ]
                }
            ]
        }
    ]
}

在pycharm中使用

由于作者并不使用pycharm,以下数据来源于网络,仅供参考:

  1. 点击菜单栏中的 Run → Edit Configurations
  2. 打开创建 Run Configuration
  3. 创建新的配置项
  4. 配置Shell Script执行mcdk

mcdev.json 配置参数

MCDEV配置文件,若不存在字段将以此处默认值为基准。

{
    // 首次运行将会自动生成 .mcdev.json 文件
    // 用于包含需要加载的MOD目录(默认值) 允许相对路径和绝对路径(相对路径以工作区为基准)
    "included_mod_dirs": [
        "./"
    ],
    // 指定游戏exe路径(string)
    "game_executable_path": "",
    // 生成的世界种子 若为null则随机生成(null / int)
    "world_seed": null,
    // 是否在启动时重置并新生成世界
    "reset_world": false,
    // 用于渲染的世界名称 (string)
    "world_name": "MC_DEV_WORLD",
    // 目录存档名(ASCII STRING)
    "world_folder_name": "MC_DEV_WORLD",
    // 是否自动进入游戏存档
    "auto_join_game": true,
    // 是否附加调试MOD(boolean),若启用将在生成的世界中包含热更新脚本(R键触发检测)并重定向输出流使其附加[Python]前缀可供筛选搜索。
    "include_debug_mod": true,
    // 生成的世界类型(0.旧版有限世界 1.无限世界 2.超平坦) (int)
    "world_type": 1,
    // 游戏模式(0.生存 1.创造 2.冒险) (int)
    "game_mode": 1,
    // 是否启用作弊(boolean)
    "enable_cheats": true,
    // 是否死亡不掉落(boolean)
    "keep_inventory": true,
    // 用户自定义名称(默认"developer")
    "user_name": "developer",
    // 用户自定义皮肤信息(默认缺失字段自动生成)
    "skin_info": {
        "slim": false,
        "skin": "完整贴图路径.png"
    },
    // 自定义debug参数(选填可缺失)
    "debug_options": {
        // 键码查阅:https://mc.163.com/dev/mcmanual/mc-dev/mcdocs/1-ModAPI-beta/%E6%9E%9A%E4%B8%BE%E5%80%BC/KeyBoardType.html
        // 绑定热更新快捷键
        "reload_key": "82",
        // 绑定重载世界快捷键
        "reload_world_key": "",
        // 绑定重载Addon快捷键
        "reload_addon_key": "",
        // 绑定重载着色器快捷键
        "reload_shaders_key": ""
    }
}

第三方依赖

库名 用途 备注
nlohmann/json 处理 JSON 配置文件解析与生成 Header-only
NBT 用于构建 level.dat 等 NBT 格式文件 依赖 BinaryStream 和 Zlib
BinaryStream NBT 的底层二进制读写支持 NBT 内部依赖
Zlib NBT 数据压缩与解压缩 NBT 内部依赖
CLI11 命令行参数解析 Header-only

About

适用于网易我的世界的开发者工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published