> For the complete documentation index, see [llms.txt](https://docs.myarc.icu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.myarc.icu/gong-neng-pei-zhi/arcpack.md).

# ArcPack 与菜单市场

做好了一套包含多级页面、自定义贴图、GIF 动图和过场演出的菜单后，如果靠手动复制零散的 YAML 和图片文件去迁移，很容易漏掉某个动画轨道或音频素材。ArcPack（`.arcpack`）是 ArcMenu 的标准作品包格式，它会把你选中的菜单、Effect 过场动画、分组模板，以及它们引用到的本地 PNG 图片、GIF 动图、常规菜单动画片段和 OGG/NBS 音频全部收集进一个归档文件中，方便在不同服务器之间直接导入导出，或发布到内置的菜单市场。

## 跨服导出与导入

在[项目管理器](/gong-neng-pei-zhi/projects.md)中勾选已保存的项目并点击导出后，服务端会在以下路径生成作品包文件：

```
plugins/ArcMenu/packs/<包ID>-<版本>.arcpack
```

要把这个作品包安装到另一台服务器上：

1. 将 `.arcpack` 文件放入目标服务器的 `plugins/ArcMenu/packs/` 目录下。
2. 在目标服务器上打开 `/arcmenu projects`，切换到\*\*已安装包（Installed）**页面，点击**导入（Import）\*\*并输入该文件名。
3. 安装完成后，菜单和 Effect 都会保留原本的项目 ID。你可以直接用 `/arcmenu open <菜单ID>` 打开菜单，或用 `/arcmenu effect <EffectID>` 播放过场动画。

为了避免不同作品包的素材文件互相覆盖，安装时系统会自动把该包所属的文件放进带有 `arcpack-<包ID>` 前缀的独立子目录中，并自动重写配置文件里引用的本地图片与音频路径（例如原本的 `/logo.png` 会自动指向 `/arcpack-demo/logo.png`），而项目 ID 和界面文字则保持不变：

| 包内资源类型           | 安装后的服务端路径（相对于 `plugins/ArcMenu/`）                           |
| ---------------- | ----------------------------------------------------------- |
| 菜单配置             | `menus/arcpack-<包ID>/...`                                   |
| 分组模板             | `templates/arcpack-<包ID>/...`                               |
| 静态图片与 GIF        | `images/arcpack-<包ID>/...`                                  |
| Effect 场景与时间线    | `effects/arcpack-<包ID>/<EffectID>/scene.yml`、`timeline.yml` |
| Effect 本地音频与 NBS | `effects/assets/arcpack-<包ID>/...`                          |
| 常规菜单动画片段         | `animations/arcpack-<包ID>.yml`                              |

### 依赖提示与版本更新

如果作品中用到了多张互相跳转的菜单，导出时把它们一起勾选进同一个包，跳转关系就能完整保留。对于作品中引用的 CraftEngine / Nexo / ItemsAdder 自定义物品、外部插件命令或 PlaceholderAPI 变量，导出信息中会将它们记录为外部依赖提醒，请在目标服务器上提前准备好对应的插件配置。

安装作品包时，系统会校验文件完整性并检查项目 ID 是否冲突。为了保护你在本地所做的修改，安装操作不会直接覆盖已存在的同名项目或同名包。如果你需要升级某个已安装包的版本：

1. 先备份或另存你在本地修改过的内容。
2. 在**已安装包**页面卸载旧版本（卸载时，系统只会移除该包记录在册的文件；如果你曾手动修改过包内的某个文件，卸载程序会自动将修改后的文件备份到 `plugins/ArcMenu/packs/backups/<包ID>-<事务ID>/` 下，绝不会误删其他无关文件）。
3. 导入或下载安装新版本。

## 浏览与下载菜单市场

拥有 `arcmenu.market` 权限的用户可以执行以下命令打开内置的菜单市场：

```
/arcmenu market
```

市场界面展示了社区创作者分享的作品卡片，包含实机封面图、作者名称、点赞数、下载量与星级评分。你可以按关键词搜索、切换排序方式、翻页浏览，点击卡片还能查看完整的功能说明、多图画廊（每个项目的实机预览图）以及历史版本列表。

打开编辑器或项目管理器时，客户端会在后台通过 Mojang 官方会话服务自动完成正版 Minecraft 账号验证（你的游戏登录凭证只会发送给 Mojang，不会发往市场服务器）。验证通过后，你可以为喜欢的作品点赞，或给出 1 到 5 星的独立评分。

如果你拥有 `arcmenu.admin` 管理员权限，可以直接在市场详情页点击安装，或者在游戏内与服务端控制台使用命令直接下载并安装市场作品：

```
/arcmenu download pack <包ID>
/arcmenu download pack <包ID> <版本号>
```

省略版本号时，系统会自动下载并安装该作品的最新版本。

## 发布与更新自己的作品

想要把自己的作品分享到菜单市场，只需两步：

1. 在**项目管理器 -> 项目**中勾选要分享的菜单、Effect 或模板，导出为本地 `.arcpack` 包。
2. 切换到**本地包（Packages）页面，选中刚才导出的包并点击发布（Publish）**。核对作品标题、详细介绍与封面预览图后提交即可。

为了保证市场里看到的效果就是游戏里的真实画面，发布包中的预览图全部由编辑器直接从 Minecraft 画面缓冲区截取生成（固定为 `1280 × 720` 的 PNG 图片，自动隐藏编辑器工具栏与 HUD，并在截取完成后自动恢复你原本的编辑状态）。排在第一位的项目截图会作为市场列表的封面，其余项目的截图则会展示在详情页的画廊中。

已发布的版本号是不可覆盖的。后续如果你优化了菜单排版并想发布更新，只需在导出新包时填写一个新的版本号（例如从 `1.0.0` 改为 `1.1.0`），再选中新包点击发布即可。作品作者随时可以在市场中修改作品标题、更新文字说明或将作品隐藏。

## 自动合并与更新资源包

当你在安装、导入或卸载作品包时，如果包内包含新增或变更的 PNG 图片、GIF 动图或 OGG 音频，ArcMenu 会自动请求重新构建资源包：

* 如果服务器安装了 **CraftEngine**、**Nexo** 或 **ItemsAdder**，ArcMenu 会按 `CraftEngine -> Nexo -> ItemsAdder` 的优先级自动触发对应插件的资源包重载流程（例如调用 CraftEngine 的 `reload_pack` 流程完成生成、上传与向在线玩家分发）。
* 如果你使用其他方式分发资源包，也可以随时从 `plugins/ArcMenu/generated/arcmenu-resourcepack.zip` 获取合并后的最新资源包。详细配置方法请参考[图片与资源包](/gong-neng-pei-zhi/resource-packs.md)。

## 市场服务器配置

在 `plugins/ArcMenu/config.yml` 中，`marketplace` 节点用于配置菜单市场的连接地址：

```yaml
marketplace:
  url: 'https://market.myarc.icu:10051'
  certificate-sha256: ''
```

* `url`：字符串，填写菜单市场服务的 HTTPS 地址。保持默认的 `'https://market.myarc.icu:10051'` 即可连接官方市场；如果留空 `''`，则会关闭在线市场请求，此时本地项目管理器与 `.arcpack` 文件的手动导入导出依然可以正常使用。
* `certificate-sha256`：字符串，可选的叶证书 SHA-256 指纹（填写 64 位十六进制字符，支持带冒号分隔）。连接使用标准公共证书的市场时请保持留空 `''`；只有在你自行部署了使用私有自签名 HTTPS 证书的内部市场服务时，才需要在此填入该证书的 SHA-256 指纹。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.myarc.icu/gong-neng-pei-zhi/arcpack.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
