# PlayerVaultZ

⚡ Lightning-fast 现代保险箱系统,具有智能分页、智能排序和即时搜索功能。能够以秒速无缝迁移 PlayerVaultsX。
## ✨ 核心特性
- 📄 分页 — 具有直观导航控件的时尚多页界面
- 🔄 排序 — 先进的组织模式,用于精良的保险箱管理

- 🔍 智能搜索 — 带有可点击结果,可直接跳转至准确的保险箱/页面/槽位位置的基于铁砧的快速查找器

- 📦 导入 — 无缝的 PlayerVaultsX 保险箱迁移系统
- 🔐 权限 — 细粒度的每个玩家限制和管理层监督
- ⚡ 性能 — 异步 I/O 操作、SQLite 后端,流畅的体验
## 🛡️ 保护与安全
- 🚫 封锁列表系统 — 通过材质、自定义名称、lore 或 NBT 标签封锁物品,并配置拒绝消息和管理员绕过
```
# 封锁列表设置
blacklist:
# 启用物品封锁
enabled: true
# 无法存储在保险箱中的封锁材质列表
# 使用 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html 中的材质名称
materials:
- BEDROCK
- COMMAND_BLOCK
- COMMAND_BLOCK_MINECART
- CHAIN_COMMAND_BLOCK
- REPEATING_COMMAND_BLOCK
- STRUCTURE_BLOCK
- STRUCTURE_VOID
- BARRIER
- DEBUG_STICK
- KNOWLEDGE_BOOK
- SPAWNER
- SHULKER_BOX
- WHITE_SHULKER_BOX
- ORANGE_SHULKER_BOX
- MAGENTA_SHULKER_BOX
- LIGHT_BLUE_SHULKER_BOX
- YELLOW_SHULKER_BOX
- LIME_SHULKER_BOX
- PINK_SHULKER_BOX
- GRAY_SHULKER_BOX
- LIGHT_GRAY_SHULKER_BOX
- CYAN_SHULKER_BOX
- PURPLE_SHULKER_BOX
- BLUE_SHULKER_BOX
- BROWN_SHULKER_BOX
- GREEN_SHULKER_BOX
- RED_SHULKER_BOX
- BLACK_SHULKER_BOX
# 通过自定义名称封锁的物品列表(支持颜色代码)
# 具有这些确切显示名称的物品将被封锁
custom-names:
- "&cAdmin Item"
- "&4Banned Item"
# 通过 lore 封锁的物品列表(检查是否有此文本)
# 支持颜色代码
lore-contains:
- "SOULBOUND"
- "Quest Item"
- "Cannot be stored"
# 封锁的 NBT 标签列表
# 具有这些 NBT 标签的物品将被封锁
nbt-tags:
- "AdminItem"
- "NoVault"
# 当玩家尝试存储封锁的物品时显示的提示信息
message: "&cThis item cannot be stored in vaults!"
# 允许管理员绕过封锁列表
admin-bypass: true
```
- 💾 自动备份 — 在保险箱关闭/玩家加入时进行计划备份,使用压缩的 .yml.gz 存储以及保留限制
- 🔄 恢复 GUI — 浏览每个保险箱的备份历史记录,预览内容,选择性地恢复物品/页面,并进行安全检查
- ⚠️ 紧急恢复 — 损失检测触发并进行预恢复安全备份
- 🎨 自定义
- 🖼️ GUI 设计器 — 完全可配置的导航栏、填充物品、自定义标题/占位符和音效
- 🎯 导航样式 — 选择箭头、书籍、玩家头或自定义导航图标
- ✨ 自定义物品 — 原生支持 Nexo、ItemsAdder 和 Oraxen,并提供自动的香草回退
- 🔊 音频系统 — 自定义所有交互的音频反馈
## 🎮 指令
- /pv — 访问主保险箱
- /pv <#> — 打开特定保险箱编号
- /pv <#> — 浏览另一个玩家的保险箱(需要权限)
- /pv search [term] — 启动搜索界面或直接搜索
- /pvadmin — 管理员控制面板
- /pvimport playervaultsx — 执行 PlayerVaultsX 迁移
## 📥 从 PlayerVaultsX 迁移
1. 将 .yml 文件部署到 plugins/PlayerVaultZ/import/playervaultsx
2. 执行 /pvimport playervaultsx 初始化迁移
3. 聊天中显示进度跟踪,以及完成统计数据
💡 提示:请先用一个玩家的保险箱数据进行测试,然后再使用其余数据,以确保所有物品都被捕获和正确导入。如果在此过程中遇到任何问题 - 请向我报告!
## 🔑 权限
- playervaultz.use — 启用保险箱访问(默认:true)
- playervaultz.vaults.N — 授予N个保险箱槽位(例如:playervaultz.vaults.5)
- playervaultz.other — 访问其他玩家的保险箱(管理员)
- playervaultz.sort — 启用保险箱排序(默认:true)
- playervaultz.sort.others — 排序其他玩家的保险箱(管理员)
- playervaultz.import — 执行导入命令(管理员)
- playervaultz.admin — 完全的管理员套件
- playervaultz.blacklist.bypass — 绕过物品限制(管理员)
- playervaultz.unlimited.vaults — 无限制的保险箱访问
## 🚀 快速开始
1. 将 JAR 部署到 plugins/ 目录
2. 通过您的管理插件配置权限
3. 在 config.yml 中自定义 GUI 元素
4. 可选:导入现有的 PlayerVaultsX 数据