【1.7-1.2+】WarZSafeBox-在MC中还原塔科夫/三角洲中的安全箱功能吧|自带升降级|限时|布局自定义|

原创 付费 【1.7-1.2+】WarZSafeBox-在MC中还原塔科夫/三角洲中的安全箱功能吧|自带升降级|限时|布局自定义| 1.3.1

请登录后获取
[MD] ## v1.3.1 日期:2026-10-08 ### 修复 - 修复放入物品后立即关箱、传送或切服时,异步保存尚未入库而目标区读取旧记录的问题:关箱、传送前、踢出前和离服时同步提交最后的安全箱数据。 - 修复已提交异步保存后 dirty 标记变为 false,关箱误以为无需保存的问题:单独跟踪待写快照,关箱等待最新内容提交完成。 - 修复跨区返回原子服后复用旧内存缓存的问题:离服成功保存后释放缓存,每次入服读取共享数据库,MySQL 开箱前再次刷新干净缓存。 - 修复原子服停服时强制保存已离线玩家旧缓存,覆盖其他子服最新数据的问题;只保存实际修改或仍未提交的数据。 - 旧异步任务和旧界面的延迟回调不再覆盖新会话或新界面。 - 补齐从玩家背包 Shift 点击放入物品后的保存回调,并校验关箱事件对应的实际安全箱界面。 ### 优化 - 保存失败时保留待恢复数据并提示玩家;传送前保存失败会取消该次 Bukkit 传送。 - 同服传送会先保存并关闭安全箱;管理员查看界面保持只读,避免误修改或空对象异常。 - 物品操作后的延迟保存使用现有 SchedulerUtil 适配器,普通后台保存仍为异步。 多子服共享时应将所有子服升级至 1.3.1,并使用同一 MySQL 数据库、表名前缀和玩家 UUID。 [/MD]
[MD] ## v1.3.0 日期:2026-10-05 ### 修复 - 修复 `storage.type: mysql/sqlite` 不生效的问题:旧版本配置提供了数据库选项,但所有数据仍然固定读写 `data/<UUID>.yml`。 - 接入真实 MySQL / SQLite 读写,启动时自动建立 `<table-prefix>safeboxes` 表,保存玩家 UUID、等级、物品槽位和过期时间。 - 数据库配置错误或初始化失败时停止启用插件,并输出原因,避免继续使用 YAML 而误以为数据库已生效。 - 数据加载失败时拒绝创建空箱,保存失败时保留脏标记等待重试,避免损坏或连接异常覆盖已有数据。 - 串行检查并写入保存快照,防止较早提交的异步任务覆盖新记录;停服同步保存后关闭数据库连接。 - 重新登录时复用内存中已加载的安全箱,防止尚未完成的保存被旧数据覆盖。 ### 新增 - SQL 模式默认自动导入已有 `data/*.yml`,包含离线玩家;仅导入数据库中不存在的玩家,已有数据库记录优先,原文件保留为备份。 - 新增 `storage.migrate-yaml` 开关及 SQLite 文件、表名前缀配置。 - 打包 Java 8 可用的 MySQL / SQLite 驱动,无需服主另行安装 JDBC 驱动。 ### 优化 - 启动日志明确显示实际存储类型和数据表;SQL 模式运行期间不再更新玩家 YAML 文件。 - `/safebox admin reload` 检测存储配置修改并提示重启,避免运行中切换存储造成数据混用。 - YAML 模式使用临时文件替换方式写入;版本由 Maven 统一写入 `plugin.yml`。 [/MD]
  • 修复服务器关闭或插件卸载阶段,安全箱保存仍尝试注册异步任务导致的报错
  • 调整停服保存流程:先同步打开中的安全箱内容,再同步落盘
  • 增加保存版本保护,避免旧异步保存覆盖新数据
  • 修复权限模式下保险箱等级只在登录时加载一次的问题。
  • 玩家在线期间权限节点变化后,不再需要重新进服;下次打开保险箱会按当前最高权限同步。
  • 补充文档说明当前行为,并新增 FAQ,明确“在线改权限后只需关掉再打开保险箱”。
[MD] ### v1.2.7 (2026-03-18) - 修复溢出模式下取出物品后未正确保存的问题。 - 修复降级后反复提示溢出、再次打开物品被“刷回”的问题。 - 调整溢出模式的数据同步逻辑:按当前展示层级同步,保证清理溢出物品后状态可正确恢复。 [/MD]
[MD] ### v1.2.6 (2026-03-07) - **按等级配置前摇 (Tier-based Open Delay)**:支持为不同等级的安全箱配置独立的打开前摇时间。 - 新增 `open-delay.duration-by-tier` 配置项,可精确控制每个等级的读条时长。 - 若特定等级未配置时长,则自动回退使用全局 `open-delay.duration` 设置。 - 支持设置为 `0` 秒以实现特定等级(如高级会员)秒开安全箱。 [/MD]
WarZSafeBox 更新内容 (v1.2.5)
1. 开启前摇功能 :
- 在 config.yml 中新增了 open-delay 配置模块,支持开关、时长设置及移动打断(防跑路)。
- 核心逻辑 : 玩家输入 /safebox open 后进入读条状态,移动会自动打断。
2. UI/UX 升级 :
- 实现了 Title + Subtitle + ActionBar 的组合显示。
- 进度条采用 ||||||||||||||| 样式,配色为 &a (完成) / &8 (未完成)。
3. 底层优化 :
- 升级了 SchedulerUtil 工具类,支持任务取消(Cancellable Task),兼容 Bukkit 与 Folia 架构。
- 🛡️ 增强物品禁用机制
- 更智能的 ID 匹配 :不再区分大小写( BEDROCK = bedrock ),支持省略前缀( bedrock = minecraft:bedrock ),支持下划线格式( minecraft_bedrock )。
- 🔒 修复绕过漏洞
- Shift + 左键 :修复了从玩家背包快速移入违禁品的问题。
- 热键交换 :修复了使用数字键将违禁品交换进去的问题。
- 副手交换 :修复了使用 F 键将副手违禁品交换进去的问题。
- 鼠标拖拽 :修复了拖拽违禁品“滑入”安全箱的问题。
新增“溢出查看模式” (Overflow Mode)
- 智能识别 :当安全箱等级降低(如VIP过期)且内部物品超出新等级容量时,系统会自动激活此模式。
- 临时扩容 :界面会自动扩展,使用能容纳所有物品的最小等级界面打开,确保玩家能看到并取出所有物品。
- 存取限制 :在溢出模式下,玩家 只能取出 物品, 禁止存入 新物品,直到清理完所有溢出物品。
- 自动恢复 :一旦物品数量符合当前等级限制,下次打开时将自动恢复为正常的等级界面。
✅ 更新摘要 (v1.2.2)
1. 版本升级 :
- pom.xml 、 plugin.yml 和 config.yml 中的版本号已更新为 1.2.2 。

📝 变更详情
- 配置优化 (disabled-slot) :
- 在 config.yml 中新增了 disabled-slot 配置项。
- 现在您可以完全自定义安全箱中未启用槽位(挡板)的物品样式,包括材质、名称、Lore 和 CustomModelData。
- 数据安全 (Data Safety) :
- 实时保存 :实现了 GUI 操作后的实时保存机制(1 tick 延迟),确保物品变动被立即持久化。
- 优先级调整 :将 InventoryCloseEvent 的优先级提升为 HIGH ,进一步防止因服务器延迟导致的数据回档问题。
后退
顶部 底部