Files
emod-cli/README.md
Blank038 1a7bc6aca1 feat(mcp): 增加游戏内方块调试桥接
新增 stdio MCP server 和 mcp 子命令,通过调试会话状态文件连接内置 TCP bridge,并提供 place_block 工具。

Bridge 将请求投递到服务端 System 的游戏线程执行,限制请求大小与队列长度,并按会话端口安全清理状态文件和连接。
2026-07-21 21:04:45 +08:00

133 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# emod-cli
网易我的世界 Bedrock 组件开发 CLI 工具,用于项目创建、初始化、调试与打包发布。
## 安装
```bash
cargo build --release
# 产物位于 target/release/emod-cli
```
## 命令
### create
从内置模板创建新的 Addon 项目。
```bash
emod-cli create --name <项目名>
emod-cli create --name <项目名> --target <模板名>
```
| 参数 | 说明 |
|------|------|
| `-n, --name` | 项目名(必填) |
| `-t, --target` | 模板名,默认 `default` |
### init
为已有项目补齐模板中的空目录(基于 `.empty-dirs` 清单)。
```bash
emod-cli init
emod-cli init --path <项目路径> --target <模板名>
```
### debug
启动网易 MC 并加载调试 MOD支持 IPC 日志和热重载。
```bash
emod-cli debug
emod-cli debug --path <项目路径>
emod-cli debug --new # 创建全新调试存档
```
| 参数 | 说明 |
|------|------|
| `-p, --path` | 项目路径,默认当前目录 |
| `-n, --new` | 创建带时间戳的新存档并持久化到 `.mcdev.json` |
调试流程:
1. 读取/生成 `.mcdev.json` 配置
2. 清理运行时旧包链接
3. 注册调试 MOD 并链接用户 MOD 目录
4. 准备开发世界(含自动加入游戏配置)
5. 启动游戏进程;启用内置调试 MOD 时挂载 IPC 日志、热重载与 debug MCP bridge
### mcp
启动标准 stdio MCP server让 AI 连接正在运行的 `debug` 会话并在游戏内放置方块。`mcp` 命令不会启动游戏;必须先为同一项目启动启用了内置调试 MOD 的 `debug`
```bash
# 终端 1启动游戏并注入 debug MCP bridge
emod-cli debug --path <项目路径>
# MCP 客户端配置:启动 stdio MCP server
emod-cli mcp --path <项目路径>
```
工具示例:
```text
place_block {"x":0,"y":5,"z":0,"name":"minecraft:stone"}
```
### release
打包 Addon 为可发布的 ZIP 产物。
```bash
emod-cli release
emod-cli release --path <项目路径>
emod-cli release --ver 1.2.0
emod-cli release --pin
```
| 参数 | 说明 |
|------|------|
| `-p, --path` | 项目路径,默认当前目录 |
| `-v, --ver` | 指定发布版本(与 `--pin` 互斥) |
| `-P, --pin` | 锁定当前版本不变,适用于重试失败打包 |
支持通过环境变量 `EMOD_ARTIFACTS_DIR` 指定产物输出目录。
支持 `.emod-ignore``.emod-package` 自定义打包规则。
### components
创建组件资源(如 3D 物品模型)。
```bash
emod-cli components --component 3ditem
emod-cli components --component 3ditem --geo ./model.geo.json --texture ./texture.png
```
| 参数 | 说明 |
|------|------|
| `-p, --path` | 项目路径 |
| `-c, --component` | 组件类型,当前支持 `3ditem` |
| `-g, --geo` | geo 文件路径 |
| `-t, --texture` | 贴图文件路径 |
| `-i, --identifier` | 组件标识符 |
## 项目结构
```
<项目根目录>/
├── behavior_pack/ # 行为包
├── resource_pack/ # 资源包
├── template.toml # 项目模板配置
├── .mcdev.json # 调试配置debug 自动生成)
├── .emod-ignore # 打包排除规则(可选)
└── .emod-package # 打包包含规则(可选)
```
## 开发
```bash
cargo build
cargo test
cargo fmt --check
```