跳到正文

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 true

MySQL 跨服共享

多子服共用保险柜时,将每个子服的 storage.type 设置为 mysql 并指向同一个数据库。插件会使用两张表:

用途
vaults保存玩家保险柜内容、保险柜编号和命令模式下的槽位行数。
reclaimed_items保存因缩容或删除产生的回收物品。

建议:

  • 所有子服使用同一版本 YuVault。
  • 使用同一套 item-controlworld-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.worldyuvault.bypass.world.<世界名>yuvault.bypass.item 可给管理员或特殊组绕过限制。

如果服务器已经使用 WorldGuard、领地或跨服背包限制插件,建议把 YuVault 的世界限制作为第一层粗粒度开关,再由其他插件管理更细的区域规则。

文件结构

YuVault 会在插件数据目录维护这些文件:

路径用途
plugins/YuVault/config.yml主配置。
plugins/YuVault/messages.yml消息文本。
plugins/YuVault/vaults.dbSQLite 模式下的保险柜数据库。
plugins/YuVault/libs/运行时下载并缓存的数据库驱动与连接池依赖。

bStats

插件内置 bStats Bukkit 统计:

项目
插件 ID31043
插件名YuVault
平台Bukkit

bStats 不影响核心保险柜功能。如果服务器关闭 bStats,全局 bStats 配置会决定是否上报。