Commit Graph

14 Commits

Author SHA1 Message Date
410b2e64e9 feat(bbmodel): 支持转换 Blockbench 方块模型
新增 bbmodel 子命令,将 .bbmodel 转成网易 netease:block_geometry,并支持独立输出目录。

同时导出内嵌 PNG 贴图并在资源包模式下更新 terrain_texture.json,减少手工导入方块模型和材质的重复操作。
2026-05-22 01:37:42 +08:00
37cd8cc160 docs: 重写 README,补全全部子命令用法文档
原文档仅列出 create/release 两个命令且标注 WIP,
现覆盖 create/init/debug/release/components 五个子命令,
补充参数表、用法示例、项目结构和开发指南。
2026-05-16 22:16:59 +08:00
fd79a99477 feat(debug): 支持 --new 参数创建全新调试存档
添加  选项,启动调试时自动生成带时间戳的新存档目录
(格式 MC_DEV_WORLD_YYYYMMDD_HHMMSS)并持久化到 .mcdev.json。

- 新增 local_timestamp_compact() 跨平台本地时间格式化
- 新增 allocate_new_world() 更新配置并落盘
- 补充单元测试验证存档名格式与持久化正确性
2026-05-16 17:24:13 +08:00
011b59c948 feat(debug): 支持网易 Minecraft 调试启动
新增 debug 子命令,自动准备开发世界、注册内置调试 MOD,并将项目行为包和资源包链接到网易运行目录,方便启动游戏后直接进入调试世界。

调试 MOD 资源随仓库一起嵌入,避免依赖本机绝对路径;Windows junction 写入剥离 verbatim 前缀后的 DOS 路径,保证 Minecraft 能正确读取链接包。
2026-05-16 00:59:51 +08:00
de2b804aad feat(init): 支持补齐内置模板空目录
新增 init 子命令,根据项目中的 world_*_packs.json 解析实际包目录并创建标准空目录。

改用 .empty-dirs 维护内置模板空目录清单,删除会污染用户项目和网易 Bedrock 加载流程的 .gitkeep 占位文件。
2026-05-14 22:16:18 +08:00
55e92c4b4f fix(release): 保留空目录到 ZIP 产物
移除 count_files 和 dir_has_included_files 两个预检函数,不再在打包时
过滤空目录。所有遍历到的子目录(包括空目录和仅含 .gitkeep 的目录)
现在都会写入 ZIP 条目,确保项目目录结构完整保留。

新增三个测试覆盖:空子目录、仅 .gitkeep 目录、emod-package 匹配的
空目录。
2026-05-10 02:08:01 +08:00
02e72fc9d8 style: 应用 rustfmt 格式化
整理 components、commands、entity 和 utils 中的 import 顺序、尾逗号、换行与文件末尾换行。

这保持代码风格与 rustfmt 输出一致,减少后续功能提交里的格式噪音。
2026-05-09 22:02:15 +08:00
405cdaab81 feat(release): 支持自定义打包产物目录
release 现在会在设置 EMOD_ARTIFACTS_DIR 时将 ZIP 输出到按项目名隔离的 artifacts 子目录,未设置时保持写入项目目录。

新增单元测试覆盖默认输出和环境变量输出两条路径,避免发布产物污染源项目或路径回退失效。
2026-05-09 22:01:47 +08:00
933aa295b2 fix(release): zip 文件名带项目名前缀
发布包现在从 canonicalize 后的项目目录提取项目名,并生成 <项目名>_release_<版本>.zip。这样在项目根目录直接执行 release 时也能得到稳定、可区分的产物名称。
2026-05-09 17:13:29 +08:00
85aa369793 feat(release): 增强打包流程, 支持 --pin、.emod-ignore、.emod-package
- 新增 --pin/-P 参数: 保留当前版本号不打补丁, 用于失败后重试发布
- 新增 .emod-ignore: gitignore 风格的打包排除规则, 支持通配符和取反
- 新增 .emod-package: 自定义打包包含规则, 支持通配符匹配
- 添加 preflight_pack_dirs 预检: 在打包前验证行为包/资源包目录和清单文件
- 引入 PackDirs 结构体, 消除重复的目录拼接逻辑
- 修复 ZIP 条目路径在 Windows 使用反斜杠导致网易审核工具报错
- 新增 zip_entry_path 统一使用正斜杠
- 添加 10 个单元测试覆盖核心场景
2026-05-04 01:31:44 +08:00
2af7d3fc2f feat(utils): 添加 io_error 辅助函数用于 IO 错误上下文包装
将匿名 os error 包装为包含操作描述和路径的友好错误信息,
避免出现无法定位问题来源的原始系统错误。
2026-05-04 01:31:27 +08:00
11576a8693 Fix built-in template rename order 2026-04-26 20:48:26 +08:00
8da042ccd3 feat: 标准化占位符, 增加模板 2025-11-29 23:38:03 +08:00
d647e84db0 feat: Initial commit 2025-11-29 17:31:00 +08:00