基本信息
我的世界Java版本
1.21–1.21.8
1.20.x
1.19.x
1.18.2
平台
Bukkit
运行环境
其他链接
搬运团队
搬运资源声明
对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。
详情信息
许可证 GPL-3.0-only
发布于 a year ago
更新于 a month ago
更新日志
6.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 版本的支持。


