QuickShop-Hikari 6.2.0.9-RELEASE-1
on 2025 Oct 086.2.0.9 - 重要提示:包含漏洞修复,请尽快更新。
请在更新前备份您的数据库。
主要变更
修复了 GUI 漏洞
此版本修复了近期披露的 GUI 系统中的一个安全漏洞。
大量事件系统变更
控制面板组件系统重构
商店控制面板系统已重构,拆分为多个独立类。这使得第三方插件可以更轻松地向控制面板添加自定义组件。同时新增了一个事件 ControlComponentGenerateEvent,该事件在控制面板生成过程中分为 PRE、MAIN 和 POST 三个阶段触发。其中 MAIN 阶段支持使用自定义的 ControlComponent 替换原始对象,并在发送控制面板时生效。
全新改版的数据包系统引入
-
简介:
- 一种模块化且可扩展的系统,用于管理 Minecraft 中虚拟显示物品相关的数据包。
- 同时支持 ProtocolLib 和 PacketEvents 库,提供更高的灵活性。
-
自定义数据包工厂:
- 为游戏版本 1.20.x 和 1.21.x 提供了模块化的
PacketFactory实现。 - 数据包类型包括:
- Spawn Packet(生成包):在指定位置生成虚拟物品实体。
- Metadata Packet(元数据包):更新虚拟物品的视觉属性。
- Velocity Packet(速度包):为实体添加运动/速度(当前为可选功能)。
- Destroy Packet(销毁包):从客户端视图中移除实体。
- 为游戏版本 1.20.x 和 1.21.x 提供了模块化的
-
错误处理与日志记录:
- 增强调试日志以追踪数据包相关问题。
- 对缺失工厂或未注册监听器的情况提供详细的错误信息。
改进:
- 更佳的模块化设计,便于未来支持新的 Minecraft 版本。
已弃用:
- 旧版数据包处理机制已被此新数据包系统取代。
事件系统重构
新增
- event/Phase.java - 引入基于阶段的事件系统,用于跟踪事件生命周期的不同阶段。
- event/PhasedEvent.java - 定义可在不同阶段发生的事件,实现更优的事件状态管理。
数据包处理事件:
- event/packet/handler/PacketHandlerAddedEvent.java - 当系统中注册新的数据包处理器时触发。
- event/packet/handler/PacketHandlerInitEvent.java - 数据包处理器初始化时触发,适用于调试或自定义配置。
- event/packet/send/PacketHandlerSendDestroyEvent.java - 当数据包指示客户端从视图中移除实体时分发。
- event/packet/send/PacketHandlerSendMetaEvent.java - 通过数据包发送实体元数据时触发。
- event/packet/send/PacketHandlerSendSpawnEvent.java - 使用基于数据包的通信方式生成实体时触发。
商店事件
- ShopUpdateEvent 已被 ShopDatabaseEvent 取代
- ShopAuthorizeEvent 已被 ShopPermissionCheckEvent 取代
- ShopClick、ShopCreate、ShopDelete、ShopLoad 已被同名但位于 event.management 包下的新事件替代,且均为分阶段事件。
商店设置事件:
- event/settings/ShopSettingEvent.java - 通用事件,用于动态处理商店设置更改。
- event/settings/package-info.java - 包含商店设置元数据的文档包。
商店类型特定设置:
- event/settings/type/ShopCurrencyEvent.java - 处理商店所用货币类型的变更。
- event/settings/type/ShopDisplayEvent.java - 当商店显示设置(如全息投影、告示牌)修改时触发更新。
- event/settings/type/ShopItemEvent.java - 当商店出售的主要物品变更时触发。
- event/settings/type/ShopNameEvent.java - 当商店名称更新时发生。
- event/settings/type/ShopOwnerEvent.java - 管理商店所有权转移和修改。
- event/settings/type/ShopOwnerNameEvent.java - 当所有者的显示名称修改时触发。
- event/settings/type/ShopPlayerGroupEvent.java - 处理与商店关联的玩家组更新。
- event/settings/type/ShopPriceEvent.java - 当商店中物品价格变更时分发。
- event/settings/type/ShopSignLinesEvent.java - 管理基于告示牌的商店显示内容更新。
- event/settings/type/ShopTaxAccountEvent.java - 当商店税务账户信息修改时触发。
- event/settings/type/ShopTypeEvent.java - 跟踪商店分类或类型的变化。
- event/settings/type/ShopUnlimitedEvent.java - 处理商店无限库存设置的变更。
商店福利系统:
- event/settings/type/benefit/ShopBenefitAddEvent.java - 当向商店添加新福利(如折扣、忠诚奖励)时触发。
- event/settings/type/benefit/ShopBenefitEvent.java - 用于跟踪商店福利修改的通用事件。
- event/settings/type/benefit/ShopBenefitRemoveEvent.java - 当移除商店福利时触发。
移除
- event/details/ShopItemChangeEvent.java - 已由
ShopItemEvent.java替代,结构更统一。 - event/details/ShopNamingEvent.java - 已合并至
ShopNameEvent.java。 - event/details/ShopOwnerNameGettingEvent.java - 已由
ShopOwnerNameEvent.java取代。 - event/details/ShopOwnershipTransferEvent.java - 现由
ShopOwnerEvent.java处理。 - event/details/ShopPlayerGroupSetEvent.java - 已整合进
ShopPlayerGroupEvent.java。 - event/details/ShopPriceChangeEvent.java - 已合并至
ShopPriceEvent.java。 - event/details/ShopTypeChangeEvent.java - 已由
ShopTypeEvent.java替代。 - event/details/ShopUnlimitedStatusEvent.java - 现由
ShopUnlimitedEvent.java管理。 - event/display/ShopDisplayItemDespawnEvent.java - 已由
ShopDisplayEvent.java替代。 - event/display/ShopDisplayItemSafeGuardEvent.java - 已整合至更广泛的显示事件类别中。
- event/economy/ShopTaxAccountChangeEvent.java - 现包含于
ShopTaxAccountEvent.java。 - event/economy/ShopTaxAccountGettingEvent.java - 因商店经济系统重构而不再需要。
- event/packet/PacketHandlerAddedEvent.java - 已迁移至
event/packet/handler/PacketHandlerAddedEvent.java。 - event/packet/PacketHandlerInitEvent.java - 现由
event/packet/handler/PacketHandlerInitEvent.java处理。
修改
- event/AbstractQSEvent.java - 更新基础事件结构以支持基于阶段的执行。
- event/QSCancellable.java - 添加新的取消条件,防止事件意外终止。
数据包事件:
- event/package-info.java - 已更新以反映新的事件结构。
- event/packet/PacketHandlerEvent.java - 现支持更多数据包处理场景。
次要变更
- 若玩家无 CONTROL_PANEL_UI 权限,则自动为其打开 TRADE_UI。
- 新增 quickshopdontsend 覆盖选项,允许服务器管理员阻止某些消息发送(仅 Paper 平台有效)。
- 修复无效聊天输入导致 UI 卡住的问题,现在会自动退出聊天界面。
配置项变更
- 新增 shop.control-panel 配置项,用于控制文本控制面板中启用的组件。
- 新增 shop.sign-wax 配置项,控制商店告示牌是否上蜡,默认为 false。
- 新增 shop.display-protocol 配置项,允许选择使用 packetevents 或 protocollib 进行数据包处理。
修复
- 重新将 /qs history 权限添加到默认的 quickshop.player 权限组。
- 修复部分用户缺少编码数据库列的问题。
- 修复 reached-maximum-can-create 限制未正确实现的问题。
- 修复活塞会移动潜影盒商店的问题。
- 修复彩色潜影盒可被购买并放入非彩色潜影盒内的问题。
- 修复 GriefPrevention 的 /transfer 命令未正确注销原所有者的问题。
- 修复当锁定设置为 false 时告示牌未更新的问题。
- 修复 Slimefun 兼容性问题:爆炸镐未被 QuickShop 正确检测(感谢 YuanYuanOwO 和 Starfruit)。
- 修复安全漏洞(感谢 macaw/casper 首次报告此问题)
版本变更
- 移除对 1.18 和 1.19 版本的支持(这些版本使用率极低)。
- 新增对 1.21.5 版本的支持。
QuickShop-Hikari 6.2.0.10
on 2025 Oct 086.2.0.10
主要更新
- 添加对 Paper 的 1.21.6 版本支持(Spigot 尚未更新,因为我们正计划逐步弃用 Spigot 支持,请督促 Spigot 开发者尽快现代化其 API)
- 添加对 Paper 的 1.21.7 版本支持(Spigot 尚未更新,因为我们正计划逐步弃用 Spigot 支持,请督促 Spigot 开发者尽快现代化其 API)
- 添加对 Paper 的 1.21.8 版本支持(Spigot 尚未更新,因为我们正计划逐步弃用 Spigot 支持,请督促 Spigot 开发者尽快现代化其 API)
- 对 packetevents 进行了一些内部更新(现在需要 2.9.0 版本)
- 更新了 Lands 插件的兼容性支持
附加组件变更
- 新增 MatcherPlus 附加组件
- 支持在商店中使用 BreweryX 和 AdvancedItems 的物品堆叠,并提供更精准的匹配功能
- 新增 FabledSkyblock 兼容支持
- 新增 Dominion 兼容支持
- 新增 HuskTowns 兼容支持
- 新增 IridiumSkyblock 兼容支持
- 在 ARM 兼容模块中新增 member-create 功能,用于成员创建
- 在 ARM 中新增 admin-override 功能及 quickshop.arm.admin 权限节点,用于管理员覆盖操作
次要变更
- 新增配置项,可用于设置展示物品的坐标位置
- 新增
/qs toggledisplayall on/off server/owned命令- 玩家需拥有
quickshop.toggledisplayall.admin权限节点才能切换服务器上所有展示物品的显示状态
- 玩家需拥有
- 在
/qs price和/qs create命令中支持使用缩写形式,例如使用 2.5k 表示 2500 - 可通过 config.yml 中的
shop.default-display设置默认的展示状态
修复内容
- 修复了在 1.21.5 版本中展示物品会飞向太空的问题
- 修复了 TRADE_UI 交互干扰快速创建商店的问题
- 修复了使用 ProtocolLib 时展示物体会穿过箱子下落的问题
- 修复了在 .9 及早期 .10 快照版本中告示牌显示异常的问题
- 针对 Paper 服务器实现了一些性能优化
- 修复了所有已知的 Folia 使用问题(感谢 RootB33R/SleazLee 的贡献)
可能的 6.2.0.11 新特性
以下是可能在 6.2.0.11 版本中加入的功能预览:
- 添加更多积压已久的兼容性支持/附加组件
- 引入 Gradle?(期待观察编译时间的提升效果)
- 更新文档
- 更新配置文件中的注释说明
- 重构配置系统?
- 是否支持自动更新?
- 可借此移除旧的更新代码
- 移除冗余的 Spigot 模块?
- 是否可以舍弃使用率极低的 1.20 等旧版本支持?
- 当然还包括常规的漏洞修复
- 实现新的告示牌解析器(sign parser)?
- 可能需要重新评估,毕竟该功能已搁置较长时间...
QuickShop-Hikari 6.2.0.10
on 2025 Aug 086.2.0.10
主要变更
- 为 paper 添加了对 1.21.6 的支持(spigot 尚未更新,因为我们希望弃用 spigot 支持,请催促 spigot 开发者更新其 API)
- 为 paper 添加了对 1.21.7 的支持(spigot 尚未更新,因为我们希望弃用 spigot 支持,请催促 spigot 开发者更新其 API)
- 为 paper 添加了对 1.21.8 的支持(spigot 尚未更新,因为我们希望弃用 spigot 支持,请催促 spigot 开发者更新其 API)
- 对 packetevents 进行了一些内部更新(现在需要 2.9.0 版本)
- 更新了 Lands 支持
附加组件变更
- 添加了 MatcherPlus 附加组件
- 允许在具有改进匹配能力的商店中支持 BreweryX 和 AdvancedItems 堆叠
- 添加了 FabledSkyblock 兼容
- 添加了 Dominion 兼容
- 添加了 HuskTowns 兼容
- 添加了 IridiumSkyblock 兼容
- 在 ARM 兼容中添加了 member-create 用于成员创建
- 在 ARM 中添加了 admin-override 和 quickshop.arm.admin 权限用于管理员覆盖
次要变更
- 为显示项的坐标添加了配置。
- 添加了 /qs toggledisplayall on/off server/owned
- 玩家需要具有权限节点 quickshop.toggledisplayall.admin 才能在服务器上切换所有显示。
- 在 /qs price 和 /qs create 命令中添加了使用缩写的功能,例如 2.5k 表示 2500
- 添加了使用 config.yml 中的 shop.default-display 设置默认显示状态的功能
修复
- 修复了在 1.21.5 上显示项发送到月球的问题
- 修复了 TRADE_UI 交互干扰快速创建的问题。
- 修复了 protocollib 上的显示项穿过箱子的问题
- 修复了早期版本中.9 和之前的.10 快照上的标志问题
- 为 paper 服务器实现了一些性能改进
- 修复了与 Folia 使用相关的所有未解决问题。(感谢 RootB33R/SleazLee 的贡献)
可能的 6.2.0.11 功能
以下是可能在 6.2.0.11 中出现的一些功能的概述:
- 正在堆积的其他兼容/附加组件。
- gradle?(有兴趣查看编译时间的提升)
- 更新文档
- 更新配置注释
- 更新配置系统?
- 自动更新?
- 允许删除更新代码
- 删除废弃的 spigot 模块?
- 由于使用量低,是否可以丢弃任何 1.20 版本?
- 当然是 bug 修复
- 标志解析器实现?
- 由于已经有一段时间没有查看它了,可能需要重新评估...
QuickShop-Hikari 6.2.0.9-RELEASE-1
on 2025 Apr 046.2.0.9 - 重要提示:包含漏洞修复,请尽快更新。
更新前请记得备份您的数据库。
主要变更
包含针对图形用户界面(GUI)漏洞的修复
此版本修复了近期所提及的图形用户界面系统中的一个漏洞。
大量事件变更
控制面板组件系统全面改造
商店控制面板系统已进行全面改造,将其拆分为不同的类。这使得第三方插件能够轻松地向控制面板添加额外组件。此外还新增了一个事件,即ControlComponentGenerateEvent,它会在生成ControlComponent的前置(PRE)、主要(MAIN)和后置(POST)阶段被调用。在主要阶段,支持用自定义的ControlComponent对象替换原始对象,该自定义对象将在发送控制面板时替换原始对象。
改进后的数据包系统介绍
-
关于:
- 一个用于管理《我的世界》中与虚拟展示物品相关数据包的模块化且可扩展的系统。
- 为了提高灵活性,同时支持ProtocolLib和PacketEvents依赖。
-
自定义数据包工厂:
- 针对游戏版本1.20.x和1.21.x对
PacketFactory进行模块化实现。 - 数据包类型:
- 生成数据包:在特定位置生成一个虚拟物品实体。
- 元数据数据包:更新虚拟物品的视觉属性。
- 速度数据包:为实体添加运动/速度(目前为可选)。
- 销毁数据包:从客户端视图中移除实体。
- 针对游戏版本1.20.x和1.21.x对
-
错误处理和日志记录:
- 增强调试日志以追踪与数据包相关的问题。
- 针对缺失工厂或未注册监听器提供详细的错误消息。
改进之处:
- 更好的模块化设计,以便于对未来《我的世界》版本的支持。
弃用内容:
- 旧的数据包处理机制已被此新数据包系统取代。
事件系统全面改造
新增内容
- event/Phase.java - 引入一个基于阶段的事件系统,以跟踪事件生命周期的不同阶段。
- event/PhasedEvent.java - 定义在不同阶段发生的事件,以便更好地进行事件状态管理。
数据包处理事件:
- event/packet/handler/PacketHandlerAddedEvent.java - 当系统中注册一个新的数据包处理程序时触发。
- event/packet/handler/PacketHandlerInitEvent.java - 当一个数据包处理程序初始化时触发,对调试或自定义设置很有用。
- event/packet/send/PacketHandlerSendDestroyEvent.java - 当一个数据包指示客户端从其视图中移除一个实体时派发。
- event/packet/send/PacketHandlerSendMetaEvent.java - 当通过数据包发送关于一个实体的元数据时触发。
- event/packet/send/PacketHandlerSendSpawnEvent.java - 当使用基于数据包的通信生成一个实体时触发。
商店事件
- ShopUpdateEvent已被ShopDatabaseEvent取代。
- ShopAuthorizeEvent已被ShopPermissionCheckEvent取代。
- ShopClick、ShopCreate、ShopDelete、ShopLoad已被类似名称的事件取代,不过它们现在位于event.management包中,并且是分阶段的事件。
商店设置事件:
- event/settings/ShopSettingEvent.java - 用于动态处理商店设置变更的通用事件。
- event/settings/package-info.java - 包含商店设置元数据的文档包。
商店特定类型设置:
- event/settings/type/ShopCurrencyEvent.java - 处理商店中所使用货币类型的变更。
- event/settings/type/ShopDisplayEvent.java - 当商店的展示设置(例如,全息影像、标识牌)被修改时触发更新。
- event/settings/type/ShopItemEvent.java - 当商店中所售卖的主要物品被改变时触发。
- event/settings/type/ShopNameEvent.java - 当商店的名称被更新时发生。
- event/settings/type/ShopOwnerEvent.java - 管理商店中的所有权转移和修改。
- event/settings/type/ShopOwnerNameEvent.java - 当所有者的显示名称被修改时触发。
- event/settings/type/ShopPlayerGroupEvent.java - 处理与商店相关联的玩家组的更新。
- event/settings/type/ShopPriceEvent.java - 当商店中一个物品的价格被改变时派发。
- event/settings/type/ShopSignLinesEvent.java - 管理基于标识牌的商店展示的更新。
- event/settings/type/ShopTaxAccountEvent.java - 当商店的税务账户信息被修改时触发。
- event/settings/type/ShopTypeEvent.java - 跟踪商店分类或类型的变更。
- event/settings/type/ShopUnlimitedEvent.java - 处理商店无限库存设置的变更。
商店福利系统:
- event/settings/type/benefit/ShopBenefitAddEvent.java - 当向商店添加一个新福利(例如,折扣、忠诚度奖励)时触发。
- event/settings/type/benefit/ShopBenefitEvent.java - 用于跟踪商店福利修改的通用事件。
- event/settings/type/benefit/ShopBenefitRemoveEvent.java - 当一个商店福利被移除时触发。
移除内容
- event/details/ShopItemChangeEvent.java - 为了更一致的结构,已被
ShopItemEvent.java取代。 - event/details/ShopNamingEvent.java - 已合并到
ShopNameEvent.java中。 - event/details/ShopOwnerNameGettingEvent.java - 已被
ShopOwnerNameEvent.java取代。 - event/details/ShopOwnershipTransferEvent.java - 现在由
ShopOwnerEvent.java处理。 - event/details/ShopPlayerGroupSetEvent.java - 已整合到
ShopPlayerGroupEvent.java中。 - event/details/ShopPriceChangeEvent.java - 已合并到
ShopPriceEvent.java中。 - event/details/ShopTypeChangeEvent.java - 已被
ShopTypeEvent.java取代。 - event/details/ShopUnlimitedStatusEvent.java - 现在由
ShopUnlimitedEvent.java管理。 - event/display/ShopDisplayItemDespawnEvent.java - 为了支持
ShopDisplayEvent.java已被移除。 - event/display/ShopDisplayItemSafeGuardEvent.java - 已整合到一个更广泛的展示事件类别中。
- event/economy/ShopTaxAccountChangeEvent.java - 现在已包含在
ShopTaxAccountEvent.java中。 - event/economy/ShopTaxAccountGettingEvent.java - 由于商店经济系统的重构,已不再需要。
- event/packet/PacketHandlerAddedEvent.java - 已移至
event/packet/handler/PacketHandlerAddedEvent.java。 - event/packet/PacketHandlerInitEvent.java - 现在由
event/packet/handler/PacketHandlerInitEvent.java处理。
修改内容
- event/AbstractQSEvent.java - 更新了基础事件结构以支持基于阶段的执行。
- event/QSCancellable.java - 添加了新的取消条件以防止意外的事件终止。
数据包事件:
- event/package-info.java - 已更新以反映新的事件结构。
- event/packet/PacketHandlerEvent.java - 现在支持额外的数据包处理场景。
次要变更
- 如果玩家没有CONTROL_PANEL_UI的权限,将为其打开TRADE_UI。
- 添加了quickshopdontsend覆盖设置,允许服务器所有者阻止发送某些消息(仅Paper服务器)。
- 使得用户界面(UI)的无效聊天输入能够退出聊天用户界面。
配置变更
- 添加了shop.control-panel来控制文本控制面板的哪些组件被启用。
- 添加了shop.sign-wax来控制商店标识牌是否上蜡,默认值为否。
- 添加了shop.display-protocol,它允许您选择PacketEvents或ProtocolLib进行数据包处理。
修复内容
- 将/qs历史权限重新添加到默认的quickshop.player中。
- 修复了一些人没有编码数据库列的问题。
- 修复了reached-maximum-can-create未正确实现的问题。
- 修复了活塞会移动潜影盒商店的问题。
- 修复了彩色潜影盒可以被购买并放入非彩色潜影盒的问题。
- 修复了GriefPrevent的/transfer命令未注销所有者的问题。
- 修复了标识牌在锁定设置为否时未更新的问题。
- 修复了史莱姆兼容爆炸镐未被QS捕获的问题(感谢YuanYuanOwO和Starfruit)。
- 修复了一个漏洞(感谢macaw/casper首先报告此问题)。
版本变更
- 移除了对1.18和1.19版本的支持。这些版本的使用率极低。
- 添加了对1.21.5版本的支持。
QuickShop-Hikari 6.2.0.8
on 2025 Feb 026.2.0.8
主要变更
- 新增了对Folia的初始支持
- CONTROL_PANEL_UI是一种新的交互方式,它允许你使用图形用户界面(GUI)控制面板而非聊天界面来进行操作。
- 通过这个GUI,你可以添加/移除工作人员、转移所有权、设置商店的销售模式、更改价格以及删除商店!
- 重新添加了QS历史记录GUI
- 移除了真实物品和实体显示;相较于虚拟显示,它们没有任何优势,而且主要还会引发一些问题。
- 如果协议库未更新/未安装,它将默认不显示。
- 新增了/qs浏览 [世界]命令,玩家可以根据是否将世界作为参数来按服务器或按世界查看商店。
- 新增了TRADE_UI交互方式,它会为玩家打开一个基于GUI的交易菜单,以便玩家从商店购买/出售预设的以及自定义数量的物品。
- 更新至我的世界1.21.3、我的世界1.21.4版本。
- 新增了VaultUnlocked支持
次要变更
- 新增了两种即将推出的交互行为:CONTROL_PANEL_UI和TRADE_UI
- 进行了设置,使得当价格变更费用设置为0时,不会发送收费消息。
- 新增了/qs staffall命令来管理所有商店的工作人员。
- 新增了一种商店模式:冻结模式。
- 这允许管理员/商店工作人员暂时停止与商店的交易。
- 该模式已添加到店主菜单中。
- 该模式已添加到基于文本的控制面板中。
- 该模式引入了新命令:/qs silentfreeze和/qs freeze
- 设置了/qs suggestprice的默认操作,当看不到商店时,尝试使用手中的物品堆。
- 新增了shop.finding.global来移除/qs find的距离限制
- 将招牌商店的招牌上蜡以防止修改(感谢ThiagoROX)
- 添加了招牌打开监听器(感谢ThiagoROX)
- 添加了子命令覆盖(感谢ThiagoROX)
内部相关
- 新增了样式指南。
- 在可能的情况下,在代码内部添加了final关键字。
- 当取消设置商店名称时,会调用ShopNamingEvent。
- 新增了ShopUnlimitedStatusEvent,在更改商店的无限制状态时会调用该事件。
- 将事件重新整理到不同的包中。这将会导致依赖这些事件的插件出现问题。
Discord相关变更
- 为通过GitHub赞助的人员新增了赞助者角色。
兼容插件
- Towny
- 新增了废弃城镇配置,以便在城镇沦为废墟时移除商店。
附加插件
高级空岛(SuperiorSkyblock)
- 进行了设置,使得兼容插件可以在有人被从岛屿封禁时删除商店。
修复内容
- 修复了Velocity和Bungee兼容Jars的问题
- 修复了Towny兼容Jar在地块被清理或城镇被删除时不删除商店的问题。
- 修复了利用潜影盒绕过物品限制的问题(感谢TauCubed)
- 修复了在Essentials中查询Towny城镇/国家账户的问题(感谢galacticwarrior9)
注意事项
- 即将移除对1.18/1.19版本的支持。
错误修复
- 修复了商店物品和某些功能的漏洞(感谢 bridgelol)
- 由于终端用户遇到错误,在更换时暂时禁用了 QS 历史记录。
- 修复了附魔限制在附魔书中未检测到它们的问题(感谢 TauCubed)
更改内容
完整变更日志:https://github.com/QuickShop-Community/QuickShop-Hikari/compare/6.2.0.5...6.2.0.6


