YuVault 插件联动
YuVault 当前没有公开的 Java API 文档,主要通过 Bukkit 命令、权限系统、MySQL 存储、GUI 配置和消息文件完成联动。对大多数服务器而言,这些入口已经能覆盖菜单打开、会员容量、跨服共享、世界限制和运维审计。
命令联动
菜单插件、NPC 插件、任务插件可以直接执行命令:
bash
yvault gui
yvault open 1
yvault reclaimed管理员或控制台联动他人保险柜时,需要目标玩家已存在于服务器离线玩家记录中:
bash
yvault open Steve 1
yvault list Steve
yvault create Steve 1权限插件联动
YuVault 最重要的联动入口是权限系统:
| 场景 | 权限 |
|---|---|
| 基础使用 | yuvault.use |
| 回收箱 | yuvault.reclaimed |
| 保险柜数量 | yuvault.vaults.<数量> |
| 指定保险柜容量 | yuvault.slots.<编号>.<行数> |
| 全容量 | yuvault.slots.* |
| 无限保险柜 | yuvault.vaults.* |
LuckPerms 示例:
bash
/lp group default permission set yuvault.use true
/lp group default permission set yuvault.reclaimed true
/lp group default permission set yuvault.vaults.1 true
/lp group default permission set yuvault.slots.1.3 true
/lp group vip permission set yuvault.vaults.5 true
/lp group vip permission set yuvault.slots.1.6 trueMySQL 跨服共享
多子服共用保险柜时,将每个子服的 storage.type 设置为 mysql 并指向同一个数据库。插件会使用两张表:
| 表 | 用途 |
|---|---|
vaults | 保存玩家保险柜内容、保险柜编号和命令模式下的槽位行数。 |
reclaimed_items | 保存因缩容或删除产生的回收物品。 |
建议:
- 所有子服使用同一版本 YuVault。
- 使用同一套
item-control与world-control策略,避免不同子服规则冲突。 - 给数据库账号最小必要权限,并定期备份。
- 避免玩家同时在多个子服打开同一个保险柜;插件有打开占用保护,但跨进程并发仍建议从运营规则上约束。
GUI 与菜单联动
list-gui.back-button 可以把保险柜列表接回主菜单:
yaml
list-gui:
back-button:
enabled: true
material: "CLOCK"
name: "&b返回主菜单"
slot: 48
command: "menu open {player}"{player} 会替换为点击者名称。外部菜单也可以直接执行 /vault gui 打开保险柜列表。
世界与物品控制
YuVault 自身提供基础黑白名单:
world-control控制哪些世界允许打开保险柜。item-control控制哪些物品允许放入保险柜。yuvault.bypass.world、yuvault.bypass.world.<世界名>、yuvault.bypass.item可给管理员或特殊组绕过限制。
如果服务器已经使用 WorldGuard、领地或跨服背包限制插件,建议把 YuVault 的世界限制作为第一层粗粒度开关,再由其他插件管理更细的区域规则。
文件结构
YuVault 会在插件数据目录维护这些文件:
| 路径 | 用途 |
|---|---|
plugins/YuVault/config.yml | 主配置。 |
plugins/YuVault/messages.yml | 消息文本。 |
plugins/YuVault/vaults.db | SQLite 模式下的保险柜数据库。 |
plugins/YuVault/libs/ | 运行时下载并缓存的数据库驱动与连接池依赖。 |
bStats
插件内置 bStats Bukkit 统计:
| 项目 | 值 |
|---|---|
| 插件 ID | 31043 |
| 插件名 | YuVault |
| 平台 | Bukkit |
bStats 不影响核心保险柜功能。如果服务器关闭 bStats,全局 bStats 配置会决定是否上报。