• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
【1.12-1.21+|Folia】🧳 WarZBackPack|多形态背包插件|支持绑定物品|支持黑名单物品|用插件实现mod般的体验

原创 付费 【1.12-1.21+|Folia】🧳 WarZBackPack|多形态背包插件|支持绑定物品|支持黑名单物品|用插件实现mod般的体验 1.4.4

请登录后获取
[MD] ## 新增 1. `bind-type: ITEM` 的实体背包支持在任意容器界面中右键玩家物品栏直接打开。 2. 直接开包会复用已有的权限校验、战斗锁定、开包读条以及移动/受伤打断机制。 ## 调整 1. 实体背包打开后会记录并锁定其原始物品格位。 2. 背包关闭时会将 NBT、重量 Lore 和价值 Lore 写回原始背包物品,避免多个同 ID 实体背包之间的数据写入混淆。 3. 背包凭证被外部移除时,界面会中止并停止保存,防止幽灵背包或数据复制风险。 4. 背包终端允许访问玩家下方物品栏,使物品栏右键入口可正常使用。 ## 交互规则 1. 从物品栏直接打开时,鼠标光标必须为空,且不能按住 Shift。 2. 光标持有物品时保留原有快捷存入行为,不会触发直接开包。 3. 手持实体背包右键打开的原有方式保持不变。 ## 兼容性 1. 不新增配置项,也不需要修改已有配置。 2. 账号背包、实体背包、文件存储和数据库结构均不需要迁移。 3. `ITEM_RIGHT_CLICK` 配置项自动覆盖两种右键开包方式。 [/MD]
[MD] # WarZBackPack v1.4.3 更新日志 - **版本号**: 1.4.3 - **更新类型**: 背包物品价值 Lore / 配置增强 - **兼容范围**: 1.12.2 - 1.21+ ## 新增 1. 新增可选的背包物品总价值计算功能,默认关闭。 2. 支持从物品 Lore 中读取价值,例如 `价值:100金币`。 3. 支持按物品堆叠数量计算总价值,并通过 `%value%` 替换背包 Lore 中的占位符。 4. 支持配置价值正则表达式、小数位数、占位符和旧价值行识别前缀。 5. 支持单个背包通过 `display-value-lore` 覆盖全局开关。 ## 配置示例 ```yaml item-value-display: enable: false lore-regex: '价值\s*[::]\s*(-?[0-9]+(?:\.[0-9]+)?)\s*金币?' decimal-places: 0 placeholder: "%value%" lore-prefix: "价值" backpacks: tactical_item: display-value-lore: true lore: - "&7背包总价值: &e%value%金币" ``` ## 兼容性 1. 默认开关为 `false`,不配置 `%value%` 的旧配置不受影响。 2. 旧配置没有 `display-value-lore` 时,使用全局 `item-value-display.enable`;缺少新增配置时使用内置默认值。 3. 现有实体背包不会批量迁移;启用功能后,玩家关闭背包或快捷存入成功时会更新其 Lore。 4. 背包内部数据仍使用原有序列化方式保存,不改变已有物品内容和绑定逻辑。 [/MD]
[MD] ## 新增 1. 新增全局配置 `item-display.display-id-lore`,用于控制背包物品 Lore 是否显示可见 ID 行。 2. 新增全局配置 `item-display.id-lore-format`,用于自定义可见 ID 行格式。 3. 新增单背包配置 `item-name`,用于将物品名称/菜单图标名称与 GUI 标题 `title` 分离。 4. 支持单背包覆盖 `display-id-lore` 和 `id-lore-format`。 ## 调整 1. 新发放背包时,默认隐藏玩家可见的 `ID: xxx` Lore。 2. `title` 专注用于背包 GUI 窗口标题。 3. `/bp get <id>` 发放的背包物品名称改为读取 `item-name`。 4. 主菜单中的背包图标名称改为读取 `item-name`。 ## 兼容性 1. 旧配置未添加 `item-name` 时,会自动沿用原有 `title`,不会导致配置报错。 2. 内部背包 ID 仍通过 PDC/NBT 或隐藏 Lore 保存,不影响右键打开、物品绑定、快捷存入和数据存储。 3. 旧物品上已经存在的可见 ID Lore 不会被批量强制改写;在实体背包保存时会按新配置逐步清理。 [/MD]
[MD] --- ## 🎯 主要更新内容 ### 1. 新增实体背包快捷存入 - 为 `BindType: ITEM` 的实体背包新增“将物品拖到背包物品上自动存入”的交互。 - 支持将普通物品直接点击到实体背包物品上时自动尝试存入内部空间。 - 支持多页背包按页连续存入。 - 若背包空间不足,未存入部分会保留在光标上。 ### 2. 快捷存入改为可选项 - 新增配置: ```yaml quick-store: enable: true ``` - 服主可自行开启或关闭该功能。 - 关闭后恢复默认物品交换逻辑,不影响其他背包功能。 ### 3. 保持原有安全限制 - 快捷存入不会绕过原有限制: - 战斗锁定 - 权限校验 - 黑名单限制 - 防套娃限制 ### 4. 重量 Lore 同步优化 - 快捷存入成功后,若启用了重量显示,会自动刷新实体背包物品上的内部重量 Lore。 ### 5. 兼容性保护 - 新增堆叠实体背包保护,避免在异常堆叠状态下触发快捷存入。 --- [/MD]
修复Folia声明字段缺失导致的兼容性问题
修复custommodeldata功能
[MD] ## 🛠️ 修复与优化 (Bug Fixes & Improvements) ### 🐛 交互修复 1. **修复主菜单 (Hub) 点击问题**: * 修复了在主菜单中点击“物品绑定 (BindType: ITEM)”类型的背包时,会触发读条但最终无法打开的问题。 * 现在点击此类背包时,会收到明确提示:“此战术单元需持有物理凭证(绑定物品)方可访问。” 2. **指令优化**: * `/bp get <id>` 指令现在支持在 Lore 中解析 `%id%` 变量,解决了生成的背包物品显示“ID:”为空的问题。 * 这不会影响物品的功能(因为功能ID是隐藏存储的),但显著提升了物品信息的直观性。 3. **健壮性增强**: * 优化了背包加载逻辑,防止在某些异常调用情况下静默失败。 [/MD]
[MD] # WarZBackPack v1.3.2 更新公告 ## 🎒 核心功能更新:PlaceholderAPI 变量支持 本次更新新增了对 **PlaceholderAPI** 的支持,方便在记分板、菜单或聊天栏中显示背包信息。 ### ✨ 新特性 1. **PlaceholderAPI 变量支持**: * `%warzbackpack_slots_<id>%`:显示指定 ID 背包的总槽位数(所有页数之和)。 * `%warzbackpack_rows_<id>%`:显示指定 ID 背包的每页行数。 * `%warzbackpack_pages_<id>%`:显示指定 ID 背包的总页数。 * `%warzbackpack_current_slots%`:显示当前打开背包的总槽位数。 * `%warzbackpack_current_rows%`:显示当前打开背包的每页行数。 * `%warzbackpack_current_pages%`:显示当前打开背包的总页数。 * `%warzbackpack_current_page%`:显示当前打开背包的页码。 * `%warzbackpack_current_items%`:显示当前打开背包页面的物品数量。 ### 🛠️ 优化 * 优化了依赖加载逻辑,检测到 PlaceholderAPI 时自动注册变量。 --- [/MD]

