WarZHongBao —— 全版本|金币红包|点券红包|物品红包|拼手气机制|沉浸互动【1.7 - 1.21+ 全兼容(Folia)】

原创 娱乐 经济 WarZHongBao —— 全版本|金币红包|点券红包|物品红包|拼手气机制|沉浸互动【1.7 - 1.21+ 全兼容(Folia)】 1.9.15

请登录后获取
修复跨服红包重复领取 Bug :
- 在数据库操作层面( RedPacketDAO )增加了忽略大小写的玩家名检查逻辑。
- 解决了因跨服环境下玩家名大小写不一致(如 Player 与 player )导致系统误判未领取,从而允许重复领取红包的问题。
[MD] * **修复**:解决了在红包过期退回时可能出现的 `java.lang.IllegalArgumentException: name cannot be null` 报错。 * **优化**:增强了退款逻辑的健壮性,现在当红包拥有者数据异常(如为 null)时,插件会输出警告日志而不会崩溃或报错。 [/MD]
WarZHongBao 1.8.5更新
- 物品名称汉化修复

- 更新 : ItemNameUtil 现在会优先读取 items.yml 中的配置来显示物品名称。
- 效果 :解决了部分物品(如药水、特殊工具)显示为英文名的问题。您可以通过修改 items.yml 自定义任何物品的显示名称。
- 红包口令违禁词过滤

- 更新 :在 config.yml 中新增了 blocked_passwords 配置项。
- 效果 :当玩家创建红包时,如果口令包含配置中的违禁词(如辱骂性词汇),系统将拦截并提示“红包口令包含违禁词,请更换!”。支持 /hb reload 热重载配置。
- 定时红包稳定性优化 (继承自 1.8.4)

- 更新 :修复了定时红包管理器未初始化的问题,并改进了时间检测算法。
- 效果 :彻底解决了定时红包不发送或因服务器卡顿而漏发的问题。
- 修复定时红包失效问题 :

- 问题 :原版代码在插件启动时遗漏了 ScheduledPacketManager 的初始化,导致定时任务根本没有运行。
- 修复 :在 WarZHongBao.java 的 onEnable 阶段正确初始化并启动了定时红包管理器。
- 优化任务调度算法 :

- 问题 :旧的调度逻辑要求当前时间必须精确匹配设定时间(例如 12:00:00 ),如果服务器在这一秒出现卡顿或 TPS 降低,就会导致跳过该秒,从而错过红包发送。
- 优化 :重构了 ScheduledPacketManager.java 中的检测逻辑,改为检测 时间区间 (即“上一次检查时间”到“当前时间”之间是否包含设定时间点)。这种方式即使服务器卡顿数秒,也能在恢复后立即补发红包,极大提高了稳定性。
本次已完整实现并验证发红包冷却功能,覆盖所有红包类型,支持配置自定义冷却、权限绕过,所有修改均编译验证通过,具体更新内容如下:


  1. 新增冷却时间配置:config.yml中添加send_cooldown配置项(默认 0 秒),支持自定义全局发红包冷却时长;
  2. 实现核心冷却逻辑:在WarZHongBao.java新增checkCooldown/updateCooldown方法,完成玩家冷却状态的检查与更新;
  3. 全红包类型适配:金币红包 (/fhb money)、点券红包 (/fhb ticket)、物品红包(GUI 确认环节)均已集成冷却检查,无功能遗漏;
  4. 新增权限绕过节点:plugin.yml注册warzhongbao.bypass.cooldown权限,拥有该权限的玩家(默认 OP)可无视冷却限制;
  5. 完善提示与配置:确认中文语言文件lang_zh.yml的冷却提示文案(lang_51:&c 发红包太频繁了,请等待 {0} 秒!),提示信息自动填充剩余冷却时间。
WarZHongBao 1.8.1更新
一、核心修复与优化
1. 修复红包数量调整无效问题

- 原问题:计算可发红包数量时仅统计“占用格子数”,例如一组64个钻石误判为“1个物品”,无法设置红包个数大于1。

- 修复后:逻辑更新为统计“物品总堆叠数量”,放入64个钻石可自由设置1~64个红包,符合实际使用需求。

2. 物品分配逻辑升级

- 支持“拆包”分配:确认发送时,自动将堆叠物品(如64个一组)“炸开”为单个物品放入奖池。

- 随机更灵活:例如10人抢64个钻石红包,每人抢到数量更随机离散,不再以“组”为单位分配,大幅提升抢红包趣味性。

二、数据与兼容性说明

