Skip to content

Commit 133c495

Browse files
committed
Add MatrixStorage docs
1 parent 95762ae commit 133c495

13 files changed

Lines changed: 361 additions & 0 deletions

docs/matrixstorage/_category_.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"label": "MatrixStorage",
3+
"position": 5,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "MatrixStorage 的安装、命令、后端、邮箱、仓库与外部方块接入说明。"
7+
}
8+
}
9+
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: 实体仓库
3+
description: 原版、自定义方块与家具仓库的当前实现边界。
4+
---
5+
6+
# 实体仓库
7+
8+
## 支持模式
9+
10+
- `terminal`
11+
- `location`
12+
13+
`terminal` 仅作为个人仓库/邮箱入口。
14+
`location` 为真正的坐标仓库记录。
15+
16+
## 原版方块
17+
18+
当前原版方块仓库会优先复用方块自身原生库存。
19+
20+
这意味着:
21+
22+
- 原版容器会保留原生打开方式
23+
- 漏斗搬运可通过事件开关进行限制
24+
- 挖掉后内容会像原版容器一样掉落
25+
26+
## 自定义方块与家具
27+
28+
当前已接入:
29+
30+
- `CraftEngine`
31+
- `ItemsAdder`
32+
- `Nexo`
33+
34+
三类来源都支持:
35+
36+
- 放置识别
37+
- 交互打开
38+
- 破坏时移除仓库记录
39+
- 虚拟库存掉落
40+
41+
## 设置项
42+
43+
当前设置页可修改:
44+
45+
- 显示名称
46+
- 信任列表
47+
- 漏斗插入开关
48+
- 漏斗抽取开关
49+
- 比较器输出开关
50+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: 命令与权限
3+
description: MatrixStorage 的玩家命令、管理员命令与权限节点。
4+
---
5+
6+
# 命令与权限
7+
8+
## 玩家命令
9+
10+
| 命令 | 说明 |
11+
| --- | --- |
12+
| `/matrixstorage` | 打开仓库总览中心。 |
13+
| `/mailbox` | 打开邮箱。 |
14+
| `/mailbox send <player> <message>` | 发送普通邮件。 |
15+
| `/mailbox senditem <player> [message]` | 将主手物品作为附件发出。 |
16+
| `/mailbox sendmoney <player> <amount> [message]` | 发送金额附件邮件。 |
17+
| `/warehouse` | 打开仓库总览中心。 |
18+
| `/warehouse personal` | 打开个人仓库。 |
19+
| `/warehouse pending` | 打开待收区。 |
20+
| `/warehouse open <block-id>` | 打开指定实体仓库。 |
21+
| `/warehouse settings <block-id>` | 打开指定实体仓库设置。 |
22+
| `/warehouse trust <block-id> <player>` | 添加信任玩家。 |
23+
| `/warehouse untrust <block-id> <player>` | 移除信任玩家。 |
24+
25+
## 管理员命令
26+
27+
| 命令 | 说明 |
28+
| --- | --- |
29+
| `/matrixstorage reload` | 重载配置与后端。 |
30+
| `/matrixstorageadmin status` | 查看当前状态。 |
31+
| `/matrixstorageadmin warehouse open <player>` | 查看目标玩家个人仓库。 |
32+
| `/matrixstorageadmin mailbox open <player>` | 查看目标玩家邮箱。 |
33+
| `/matrixstorageadmin block inspect <world> <x> <y> <z>` | 查看目标坐标仓库记录。 |
34+
35+
## 权限节点
36+
37+
- `matrixstorage.admin`
38+
39+
当前实现以 `matrixstorage.admin` 作为管理员总权限。普通玩家入口暂时默认不做细分拆分。
40+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: 数据库与存储
3+
description: MatrixStorage 的四后端与状态持久化方式。
4+
---
5+
6+
# 数据库与存储
7+
8+
## 支持后端
9+
10+
`database.yml` 当前支持:
11+
12+
- `sqlite`
13+
- `mysql`
14+
- `redis`
15+
- `yaml`
16+
17+
默认值:
18+
19+
```yml
20+
type: sqlite
21+
```
22+
23+
## 当前实现方式
24+
25+
当前版本采用统一快照持久化:
26+
27+
- 邮件记录
28+
- 玩家个人仓库
29+
- 待收区
30+
- 实体仓库设置与库存快照
31+
32+
其中原版容器型实体仓库会优先使用方块自身的原生库存;快照层同时保留一份仓库内容备份,避免世界保存异常时完全丢失状态。
33+
34+
## 不自动回退
35+
36+
如果目标后端初始化失败,插件不会自动切到其他后端,以避免数据分裂。
37+

docs/matrixstorage/faq.mdx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: FAQ
3+
description: MatrixStorage 当前常见问题。
4+
---
5+
6+
# FAQ
7+
8+
## 为什么金额邮件无法领取?
9+
10+
当前金额附件依赖 Vault 经济接口。没有安装 Vault 或没有可用经济实现时,金额无法发放。
11+
12+
## 为什么实体仓库没有出现在总览里?
13+
14+
只有 `location` 模式的仓库会进入玩家总览列表。`terminal` 只是入口方块,不生成独立仓库记录。
15+
16+
## 为什么某些自定义家具不能走原版漏斗逻辑?
17+
18+
当前版本已经接入 `CraftEngine / ItemsAdder / Nexo` 的方块与家具识别,但是否具备完全等同原版容器的红石/漏斗行为,仍取决于对应来源在世界中的实际承载方式。
19+