WarZBackPack v1.3.0 正式版更新公告​



🔥 版本亮点:全版本兼容!1.12.2 - 1.21+ 通吃​



本次 v1.3.0 版本完成底层架构重大重构,核心解决了不同 Minecraft 版本的兼容问题,无论是经典的 1.12.2 模组服,还是最新的 1.21+ 原版服务端,均可流畅运行!


🎯 核心更新内容​



1. 全版本适配,覆盖更多服务器场景​



  • ✅ 完美支持 1.12.2 版本(CatServer/Mohist 等模组服),解决旧版本启动报错、功能异常问题;
  • ✅ 保留对 1.21+ 版本(Paper/Folia)的原生适配,不牺牲新版本特性体验。


2. 智能材质兼容,告别配置适配烦恼​



  • 集成 XMaterial 核心库,配置文件中填写的新版材质名(如 GRAY_STAINED_GLASS_PANE)会自动转换为 1.12.2 对应的 ID/Data 格式(如 STAINED_GLASS_PANE:7);
  • 无需为不同版本单独修改配置文件,一份配置全版本通用。


3. 通用数据存储,跨版本更稳定​



  • 物品绑定模式(BindType: ITEM)采用「隐形 Lore 技术」存储数据,彻底解决 1.13 以下版本无 PersistentDataContainer API 的兼容问题;
  • 数据存储逻辑重构,跨版本迁移更安全,避免数据丢失 / 错乱。


4. 底层优化与 Bug 修复​



  • 修复 1.12.2 服务器因 Java 版本不兼容导致的 ClassVersionError 启动失败问题(已降级为 Java 8 编译);
  • 修复低版本服务器打开物品绑定背包时的报错问题;
  • 适配 Java 8 环境,降级 HikariCP 依赖版本,保障数据库连接稳定性。


⚠️ 重要更新注意事项(必看)​



1. 数据兼容性说明​



  • 物品绑定背包(BindType: ITEM)

    因数据存储方式从 NBT 改为隐形 Lore,v1.2.0 版本生成的物品背包更新后将无法打开!

    ▶ 解决方案:请提醒玩家更新前清空物品背包,或管理员通过 /bp get 指令重新发放新版背包;
  • 账号绑定背包(BindType: ACCOUNT):无影响,数据存储在 MySQL / 本地文件中,可直接平滑升级。


2. 配置文件与部署​



  • 无需手动修改配置文件,插件自动处理材质名兼容;
  • 插件已自动移除 plugin.yml 中的 api-version 字段,确保 1.12.2 服务器正常加载;
  • 插件内置所有依赖(HikariCP、XSeries 等),直接将 jar 包放入 plugins 文件夹即可运行,无需额外安装依赖。


📌 升级方式​



  1. 停止服务器,备份旧版本插件文件及配置;
  2. 删除旧版 WarZBackPack 插件文件,将 v1.3.0 版本 jar 包放入 plugins 目录;
  3. 启动服务器,插件自动完成适配,无需额外配置。
- WarZDeathChest ( DeathChestManager.java ):

- 新增了 getLastChest(UUID owner) 方法,用于获取玩家最新创建的死亡盒子。
- WarZBackPack ( BackpackListener.java ):

- 修改了 onPlayerDeath 死亡监听逻辑。
- 现在通过反射机制(Reflection)检测并调用 WarZDeathChest 的功能:
- 尝试合并 :优先查找玩家刚生成的死亡盒子,将背包物品直接放入其中。
- 自动创建 :如果玩家身上没东西(未生成盒子),插件会强制为背包物品创建一个新的死亡盒子。
- 兼容性 :如果未安装 WarZDeathChest 或操作失败,物品将按原逻辑自然掉落,确保物品不丢失。
后退
顶部 底部