QuickShop-Hikari - A powerful, user-friendly and reliable ChestShop plugin [1.20-1.21] icon

QuickShop-Hikari - A powerful, user-friendly and reliable ChestShop plugin [1.20-1.21] -----

A shop plugin that allows players to easily sell/buy any items from container without any commands.



6.2.0.9 - Important: Exploit Fix, Update ASAP
6.2.0.9 - Important Note: Contains Exploit Fix, Please Update ASAP.
Remember to backup your DB before updating.

Major Changes
Exploit Fix Included for GUI Exploit
This build fixes an exploit in the GUI system that was recently outlined.

Lots of Events Changes
See discord changelog for event system here

Control Panel Component System Overhaul
The shop control panel system has been overhaul to separate it into different classes. This allows third-party
plugins to add additional components to the control panel easily. There was also an added event, ControlComponentGenerateEvent,
which is called PRE, MAIN, and POST of a ControlComponent being generated. The MAIN phase supports changing
the ControlComponent object with a custom one that will replace the original during control panel sending.

Introduction of the Revamped Packet System
  1. About:
    • A modular and scalable system for managing packets related to virtual display items in Minecraft.
    • Supports both ProtocolLib and PacketEvents libraries for greater flexibility.
  2. Custom Packet Factories:
    • Modular implementation of PacketFactory for game versions 1.20.x and 1.21.x.
    • Packet types:
      • Spawn Packet: Spawns a virtual item entity at a specific location.
      • Metadata Packet: Updates the visual properties of virtual items.
      • Velocity Packet: Adds motion/velocity to entities (currently optional).
      • Destroy Packet: Removes the entity from the client view.
  3. Error Handling and Logging:
    • Enhanced debug logs to trace packet-related issues.
    • Detailed error messages for missing factories or unregistered listeners.
Improvements:
  • Better modular design to facilitate support for future Minecraft versions.
Deprecations:
  • Legacy packet handling mechanisms replaced with this new Packet System.
Event System Overhaul
Added
  • event/Phase.java - Introduces a phase-based event system to track different stages of an event lifecycle.
  • event/PhasedEvent.java - Defines events that occur within different phases, allowing better event state management.
Packet Handling Events:
  • event/packet/handler/PacketHandlerAddedEvent.java - Triggered when a new packet handler is registered in the system.
  • event/packet/handler/PacketHandlerInitEvent.java - Fired when a packet handler is initialized, useful for debugging or custom setups.
  • event/packet/send/PacketHandlerSendDestroyEvent.java - Dispatched when a packet instructs a client to remove an entity from their view.
  • event/packet/send/PacketHandlerSendMetaEvent.java - Fired when metadata about an entity is sent via packets.
  • event/packet/send/PacketHandlerSendSpawnEvent.java - Triggered when an entity is spawned using packet-based communication.
Shop Events
  • ShopUpdateEvent has been replaced with the ShopDatabaseEvent
  • ShopAuthorizeEvent has been replaced with the ShopPermissionCheckEvent
  • ShopClick, ShopCreate, ShopDelete, ShopLoad have been replaced with similar named events, but they are in the event.management package now, and are phased events.
Shop Settings Events:
  • event/settings/ShopSettingEvent.java - Generic event to handle changes in shop settings dynamically.
  • event/settings/package-info.java - Documentation package containing metadata for shop settings.
Shop Type-Specific Settings:
  • event/settings/type/ShopCurrencyEvent.java - Handles changes in the currency type used in a shop.
  • event/settings/type/ShopDisplayEvent.java - Triggers updates when a shop’s display settings (e.g., holograms, signs) are modified.
  • event/settings/type/ShopItemEvent.java - Fired when the main item being sold in a shop is changed.
  • event/settings/type/ShopNameEvent.java - Occurs when a shop’s name is updated.
  • event/settings/type/ShopOwnerEvent.java - Manages ownership transfers and modifications in a shop.
  • event/settings/type/ShopOwnerNameEvent.java - Triggered when the owner's display name is modified.
  • event/settings/type/ShopPlayerGroupEvent.java - Handles updates to the player group associated with a shop.
  • event/settings/type/ShopPriceEvent.java - Dispatched when an item’s price is changed in a shop.
  • event/settings/type/ShopSignLinesEvent.java - Manages updates to sign-based shop displays.
  • event/settings/type/ShopTaxAccountEvent.java - Fired when a shop's tax account information is modified.
  • event/settings/type/ShopTypeEvent.java - Tracks changes in the classification or type of shop.
  • event/settings/type/ShopUnlimitedEvent.java - Handles changes to a shop’s unlimited stock setting.