docs/matrixstorage/index.mdx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: MatrixStorage
3+
description: Matrix 系列统一仓储插件总览。
4+
slug: /matrixstorage
5+
---
6+
7+
# MatrixStorage
8+
9+
`MatrixStorage` 是 Matrix 系列里的统一仓储插件,当前实现围绕四条主线工作:
10+
11+
- 玩家邮箱
12+
- 个人仓库与待收区
13+
- 位置型实体仓库
14+
- `MatrixShop` 外部仓库 SPI 对接
15+
16+
同时已经接入:
17+
18+
- 原版方块仓库
19+
- `CraftEngine` 自定义方块与家具仓库
20+
- `ItemsAdder` 自定义方块与家具仓库
21+
- `Nexo` 自定义方块与家具仓库
22+
23+
当前代码基线:
24+
25+
- TabooLib 6
26+
- Kotlin
27+
- `MatrixLib` 作为硬前置插件
28+
- `sqlite / mysql / redis / yaml` 四后端
29+
30+
建议阅读顺序:
31+
32+
1. [安装与依赖](/docs/matrixstorage/installation)
33+
2. [命令与权限](/docs/matrixstorage/commands-and-permissions)
34+
3. [数据库与存储](/docs/matrixstorage/database-and-storage)
35+
4. [邮箱](/docs/matrixstorage/mailbox)
36+
5. [仓库总览](/docs/matrixstorage/warehouse-overview)
37+
6. [实体仓库](/docs/matrixstorage/block-warehouses)
38+
7. [外部接入](/docs/matrixstorage/integrations)
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
title: 安装与依赖
3+
description: MatrixStorage 的安装步骤、前置和可选依赖。
4+
---
5+
6+
# 安装与依赖
7+
8+
## 必需前置
9+
10+
| 插件 | 说明 |
11+
| --- | --- |
12+
| `MatrixLib` | Matrix 系列统一前置,必须先加载。 |
13+
14+
## 可选依赖
15+
16+
| 插件 | 作用 |
17+
| --- | --- |
18+
| `Vault` | 玩家邮件金额附件领取。 |
19+
| `MatrixShop` | 作为外部仓库提供者,接收 `CommerceWarehouseProvider` 调用。 |
20+
| `CraftEngine` | 自定义方块/家具仓库放置与交互。 |
21+
| `ItemsAdder` | 自定义方块/家具仓库放置与交互。 |
22+
| `Nexo` | 自定义方块/家具仓库放置与交互。 |
23+
24+
## 默认配置文件
25+
26+
```text
27+
plugins/MatrixStorage/
28+
├─ config.yml
29+
├─ database.yml
30+
├─ module.yml
31+
├─ messages.yml
32+
├─ Mailbox/settings.yml
33+
├─ Warehouse/settings.yml
34+
└─ BlockWarehouse/settings.yml
35+
```
36+
37+
## 启动确认
38+
39+
启动成功后,控制台会显示:
40+
41+
- 当前后端描述
42+
- 邮件数量
43+
- 实体仓库数量
44+
- `MatrixShop` 桥接状态
45+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: 外部接入
3+
description: MatrixStorage 与 MatrixShop、CraftEngine、ItemsAdder、Nexo 的对接说明。
4+
---
5+
6+
# 外部接入
7+
8+
## MatrixShop
9+
10+
当前 `MatrixStorage` 会在运行时检测 `MatrixShop`,并通过 Bukkit `ServicesManager` 注册 `CommerceWarehouseProvider` 兼容代理。
11+
12+
当前桥接行为:
13+
14+
- `store()`:把物品写入待收区,把金额写成系统邮件。
15+
- `openWarehouse()`:直接打开目标玩家个人仓库。
16+
- `pendingCount()`:统计待收区非空槽位数量。
17+
18+
## CraftEngine / ItemsAdder / Nexo
19+
20+
三者当前都采用运行时反射注册事件监听,而不是编译期硬依赖。
21+
22+
这样做的结果是:
23+
24+
- 没安装对应插件时,`MatrixStorage` 仍可正常启动。
25+
- 安装后会自动接管对应事件。
26+

docs/matrixstorage/mailbox.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: 邮箱
3+
description: MatrixStorage 邮箱模块的入口与行为。
4+
---
5+
6+
# 邮箱
7+
8+
当前邮箱同时承担两种业务:
9+
10+
- 玩家互寄
11+
- 系统金额投递通知
12+
13+
## 当前附件能力
14+
15+
- 文本内容
16+
- 主手物品附件
17+
- Vault 金额附件
18+
19+
## 领取规则
20+
21+
- 金额附件:领取时尝试通过 Vault 发放。
22+
- 物品附件:领取时进入玩家待收区。
23+
- 邮件可在 UI 中归档。
24+
25+
## UI 规则
26+
27+
邮箱页默认按时间倒序展示:
28+
29+
- 左键领取
30+
- 右键归档
31+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: 仓库总览
3+
description: 玩家个人仓库、待收区与实体仓库总览中心。
4+
---
5+
6+
# 仓库总览
7+
8+
`/warehouse``/matrixstorage` 默认都会进入总览中心。
9+
10+
总览页当前聚合:
11+
12+
- 个人仓库
13+
- 待收区
14+
- 邮箱入口
15+
- 玩家拥有的全部实体仓库列表
16+
17+
## 实体仓库列表
18+
19+
列表项当前展示:
20+
21+
- 显示名
22+
- 仓库 ID
23+
- 世界坐标
24+
- 来源类型
25+
26+
点击行为:
27+
28+
- 左键打开仓库
29+
- 右键打开设置
30+

0 commit comments

Comments
 (0)