
修复与更新内容
1. 修复公会升级连点漏洞
- 问题 :玩家在升级界面未关闭时多次点击,可能导致重复扣费或状态异常。
- 修复 :修改了 GuiManager.java 的点击处理逻辑,现在玩家点击“公会升级”按钮时会自动关闭 GUI 界面,防止连续操作。
2. 修复公会签到机制 (由公会限制改为个人限制)
- 问题 :之前是整个公会每天只能签到一次,导致一个成员签到后其他人无法签到。
- 修复 :
- 在数据库中新增了 player_sign_ins 表,用于记录每个玩家的签到时间。
- 修改了 GuildCommand.java 中的签到逻辑,现在每位公会成员每天都可以独立签到并为公会增加资金。
- 更新了 GuildManager.java 以支持新的数据存取。
3. 修复跨服玩家名显示 "Unknown" 问题
- 问题 :在跨服环境下(或玩家离线时),无法通过 UUID 获取到玩家名,导致公会列表、成员列表和申请列表中显示为 "Unknown"。
- 修复 :
- 优化了数据库结构,在 guilds 、 guild_members 和 guild_requests 表中增加了玩家名称字段进行缓存。
- 新增了 PlayerJoinListener.java ,玩家进服时自动更新数据库中的名称记录。
- 修改了 GuiManager.java ,优先读取数据库缓存的名字,解决了 Unknown 问题。
4. 新增 "退出公会" 按钮
- 更新 :在公会主菜单 (Dashboard) 中添加了退出公会的功能按钮。
- 配置文件 :已更新 dashboard.yml 。
- 注意 :如果您服务器上已经生成了 plugins/WarZGuildClaim/gui/dashboard.yml 文件,插件 不会 自动覆盖它。您需要手动添加以下配置,或者删除该文件让插件重新生成:
```
leave:
enable: true
slot: 40
material: RED_BED
name: "&c退出公会"
lore:
- ""
- "&8▪ &7退出当前公会"
- "&8▪ &7如果是会长,需先转让或
解散"
- ""
- " &8[&c✔&8] &c点击退出"
actions:
- "[COMMAND] guild leave"
- "[CLOSE]"
```