1. 数据库结构自动升级

- 背景:物品堆叠拆分后数据量会增加(如54组物品拆分为数千个单项数据),易出现数据截断报错。

- 优化:插件将自动检测并尝试把数据库中 items 字段类型升级为 LONGTEXT,支持更大容量文本存储,保障数据稳定。

2. 版本号更新:插件正式升级至 v1.8.1。

WarZHongBao 1.8.2更新
一、问题分析

此前版本中,金币红包和物品红包领取成功后,仅通过屏幕中央Title(标题)提示。若玩家连续领取多个红包或注意力在聊天栏,Title提示易被覆盖、忽略,导致玩家无法知晓自己的领取金额/物品;而点券红包本身具备聊天栏提示,三种红包体验不一致。

二、核心修复方案

1.

1. 增加聊天栏反馈:修改 WarZHongBao.java 中的领取逻辑,金币红包、物品红包领取成功后,除保留原有炫酷Title提示外,同步在聊天栏发送详细领取消息(示例:“你抢到了 100 金币”“你抢到了 1 个钻石”),确保玩家清晰知晓领取结果。

2. 统一三种红包体验:实现金币、点券、物品三类红包领取反馈机制一致,均采用“Title提示 + 聊天消息提示”的双重保障模式,提升玩家使用体验的连贯性。
WarZHongBao1.8.1更新
一、更新内容
1.

1. 版本迭代:从 v1.8.0 升级至 v1.8.1。

2. 1.7.10 兼容性修复:解决 1.7.10 服务器红包 GUI 增减数量按钮无响应问题。原因是 getClickedInventory() 方法不兼容 1.7.10 API,现已替换为全版本兼容(1.7.10 - 1.21+)的 getRawSlot() 方法。

3. 文档同步:README.md 已补充 v1.8.1 更新日志。

二、更新建议

1. 1.7.10 服主:强烈建议立即更新,保障红包功能正常使用;

2. 其他版本服主:v1.8.0 无异常可按需更新,追求全版本兼容建议更新。

更新后若有问题,欢迎及时反馈。感谢支持!
WarZHongBao1.8.0更新内容总结 :

1. 最大红包数量限制 :

- 在 config.yml 中新增了 bribery_money.max_packets 选项。
- 默认限制为 50 个。
- 设置为 -1 可取消限制。
- 现在玩家尝试发送超过限制数量的红包时会被拦截并收到提示。
2. 物品名本地化重构 (ItemNameUtil) :

- 移除 了对 items.yml 的依赖,不再需要维护庞大的语言文件。
- 实现了新的命名优先级策略:
1. 自定义显示名称 ( DisplayName ): 最高优先级,支持 NBT 修改过的物品名。
2. I18N 本地化名称 ( Adventure API ): 使用 Component.translatable 自动获取原版物品的翻译键值 (Translation Key),适配客户端语言设置。
3. Material 名称 : 作为最后的兜底方案,将材质枚举名格式化为可读字符串 (如 DIAMOND_SWORD -> Diamond Sword )。
- 引入了 Adventure API 库以支持高级文本处理。
WarZHongBao1.7.9更新内容 :

1. 配置文件 ( config.yml ) :
- 新增 tax 配置块,包含开关 ( enabled ) 和税率 ( rate )。
- 默认关闭 ( enabled: false )。
- 默认税率为 0.05 (即 5%)。
2. 功能实现 :
- 金币红包 : 领取时自动扣除配置的税率,玩家实际获得金额为扣税后金额。
- 点券红包 : 同样支持扣税,计算结果向下取整。
- 显示优化 : 屏幕标题、聊天栏提示以及全服广播中显示的金额均为 玩家实际到手 的金额(已扣税)。
WarZHongBao🚀 更新总结 (v1.7.8)
1. 版本升级 :

- 插件版本已更新为 1.7.8 ( pom.xml 和 plugin.yml )。
- 构建完成,生成文件: target\WarZHongBao-1.7.8.jar 。
2. 功能更新 :

- 新增口令显示配置 :在 config.yml 中添加了 show_password_in_chat 选项。
- true (默认):玩家输入的领红包口令会显示在公共聊天栏。
- false :插件会拦截口令消息,仅触发领红包逻辑,不显示在聊天栏。
- 消息屏蔽支持 :优化了消息发送逻辑,现在如果在语言文件 ( lang_zh.yml ) 中将某条消息设置为空 ( "" ),插件将不再发送该条提示,方便用户屏蔽不想要的信息。
后退
顶部 底部