Shop Benefit System:
  • event/settings/type/benefit/ShopBenefitAddEvent.java - Fired when a new benefit (e.g., discounts, loyalty rewards) is added to a shop.
  • event/settings/type/benefit/ShopBenefitEvent.java - General event for tracking shop benefit modifications.
  • event/settings/type/benefit/ShopBenefitRemoveEvent.java - Triggered when a shop benefit is removed.
Removed
  • event/details/ShopItemChangeEvent.java - Replaced with ShopItemEvent.java for a more consistent structure.
  • event/details/ShopNamingEvent.java - Merged into ShopNameEvent.java.
  • event/details/ShopOwnerNameGettingEvent.java - Superseded by ShopOwnerNameEvent.java.
  • event/details/ShopOwnershipTransferEvent.java - Now handled by ShopOwnerEvent.java.
  • event/details/ShopPlayerGroupSetEvent.java - Integrated into ShopPlayerGroupEvent.java.
  • event/details/ShopPriceChangeEvent.java - Merged into ShopPriceEvent.java.
  • event/details/ShopTypeChangeEvent.java - Replaced by ShopTypeEvent.java.
  • event/details/ShopUnlimitedStatusEvent.java - Now managed under ShopUnlimitedEvent.java.
  • event/display/ShopDisplayItemDespawnEvent.java - Removed in favor of ShopDisplayEvent.java.
  • event/display/ShopDisplayItemSafeGuardEvent.java - Consolidated into a broader display event category.
  • event/economy/ShopTaxAccountChangeEvent.java - Now included in ShopTaxAccountEvent.java.
  • event/economy/ShopTaxAccountGettingEvent.java - No longer necessary due to a refactored shop economy system.
  • event/packet/PacketHandlerAddedEvent.java - Moved to event/packet/handler/PacketHandlerAddedEvent.java.
  • event/packet/PacketHandlerInitEvent.java - Now handled by event/packet/handler/PacketHandlerInitEvent.java.
Modified
  • event/AbstractQSEvent.java - Updated base event structure to support phase-based execution.
  • event/QSCancellable.java - Added new cancel conditions to prevent unintended event termination.
Packet Events:
  • event/package-info.java - Updated to reflect new event structures.
  • event/packet/PacketHandlerEvent.java - Now supports additional packet handling scenarios.
Minor Changes
  • If a player doesn't have permissions for CONTROL_PANEL_UI it'll open the TRADE_UI for them
  • Added the quickshopdontsend override to allow server owners to prevent certain messages from sending(paper only)
  • Made it so invalid chat entries for UIs escape the chat ui
Config Changes
  • added shop.control-panel to control what components of the text control panel are enabled.
  • added shop.sign-wax to control if the shop sign is waxed or not, default is false.
  • added shop.display-protocol which allows you to select packetevents or protocollib for packet handling
Fixes
  • readded the /qs history permissions to the default quickshop.player
  • fixed issue where some folks wouldn't have the encoded db column
  • Fixed issue with reached-maximum-can-create not being implemented correctly
  • fixed issue where pistons would move shulker shops.
  • fixed issue where colored shulkers could be bought and put inside non-colored shulker
  • fixed issue with griefprevent /transfer command not unregistering owner
  • fixed issue where signs weren't updated when lock was set to false
  • Fixed issue where slime compat explosive pick wasn't being caught by QS(Thanks to YuanYuanOwO and Starfruit)
  • Fixed exploit(thanks to macaw/casper for being the first to report this)
Version Changes
  • Removed support for 1.18 and 1.19. These versions had minimal usage.
  • Added support for 1.21.5
----------, Apr 1, 2025
Resource Information
Author:
----------
Total Downloads: 48,905
First Release: Feb 18, 2022
Last Update: Apr 1, 2025
Category: ---------------
All-Time Rating:
33 ratings
Find more info at quickshop-community.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings