将所有已安装的模块打包成一份文件,便于在游戏中运行。
# 仅构建 BP+RP(不部署)
sfmc> mod build
# 构建 + 部署 + 向 BDS 发 reload(开发常用)
sfmc> mod reload
sfmc> mod reload --build-only # 只 build+deploy;随后需手动在 BDS/游戏内输入 reload
start bds/restart bds之前会自动比对装载 catalog:不一致则先整包重编并部署,成功后才启动 BDS。
| 阶段 | 位置 |
|---|---|
| esbuild 中间产物 | packs/_build/sfmc-modules-bp/scripts/main.js |
| 组装后的 BP | packs/_build/sfmc-modules/ |
| 组装后的 RP | packs/_build/sfmc-modules-rp/ |
| 部署目标 BP | <BDS>/worlds/<level>/behavior_packs/sfmc-modules/ |
| 部署目标 RP | <BDS>/worlds/<level>/resource_packs/sfmc-modules-rp/ |
装载 catalog |
BP 内 sfmc-deploy-catalog.json |
server-net 等权限 |
<BDS>/config/<bpUuid>/permission.json(已存在则跳过) |
- 扫描
modules/packages/*/sapi,按module-lock.json仅打包已启用模块 - esbuild 打成
main.js(@minecraft/*保持 external) - pack-manager 组装 BP/RP(稳定 UUID,写入 catalog)
- deploy 复制到世界目录,写入
world_behavior_packs.json/world_resource_packs.json - 若无
<BDS>/config/<bpUuid>/permission.json则生成
一个模块都没 enable 时也会生成合法的空包。装载相关日志走统一日志源
pack。
下一章:QQ 互通