# 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. 启动游戏进程,挂载 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` | 锁定当前版本不变,适用于重试失败打包 | 支持通过环境变量 `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 ```