From 37cd8cc160b911aaf6e229eac3f1c6177df9946b Mon Sep 17 00:00:00 2001 From: Blank038 Date: Sat, 16 May 2026 22:16:59 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=87=8D=E5=86=99=20README=EF=BC=8C?= =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=85=A8=E9=83=A8=E5=AD=90=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E7=94=A8=E6=B3=95=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原文档仅列出 create/release 两个命令且标注 WIP, 现覆盖 create/init/debug/release/components 五个子命令, 补充参数表、用法示例、项目结构和开发指南。 --- README.md | 119 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 106 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index b963a2d..5fb1dc2 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,114 @@ # emod-cli -> 🚧 WIP 请勿使用,项目处于快速原型开发实验中。 +网易我的世界 Bedrock 组件开发 CLI 工具,用于项目创建、初始化、调试与打包发布。 -## 介绍 - -基于网易我的世界组件开发的 cli 工具,用于管理组件的创建、打包等 - -## 如何使用 +## 安装 ```bash -# 创建一个 Addon 项目 -emod-cli create --name <项目名> --target [目标例子] -# 打包一个 Addon 项目 -emod-cli release --path <项目路径> --version [发布版本] +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 +```