2025-11-29 17:31:00 +08:00
|
|
|
|
# emod-cli
|
|
|
|
|
|
|
2026-05-16 22:16:59 +08:00
|
|
|
|
网易我的世界 Bedrock 组件开发 CLI 工具,用于项目创建、初始化、调试与打包发布。
|
2025-11-29 17:31:00 +08:00
|
|
|
|
|
2026-05-16 22:16:59 +08:00
|
|
|
|
## 安装
|
2025-11-29 17:31:00 +08:00
|
|
|
|
|
2026-05-16 22:16:59 +08:00
|
|
|
|
```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. 启动游戏进程,挂载 IPC 日志与热重载
|
|
|
|
|
|
|
|
|
|
|
|
### 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` | 锁定当前版本不变,适用于重试失败打包 |
|
2025-11-29 17:31:00 +08:00
|
|
|
|
|
2026-05-16 22:16:59 +08:00
|
|
|
|
支持通过环境变量 `EMOD_ARTIFACTS_DIR` 指定产物输出目录。
|
|
|
|
|
|
支持 `.emod-ignore` 和 `.emod-package` 自定义打包规则。
|
|
|
|
|
|
|
|
|
|
|
|
### components
|
|
|
|
|
|
|
|
|
|
|
|
创建组件资源(如 3D 物品模型)。
|
2025-11-29 17:31:00 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-16 22:16:59 +08:00
|
|
|
|
emod-cli components --component 3ditem
|
|
|
|
|
|
emod-cli components --component 3ditem --geo ./model.geo.json --texture ./texture.png
|
2025-11-29 17:31:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-16 22:16:59 +08:00
|
|
|
|
| 参数 | 说明 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| `-p, --path` | 项目路径 |
|
|
|
|
|
|
| `-c, --component` | 组件类型,当前支持 `3ditem` |
|
|
|
|
|
|
| `-g, --geo` | geo 文件路径 |
|
|
|
|
|
|
| `-t, --texture` | 贴图文件路径 |
|
|
|
|
|
|
| `-i, --identifier` | 组件标识符 |
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
2025-11-29 17:31:00 +08:00
|
|
|
|
|
2026-05-16 22:16:59 +08:00
|
|
|
|
```
|
|
|
|
|
|
<项目根目录>/
|
|
|
|
|
|
├── behavior_pack/ # 行为包
|
|
|
|
|
|
├── resource_pack/ # 资源包
|
|
|
|
|
|
├── template.toml # 项目模板配置
|
|
|
|
|
|
├── .mcdev.json # 调试配置(debug 自动生成)
|
|
|
|
|
|
├── .emod-ignore # 打包排除规则(可选)
|
|
|
|
|
|
└── .emod-package # 打包包含规则(可选)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 开发
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cargo build
|
|
|
|
|
|
cargo test
|
|
|
|
|
|
cargo fmt --check
|
|
|
|
|
|
```
|