【1.13-1.21+|Folia】WarZSell-高效便捷的Minecraft物品收购系统|支持双模式检测|日志追踪经济来源|功能完善

原创 经济 【1.13-1.21+|Folia】WarZSell-高效便捷的Minecraft物品收购系统|支持双模式检测|日志追踪经济来源|功能完善 1.3.0

请登录后获取
更新内容总结
1. 修复物品丢失 Bug

- 问题 :此前将不可出售(无配置价格)的物品放入出售 GUI 后,点击确认出售,这些物品会随同可出售物品一起消失,且不会返还给玩家。
- 修复 :优化了 InventoryListener.java 中的 processSale 逻辑。
- 现在系统仅会处理并移除 有价格 的物品。
- 无价格 的物品会保留在 GUI 中。
- 交易完成后自动关闭界面,触发 returnItems 机制,将剩余物品安全返还给玩家。
WarZSell修复与升级内容
1. 修复刷物品 BUG

- 原因 : 在 InventoryListener.java 中,当玩家点击出售时,如果物品无法出售,插件会手动执行 returnItems 退还物品,但随后的 closeInventory 又会触发 InventoryCloseEvent 再次执行 returnItems ,导致物品被退还两次。
- 修复 : 移除了出售逻辑中手动的 returnItems 调用,统一由 InventoryCloseEvent (关闭界面事件)处理物品退还,彻底杜绝了刷物品的可能。
2. 全版本兼容 (1.8 - 1.21+)

- 引入了 XSeries 库( XMaterial , XSound ),解决了不同 Minecraft 版本间材质名(如 WOOL vs WHITE_WOOL )和音效名不一致的问题。
- 重构了 SellGUI.java 和 PriceManager.java ,确保在旧版本(如 1.8)和新版本(如 1.20+)服务器上都能正确显示 GUI 和识别物品价格。
3. Folia 支持

- 在 plugin.yml 中添加了 folia-supported: true 。
- 创建了 SchedulerUtils 工具类和 TaskScheduler 接口,实现了运行时的环境检测:
- Folia 环境 : 自动使用 GlobalRegionScheduler 和 AsyncScheduler 。
- Bukkit/Spigot 环境 : 回退使用标准的 BukkitScheduler 。
- 解决了编译时的依赖问题,确保插件可以在 Folia 和普通 Spigot 服务器上无缝运行。
修复与升级内容
1. 修复刷物品 BUG

- 原因 : 在 InventoryListener.java 中,当玩家点击出售时,如果物品无法出售,插件会手动执行 returnItems 退还物品,但随后的 closeInventory 又会触发 InventoryCloseEvent 再次执行 returnItems ,导致物品被退还两次。
- 修复 : 移除了出售逻辑中手动的 returnItems 调用,统一由 InventoryCloseEvent (关闭界面事件)处理物品退还,彻底杜绝了刷物品的可能。
2. 全版本兼容 (1.8 - 1.21+)

- 引入了 XSeries 库( XMaterial , XSound ),解决了不同 Minecraft 版本间材质名(如 WOOL vs WHITE_WOOL )和音效名不一致的问题。
- 重构了 SellGUI.java 和 PriceManager.java ,确保在旧版本(如 1.8)和新版本(如 1.20+)服务器上都能正确显示 GUI 和识别物品价格。
3. Folia 支持

- 在 plugin.yml 中添加了 folia-supported: true 。
- 创建了 SchedulerUtils 工具类和 TaskScheduler 接口,实现了运行时的环境检测:
- Folia 环境 : 自动使用 GlobalRegionScheduler 和 AsyncScheduler 。
- Bukkit/Spigot 环境 : 回退使用标准的 BukkitScheduler 。
- 解决了编译时的依赖问题,确保插件可以在 Folia 和普通 Spigot 服务器上无缝运行。
后退
顶部 底部