[MD]
# 6.3.0.3
## 重大变更
* 通过直接在 SQL 查询中按世界过滤商店、补充缺失的数据库索引,以及正确实现商店加载的并行处理,大幅提升了商店加载速度和服务器启动性能。(感谢 daniel-skopek)
* 改进了内部商店管理器,新增 UUID 到商店的直接映射,减少开销较大的商店查找操作,提升已加载商店的检索性能。(感谢 Warriorrrr)
* 经济交易现在会记录到 `log_transaction` 中,并修正了交易历史记录的读取逻辑。现有的 `transaction-metric.enable` 选项现在同时控制购买指标和交易指标的记录。(感谢 YuanYuanOwO)
* 新增对 Minecraft 26.3 的支持。
## 次要变更
* 为 MatcherPlus 兼容性新增 SafariNet 物品匹配支持。
* 更新 PyroFishing 的物品匹配逻辑,以正确识别物品等级。
* 在默认的现代物品匹配器配置中新增 `OMINOUS_BOTTLE_AMPLIFIER`,使不同不祥之瓶等级的物品被视为不同物品。(感谢 Warriorrrr)
* 将更改商店类型和商店状态的默认权限调整为管理员权限组。
* 更新 ItemsAdder 兼容性所需的依赖项及 Maven 仓库配置。
* 更新 TNML 依赖版本。
* 更新 Gradle 发布构建产物的收集任务。
* 通过 Crowdin 更新土耳其语翻译。
* 简化 Towny 经济账户的处理逻辑,改用直接 UUID 替代旧版账户转换实现。
* 在商店出售和购买反馈消息中添加日期时间戳,主要用于向离线玩家发送通知,以便他们重新登录时能够看到通知对应的时间。(感谢 Veyronity)
## 附属组件
### 新增 Craft Engine 兼容性模块(由 YuanYuanOwO 开发)
* 修复虚拟展示模式下,部分 CraftEngine 物品的商店展示物品出现纹理缺失或显示错误的问题。
## 问题修复
* 修复税率可能被错误地当作税额计算,以及所收取的税款未存入指定税务账户的问题。(感谢 YuanYuanOwO)
* 修复配置的税务账户无法被正确解析或创建的问题,确保创建的账户与用于存入税款的 UUID 一致。(感谢 YuanYuanOwO)
* 修复税务账户可能在服务器重启后消失或无法正确持久化的问题。(感谢 YuanYuanOwO)
* 修复数据库日志和审计记录使用不一致时区的问题。数据库时间戳和导出的 CSV 备份现在统一使用服务器本地时间。(感谢 YuanYuanOwO)
* 修复数据库导出时将时间戳转换为 UTC,导致导出和恢复操作后时间发生偏移的问题。(感谢 YuanYuanOwO)
* 修复商店数据 ID 查询失败后,交易指标记录仍会继续写入的问题。(感谢 YuanYuanOwO)
* 修复 `/qs name` 的权限检查未能正确验证玩家是否有权重命名商店的问题。(感谢 YuanYuanOwO)
* 修复无法在控制面板 UI 中查看商店交易历史记录的问题。(感谢 YuanYuanOwO)
* 修复玩家当前没有拥有任何商店时,执行 `/qs history owned` 会失败的问题。(感谢 YuanYuanOwO)
* 修复在缺少必要参数时执行 `/qs limit set` 会抛出错误的问题。(感谢 YuanYuanOwO)
* 修复玩家拥有超过 11 个商店时,商店排序不正确的问题。(感谢 YuanYuanOwO)
* 修复在监视、收藏、避开和标签命令中输入无效页码时,会触发 `NumberFormatException` 异常的问题。(感谢 YuanYuanOwO)
* 修复 Towny 兼容性未能始终使用直接 UUID 处理城镇和国家经济账户的问题。
* 修复 PacketEvents 或 ProtocolLib 未能正确加载时,QuickShop-Hikari 会停止加载的问题。
* 修复方块交互时附属商店的查找问题。(感谢 YuanYuanOwO)
* 修复 `QUser#hashCode` 的实现与 `equals` 不一致的问题。(感谢 YuanYuanOwO)
* 修复服务器重启后商店展示缓存丢失的问题。(感谢 YuanYuanOwO)
* 改用 Paper 的挥臂事件监听器。(感谢 YuanYuanOwO)
* 修复 SCS 兼容性未使用最新 API 的问题:新版 API 已调整 `Claim` 类的位置。
* 修复在某些情况下,作为商店方块的展示实体仍然可以被交互的问题。(感谢 YuanYuanOwO)
[/MD]