Перейти к содержимому
Mineforgian

QuickShop-Hikari

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

Загрузки
214K
Подписчики
456
Обновлён
14 февраля 2026 г.
Лицензия
AGPL-3.0-only

Опубликован 27 августа 2022 г.


center banner

对于不方便使用 Discord 或 Github Issue Tracker 的用户,也可在 QQ 社区群内 966701484 内寻求热心社区人员的帮助

We have documents now! Finally!

Features

  • Easy to use, simply click and type price to create the shops.
  • NBT Data, Enchantment, Tool Damage, Potion, and Mob Egg supports.
  • Dynamically switch the display language according to the client language, internationalization friendly.
  • Unlimited store support.
  • Blacklist support & bypass permissions.
  • Shops that buy and sell items in a double-chest.
  • UUID support (of course)
  • A cool item preview both in chat and GUI.
  • Chat Control Panel to change the settings of your shop. Just click to modify everything.
  • World/region protection plugins support, and lots of compatibility modules can be downloaded.
  • ProtocolLib/PacketEvents based Virtual DisplayItem (better for performance) support.
  • Multi-currency support: Use different currencies in shops from any economy that supports VaultUnlocked. We also support Vault by default!
  • Tax and ongoing fee support!
  • Hide commands from help if the player had no permission.
  • Sign header color and clear description on the info sign for different shops status.
  • MiniMessage support, create fancy messages as you want.
  • H2 (local) or MySQL (remote) support.
  • Advanced transaction mechanism, rollback any Inventory/Economy operation when it failed to execute to prevent player dupes.
  • InventoryWrapper API offers custom inventory ability for developers.
  • Advanced Event Bus to allow user block protection check event transfer to a specific plugin.
  • Fast cache layer, handle more than 1k+ shops without any lag! (Require ProtocolLib installed)
  • Per-shop permission management.
  • Shop benefits between shop owner and other players!
  • Much much more! Cannot put them all in there!

Or with addons to add more features

  • Discount code
  • Plan metrics
  • DiscordSRV notifications

How to Install

QuickShop requires Minecraft 1.20+ to be run. Any versions below 1.20 were unsupported.

  • Install Vault and an economy plugin supported by Vault.
  • If you are using multi-currency, you will need an economy plugin that supports VaultUnlocked.
  • Install optional ProtocolLib or PacketEvents which can greatly improve QuickShop performance.
  • Spigot is no longer supported in recent updates. We recommend switching to Paper or its forks to ensure optimal performance.
  • Download QuickShop jar and put it in your plugins folder.
  • Download other compatibility modules or add-ons if you need them.
    • Only install compatibility modules that you need, they're not open box to use, you need configure them.
    • Most cases, Hikari can handle region protections by itself, you don't need them.
  • Turn on the server and here we go!

Commands

Note: Most features can be accessed by control panel or interaction with the shop, in most cases, you don't need those commands.

  • /quickshop unlimited
    Makes your Shop buy/sell Items in unlimited quantity or limited
  • /quickshop setowner
    Change the Shop Owner.
  • /quickshop buy
    Change the shop to buying items.
  • /quickshop sell
    Change the shop to selling items.
  • /quickshop price
    Change the buy/sell price of the item.
  • /quickshop clean
    Removes any loaded shop that doesn't have any items in stock.
  • /quickshop find
    Find the nearest shop that sells items that start with the provided text. E.g. /quickshop find dia will find the nearest shop that buys/sells diamonds.
  • /quickshop fetchmessage
    Fetch shop message manually from the database.
  • /quickshop info
    Show QuickShop information.
  • /quickshop debug
    Enable/Disable Debug Mode.
  • /quickshop create [item]
    Command to create the shop with the item in hand or specified.
  • /quickshop currency
    Command to specified the currency the shop using.
    The Economy plugin must support the Multi-Currency feature and be supported by QuickShop.
  • /quickshop supercreate
    Create a shop while bypassing any protection checks.
  • /quickshop paste
    Collects useful information and pastes it on Pastebin.
  • /quickshop staff
    Manage staff in your shop.
  • /quickshop staff add
    Add a player as staff to your shop.
  • /quickshop staff del
    Remove a player as staff from your shop.
  • /quickshop staff clear
    Remove all staff members from your shop.
  • /quickshop staff list
    Show all current staff members of your shop.
  • /quickshop cleanghost
    Remove all broken shops.
  • /quickshop export
    Export all shop data to a zip.
    This command is CONSOLE ONLY!
  • /quickshop recovery
    Recover all shops from a TXT file or Paste.
    This command is CONSOLE ONLY and may remove/override any existing shop on your Server! Make a backup first and try it with a clean database!
  • /quickshop size
    Change the bulk size.
    Requires the "allow-stacks" option in the config to be enabled for the command to work.
  • /quickshop purge
    Purge the old shops, for more information please check the purge option in config.yml
    Requires the "purge" option in the config to be enabled for the command to work.
  • /quickshop transfer
    Transfer ALL shops from one player to another.
  • /quickshop item
    Change the item of the shop.
    Requires the "allow-stacks" option in the config to be enabled for the command to work.
  • /quickshop removeworld
    Remove all shops in a specific world.
  • /quickshop name
    Naming or un-naming a shop with a specific name.
  • /quickshop permission
    Tweaking the per-shop permissions, or add/remove player into/from specific groups.
  • /quickshop database
    View and manage QuickShop-Hikari status.
  • /quickshop benefit
    View and manage yout shop benefits.

Aliases:

  • /shop
  • /qs
  • /chestshop
  • /cshop (customize the aliases in config.yml)

Permissions

If you're a lazy owner, simply give the player quickshop.player permission node which contains all needs to let the player create and use quick shops.

But if you're a pro owner, there is also a detailed list to allow control of everything:

Detailed Permissions

Player Permissions:

  • quickshop.use
    Required for any QuickShop Actions.
  • quickshop.create.sell
    Required to make a shop (Sell-Mode)
  • quickshop.create.buy
    Required to make a shop (Buy-Mode) or to switch from Sell to Buy-Mode.
  • quickshop.create.stacks
    Required to allow selling items in stacks.
  • quickshop.create.changeitem
    Allows a player to change a shop's item.
  • quickshop.create.changeamount
    Allows a player to change the item amount per buy/sell.
  • quickshop.create.changeprice
    Allows a player to change the buy/sell price of their shops.
  • quickshop.create.double
    Allows a player to create a double chest shop.
  • quickshop.create.cmd
    Required to have access to the /quickshop create command.
    This command may bypass certain protections of not-supported protection plugins!
  • quickshop.transfer
    Required to transfer all owned shops to another player.
  • quickshop.find
    Required to use /quickshop find <item>
  • quickshop.fetchmessage
    Required to use /quickshop fetchmessage
  • quickshop.staff
    Required to use /quickshop staff and all its subcommands.
  • quickshop.preview
    Required to use the GUI Item Preview.
  • quickshop.currency
    Required to use the /quickshop currency <currency>
  • quickshop.shopnaming
    Required to use the /quickshop name <name>
  • quickshop.permission
    Required to use the /quickshop permission
  • quickshop.benefit
    Required to use the /quickshop benefit

Admin Permissions:

  • quickshop.unlimited
    Required to use /quickshop unlimited
  • quickshop.alwayscounting
    Required to use /quickshop alwayscounting
  • quickshop.setowner
    Required to use /quickshop setowner
  • quickshop.other.destroy
    Allows the player to remove/destroy the shops of others.
  • quickshop.other.open
    Allows the player to open chests of other shops and take/put items from/into it.
  • quickshop.other.price
    Allows the player to change the price of someone's shop.
  • quickshop.transfer.other
    Required to transfer ALL shops of someone to another player.
  • quickshop.refill
    Allows the player to refill their shops using a command, essentially making the shop having unlimited items.
  • quickshop.empty
    Allows the player to clear the shop's inventory.
  • quickshop.clean
    Allows the purging/removal of any Shops that have no items in stock.
  • quickshop.bypass.
    Required to sell blacklisted items (E.g. bedrock).
  • quickshop.price.restriction.bypass.
    Required to bypass a specific price limit rule.
  • quickshop.alerts
    Required to receive notifications about possible cheating, plugin warnings and updates.
  • quickshop.info
    Required to use /quickshop info
  • quickshop.debug
    Required to use /quickshop debug
  • quickshop.paste
    Required to use /quickshop paste
  • quickshop.purge
    Required to use /quickshop purge
  • quickshop.create.admin
    Required to bypass any protection-checks while creating a shop using /quickshop supercreate
  • quickshop.tax
    Permission to bypass the tax fee.
  • quickshop.tax.bypassunlimited
    Permission to bypass the tax fee but only in the unlimited shop.
  • quickshop.cleanghost
    Permission to remove any broken shop using /quickshop cleanghost
  • quickshop.export
    Permission to use /quickshop export
    This permission is pointless since the command is console only.
  • quickshop.recovery
    Permission to use /quickshop recovery This permission is pointless since the command is console only.
  • quickshop.removeworld
    Permission to remove all shops in a world using /quickshop removeworld
  • quickshop.other.changeitem
    Allows the player to change the item of someone's shop.
  • quickshop.other.changeamount
    Allows the player to change the bulk amount of someone's shop.
  • quickshop.other.shopnaming
    Allows the player to change the name of someone's shop.
  • quickshop.bypass.namefee
    Allows the player to bypass the fee of shop naming.
  • quickshop.database
    Permission to use /quickshop database

How to create a shop

To create a shop, place down a chest and left-click it with the number of items you want to sell. For example: If I want to sell 16 diamonds will I need to hold 16 diamonds in my hand and left-click the chest with it. (Need allow-stacks: true and permission).

You will then be prompted to type in the chat, how much you would like to sell this item for.

Note: You may encounter issues with the chat system if you're on a BungeeCord network that utilizes a global chat plugin like BungeeChat. In such a case will you need to use commands to create a shop!

After you completed those steps should an item be displayed on top (Can be toggled off in the configuration) and a sign with info be placed on the side of the chest. A Shop may not be created if there is no space around the chest to place down a sign.

How to buy/sell Items

To buy or sell an Item from/to a Shop will you need to left-click the sign. You will then be prompted to write the amount you want to buy/sell in chat.

Whether a shop sells or buys items depends on the displayed info on the sign.

Advanced Features

Item Preview GUI

Preview the item you will purchase before actual purchase to avoid scam!

Shop Control Panel

Shop Control Panel allows tweaks to your shop with one click, no command needs!

Shop Staff

Shop owner can able to managing shop staff by using the command /quickshop staff <add/del/list> <player>, which allow shop staff to access your shop to manage the stock.

Ender Chest Inventory Linkage

Install OpenInv and openinv compatibility module and you will be able to use /quickshop echest to link your quick shop to your ender chest inventory! So all your echest shops can share with your ender chest inventory!

Rules-Based Price Limiter

Create rules to limit shops' prices with specific materials!

Translation OTA & Override system

Unlike other plugins, QuickShop uses CrowdinOTA technology to update our translation over the air. You can always enjoy the latest translations. All translations will keep updated with the cloud. If you need to customize the translation, you can follow our guide to use the override customize system!

Shop Purger

Purge shops that owner no longer active or banned! Our compatibility modules also offer purge player shops while it leave teams/islands/lands.

Interaction Controller & Direct Trade

Custom the click behavior through interaction.yml! You can sell or buy 1 or all things directly by sneaking clicking (or any behavior you configured).

Item Stacking

Enable the allow-stack option in config.yml, then you can create a stacking shop by holding more than one item in hand. So players must buy items that are multiples of their holding.

Per shop permission management

Have you ever considered putting another player in full charge of your shop? Or just ban a player to avoid him purchase your shop? You can do this now with per shop permission management.

Compatibility Modules

QuickShop-Hikari officially provides some plugins compatibility modules to make them work more closely with QuickShop, here is a list that we currently support:

  • AdvancedRegionMarket (Remove shops when region reset)
  • BentoBox (Remove shops while the member was kicked out of the team)
  • Clearlag (Prevent clear the QuickShop displays if you hadn't installed ProtocolLib)
  • GriefPrevention (Remove shops on untrusted, unclaimed, expired, resized, etc.)
  • Lands (Remove shops while member leaves)
  • NoCheatPlus (anti-cheat compatibility)
  • OpenInv (Offers a command /quickshop echest to link with your EnderChest)
  • PlotSquared (Remove shops when a player is untrusted)
  • Towny (Remove shops while resident left or plot clear/destroyed; Taxes go town bank account etc.)
  • Residence (Region creation/purchase control.)
  • WorldEdit (Remove shops while blocks removed by WorldEdit)
  • WorldGuard (Register flags to control creates and trades in allowed regions, you usually don't need this)
  • SuperiorSkyblock (Remove shops when a player kicked, un co-op, island reset etc.)
  • EcoEnchants (Show EcoEnchants's enchantments)
  • Reforges (Show Reforges stuff in preview item GUI)

Enhanced Addons

ShopSearch by Ronsane

Adds a /finditem command in game for searching through all the shops on the server. [Download]

DiscordSRV

Forward in-game notifactions to Discord EmbedMessage and DM players.

Plan

Showcase your server recent QuickShop-Hikari activities like purchases and shops list.

Discount

Add discount codes to your QuickShop-Hikari server with custom name, rate, range, expired time and price threshold.

Known Incompatible Plugins

Some plugins may not work together with QuickShop and there is little we can do on our side to fix this.

  • Pretty much any BungeeCord Chat plugin.
    To solve the BungeeCord Chat conflicting, download and install Compat-BungeeCord compatibility module under versions.
  • Plugins handling BlockBreakEvents
    If you are a server administrator (with quickshop.alert privileges), you will receive an admin-only message instructing you how to configure the filter.
    Or you can directly disable the protection-checks, but it will allow players to create shops everywhere!
  • ChatControl Pro/Red You can use /quickshop amount <amount> to set the price instead.

Help us translate QuickShop!

You can help us to translate QuickShop into as many languages as possible! Crowdin
You can find the currently worked on translations over at Crowdin: https://crowdin.com/project/qs-hikari

Can't find your language? Open an issue on Issue Tracker!

FAQ

Q: Can I create a shop that sells AND buys items?
A: No. Each shop can only sell or buy but not both at once. You can however use a double-chest to have two shops. One buying and one selling the item.

Q: Can I use item currency like diamonds?
A: No. We won't add it. But you can choose some economy plugins that allows you to use item currency.

Q: The plugin doesn't respond when creating a shop. Is it broken?
A: Some plugins may cancel the Shop-creation. Most commonly is this the case with protection plugins. You can disable the shop.protection-checking in the config to bypass this.

Q: How can I create a Shop selling stacks?
A: To create such a shop, follow these steps:

  1. Set "allow-stacks" to true in the config.yml and reload the plugin.
  2. Give the player (Yourself) the permission quickshop.create.stacks
  3. Hold the number of items to buy/sell and create the shop as normal.

Q: Can I create a shop that bypasses the default vanilla stack-size?
A: Yes. Enable the custom-item-stacksize option in the config.yml and reload the plugin. Afterward, can you use /quickshop stack

Q: My shop was broken/denied by XXX non-protection plugin. Why?
A: QuickShop creates a fake BlockBreakEvent to check if you can build in that area. Some plugins may interfere with this event by canceling it. Try Use protection listener filter to fix it.

Q: How can I migrate from H2 to MySQL, MariaDB (or vice-versa)?
A: See Docs

Q: The plugin is giving a NoDefClassFound/NoMethodFound error in the console, why?
A: This may be caused either by odd plugins that QuickShop does (not) support or by having a damaged/corrupted jar of QuickShop. Try to update the plugin and also test it with ONLY QuickShop installed. If the issue persists, report it to us on GitHub!

Q: How can I change or delete some messages?
A: Edit the messages in your message.json file. To remove a message, just change its content to an empty String ("").

Q: Can you add support for plugin X?
A: Maybe. Please open an issue on our GitHub for this.

Q: It cannot load on 1.7/1.8/1.9/1.10/1.11/1.12/1.13/1.14/1.15/1.16/1.17/1.18/1.19.
A: See "Tested Minecraft Versions", latest version only supports 1.20 and above.

Migrate from QuickShop-Reremake

QuickShop-Hikari is different from Reremake and data are not compatible with each other. Hikari offers a converter that allows you to convert the data from Reremake to Hikari.

https://quickshop-community.github.io/QuickShop-Hikari-Documents/docs/addon/reremake-migrator

Bug Reports

Github Issue Tracker

Supports

Discord Server

User Documentation

Documentation Link

Developer API

Javadoc can be download use Maven or checked there.

Can I repost/reprint this plugin to xxx like mcbbs etc?

We allow you to repost this plugin for free in other places as long as you follow two basic rules:

  • Keep the link to the original resource (This one) and the source code link.
  • Don't remove the author's name or claim that are the original authors.
  • For MineBBS reposters: This resource is currently on hold pending a decision, please do not repost without authorization at MineBBS.

Metrics

bStats

Ченджлог

6.2.0.11Релиз26.1, 26.1.1, 26.1.2 · 14 февраля 2026 г.

Major Changes

  • Removed Spigot Platform Modules, and stopped loading QS if Spigot is detected. This will mean that unless the protocol changes that we use for display items, QS won't need updated for each version.
  • Revamped Economy Code Completely
    • New classes for all economy-related systems
    • Any economy-related or benefits-related events are incompatible with previous versions.
  • Added sign layout customizations per-type allowing you to change how lines are configured, an empty string('') will leave an empty line for that line of the sign.
  #The layout of signs for shops.
  layout:

    #The layout of BUYING shops.
    BUYING:
      line1: "header"
      line2: "trading"
      line3: "item"
      line4: "price"

    #The layout of FROZEN shops.
    FROZEN:
      line1: "header"
      line2: "trading"
      line3: "item"
      line4: "price"

    #The layout of SELLING shops.
    SELLING:
      line1: "header"
      line2: "trading"
      line3: "item"
      line4: "price"
  • Add wildcard support for item blacklist patterns(thanks to bennycallanan)
    • Added support for wildcard patterns in the item blacklist configuration, allowing users to block entire categories of items with simple patterns.

    • Features

      • Wildcard patterns like *_AXE and *_SPAWN_EGG now work in blacklist configuration
      • Supports * for any characters and ? for single character matching
      • Case-insensitive pattern matching
  • Overhauled GUI system(thanks to Yusakidev)
    • Implemented gui.yml configuration file for customizing the GUI.
    • Implemented better filtering for qs browse
    • Implement GUI system to be more stable, and less error prone.
    • Added gui.yml for fully configurable GUI layouts and text
    • Browse menu: search, sort (price/name/stock), and filter (all/buying/selling/in-stock)
    • Staff menu: search functionality for player/staff selection
    • Grouped item pages for better shop browsing
    • Refactored all menu pages to use configurable display/lore
  • Added worldedit compat to QS internally as it's widely used.
  • Revamped the taxation system to be more flexible and easier to configure.
    • introduced a new progressive tax system that allows you to tax based on the balance of players.(suggested by YuanYuanOwO)
    • introduced the ability to tax the player interacting with the shop, the owner, or both
    • all tax-related configurations have been moved under the shop-tax section of the config. this may require reconfiguration of your tax settings.
    • added a new ShopEnhancedTaxEvent, deprecated the old ShopTaxEvent.
    • Added a new TaxManager, and TaxProvider interfaces, this allows for custom tax providers to be added by addons/third-party developers.

Addons/Compats Changes

  • Added UltimateClaims compat
  • Added SimpleClaimSystem compat
  • Added Quests by Pika addon
  • Added BetonQuest addon
  • Added Pl3xMap addon
  • MatcherPlus Compat Improvements
    • Added support for CrazyCrates
    • Added support for ExcellentCrates
    • Added support for SilkSpawners.
  • WorldGuard Compat Improvements(Thanks to golovin12)
    • Added clear permission handling:
      • Region owners and members automatically have permission to create and trade in their own regions.
      • Other players must have the appropriate WorldGuard flags enabled (quickshophikari-create, quickshophikari-trade) to interact with shops.
    • If a shop is located outside any region, default QuickShop behavior applies (no extra restrictions)
  • Added colored markers based on shop state for bluemap(thanks to YusakiDev)
  • Updated dynmap/towny addons to use the new ShopTypeEnhancedEvent instead of ShopTypeEvent.
  • Removed worldedit compat, it's now included in the main plugin.
  • Added support for global flags to the worldguard compat.

Internals/Developer APIs

  • Removed several deprecated methods and classes.
  • Revamped the interaction manager. It is now more flexible and allows external additions
    • This involves two classes InteractionBehavior and InteractionType.
    • InteractionType details the type of interaction such as: STANDING_LEFT_CLICK_SIGN, STANDING_LEFT_CLICK_SHOP
    • InteractionBehavior outlines a behavior for an InteractionType such as CONTROL_PANEL and TRADE_UI
  • Added UserLimitCalculationEvent, which allows for custom limits to be applied to users.
    • This is useful for limiting the number of shops a user can have, or adding on to the existing limits provided by the ranks system without needing to implement a new RankLimiter.
  • Added a new ShopLayoutProvider interface, and default implementation.
    • This allows for custom layouts to be used for shops, allowing for more customization.
    • This also allows for developers to override the default layout provider and create their own implementation.
  • How to make your own?
    • Implement the classes you would like to then register with the InteractionManager:
    •    InteractionManager manager = QuickShop.getInstance().getInteractionManager();
      
         manager.interaction(new MyTradeInteraction());
         manager.behavior(new MyTradeBehavior());
      
  • Replaced some Apache Commons calls that could be easily replaced with built-in java methods, reduces some calls by ~ 1100ms/method call
  • Deprecated the ShopType enum, and the ShopTypeEvent. These are replaced with the new IShopType interface and implementing classes.
    • The new event is ShopTypeEnhancedEvent.
    • This allows for third-party addons to add their own shop types, and simplifies code checks for translations.
  • Updated config system to use Boosted-yaml
    • this allows for auto-updating of config files without complex update scripts
    • this also allows for the config system to not be minecraft-dependent.
  • Replaced logical PaperLib calls with native PaperAPI calls.

Minor Changes

  • Bump Java version up to 21
  • Added shop.display-allow-enchants to enable/disable enchantments for display items on shops.
  • Added workaround for packetevents not supporting custom enchants on itemstacks for virtual display items.
  • Using locale translations for shop-type in mode toggle icon(thanks to ExyiN)
  • Bumped Residence version for the compat(thanks to YuanYuanOwO)
  • add world whitelist support(thanks to wling-art)
  • added /qs database save command, which saves all currently dirty-marked shops to the database.
  • Split up interactions _SHOPBLOCK into _SHOPBLOCK and _CONTAINER.
    • _SHOPBLOCK relates to shops, where _CONTAINER relates to shop-valid containers that are not currently shops.
  • Added inventory as an option for command panel, this is useful for adding a secondary option for players to open a shop's inventory.
  • Moved crowdin arguments from system properties to config.yml
    • crowdin-host
    • use-crowdin-ota

Fixes

  • Fixes issue with item price restrictions(thanks to maxcom1)
  • Fixes issue with 1.20.x protocol lib displays(thanks to YuanYuanOwO)
  • Fixes issue when no item is in hand for itemdebug(thanks to YuanYuanOwO)
  • Fixes issue with dominion addon(thanks to YuanYuanOwO)
  • Add a simple check to avoid this. If it is not own shop, reject limit request directly.(Thanks to YuanYuanOwO)
  • Fix NPE by not setting tax for price in TransactionBuilder(thanks to maxcom1)
  • Fixes /quickshop suggestprice to differentiate between buy/sell shops. (Thanks to MidSpike)
  • PacketEvents ClassNotFoundException with ProtocolLib(thanks to wling-art)
  • Reallocate block state access to region thread for shop creation(thanks to r00tbeerman)
  • resolve SLF4J StaticLoggerBinder loading error(thanks to wling-art)
  • sign hijacking issue by validating sign facing direction(thanks to wling-art)
  • Performance improvements for QuickShop disabling to prevent potential freezes.
  • Fixed issue with 1.20.4 packetevents virtual displays not staying put.
  • Fixes critical issue in GriefPrevention compatibility plugin.
  • Fixes issue with shop owner not getting money when benefits active.
  • Fixes for lands addon on folia, Use regionThread for Folia compatibility(thanks to YusakiDev)
  • Fixes for TRADE_DIRECT on stacking shops
  • Fixes issue for protocollib 5.4.0 with undocumented packet changes.
  • Fixes issue where item stacks could be used on creation above the max stack size.
  • Fixes issue with BukkitAudiences-related crashes on 1.21.11.
  • Fix issue with shop deletion when getting too impatient.
  • Fix the permission check issue when a shop owned by a non-owner is transferred to someone else. (thanks to YuanYuanOwO)
  • Fix ui with supertool (thanks to YuanYuanOwO)
  • Fix issue with logs generating outside debug mode.
  • Fix issue with /qs find.
  • Fix configuration loading timing.
  • Fix configuration loading/creation warning message language.
  • Fix command description language key mismatch(thanks to wling-art)
  • Fix qs clean command on folia(thanks to wling-art)
  • Fix per-player-shop-sign on folia(thanks to wling-art)
  • Fix potential recursive deadlock in virtual display packet sending(thanks to wling-art)
  • Fix configuration loading/creation warning message language.
  • Fix issue with /qs browse and ShopItemOnly addon not behaving properly together on folia.
  • Fix issue with PLAN using outdated APIs.
  • Fix issue with /qs clean on folia.(thanks to wling-art)
  • Fix issue with /qs cleanghost on folia(thanks to wling-art)
  • More thread safety fixes for shops on folia.(thanks to wling-art)
  • Fix owner payment calculations with benefits(thanks to wling-art)
6.2.0.10Релиз1.21.6, 1.21.7, 1.21.8 · 28 июля 2025 г.

6.2.0.10

Major Changes

  • Added support for 1.21.6 for paper(spigot has not been updated as we look to deprecate spigot support, nag the spigot developers about modernizing their API)
  • Added support for 1.21.7 for paper(spigot has not been updated as we look to deprecate spigot support, nag the spigot developers about modernizing their API)
  • Added support for 1.21.8 for paper(spigot has not been updated as we look to deprecate spigot support, nag the spigot developers about modernizing their API)
  • Some internal updates for packetevents(2.9.0 is now required.)
  • Updated Lands support

Addon Changes

  • Added MatcherPlus Addon
    • Allows support for BreweryX and AdvancedItems stacks in shops with improved matching abilities
  • Added FabledSkyblock Compat
  • Added Dominion Compat
  • Added HuskTowns Compat
  • Added IridiumSkyblock Compat
  • Added member-create for member creation in ARM compat
  • Added admin-override and quickshop.arm.admin permission for admin overrides in ARM

Minor Changes

  • Added configurations for the coordinates of the display item.
  • Added /qs toggledisplayall on/off server/owned
    • Players need to have permission node quickshop.toggledisplayall.admin to toggle all on the server.
  • Added ability to use abbreviations in /qs price and /qs create commands such as 2.5k for 2500
  • Added ability to set default display status using shop.default-display in config.yml

Fixes

  • Fixed issue with display item being sent to the moon on 1.21.5
  • Fixed issue where TRADE_UI interactions interfered with quick create.
  • Fixed issue with displays on protocollib falling through the chest
  • Fixed issue with signs on .9 and previous .10 snapshots on early versions
  • Implemented some performance improvements for paper servers
  • Fixed all outstanding issues with Folia usage.(thanks to RootB33R/SleazLee for contributions)

Possible 6.2.0.11 Features

Here's an outline for some features that may arrive in 6.2.0.11:

  • Additional compats/addons that have been piling up.
  • gradle?(interested to see compilation time uplifts)
  • Update documentation
  • Update configuration comments
  • Update configuration system?
    • auto updating?
    • Allows removal of the update code
  • Remove waste spigot modules?
    • Any versions of 1.20 that can be discarded due to low use?
  • Bug fixing, of course
  • Sign parser implementation?
    • probably have to re-evaluate since it's been awhile since it has been looked at...
6.2.0.9-RELEASE-1Релиз1.21.3, 1.21.4, 1.21.5 · 1 апреля 2025 г.

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
6.2.0.8Релиз1.21.2, 1.21.3, 1.21.4 · 23 января 2025 г.

6.2.0.8

Major Changes

  • Added initial Folia Support
  • CONTROL_PANEL_UI is a new interaction that allows you to use a GUI control panel instead of the chat one.
    • From this GUI you can add/remove staff, transfer ownership, set selling mode of shop, change the price and delete the shop!
  • Readded QS History GUI
  • Removed Real Item and Entity displays; They provided no advantages over virtual displays and mainly caused issues.
    • If protocol lib is not up-to-date/installed it will default to no display.
  • Added /qs browse [world], which allows a player to view the shops by server or by world depending of if they attach world as an argument
  • Added TRADE_UI interaction, which opens up a GUI-based trading menu for the player to buy/sell predefined, and custom amounts from/to a shop.
  • Updated to MC 1.21.3, MC 1.21.4.
  • Added VaultUnlocked Support

Minor Changes

  • Added 2 new interaction behaviours that will be coming soon. CONTROL_PANEL_UI and TRADE_UI
  • Made it so that when price change fees are set to 0, the fee charge message isn't sent.
  • Added /qs staffall to manage staff for all shops.
  • Added a new shop mode, frozen.
    • This allows admins/shop staff to hault trading with the shop temporarily
    • This mode was added to the Shop Keeper menu.
    • This mode was added to the text-based control panel.
    • This mode introduces new commands: /qs silentfreeze and /qs freeze
  • Made the default action for /qs suggestprice try to use the itemstack in hand when shop not in sight.
  • Added shop.finding.global to remove distance limit for /qs find
  • Made sign shop sign waxed to prevent modifications(thanks to ThiagoROX)
  • Add SignOpen listener(thanks to ThiagoROX)
  • Add sub command overrides(thanks to ThiagoROX)

Internals

  • Added style guidelines.
  • Added final inside code where possible.
  • Made ShopNamingEvent get called when unsetting shop name.
  • Added ShopUnlimitedStatusEvent that is called when changing the unlimited status of a shop.
  • Rearranged Events into different packages. This will break plugins that rely on the events.

Discord Changes

  • Added Sponsor role for those that sponsor through GitHub.

Compat Plugins

  • Towny
    • Added ruined town config to remove shops when town goes into ruins.

Addon Plugins

SuperiorSkyblock

  • Made it so the compat plugin can delete shops when someone is banned from an island.

Fixes

  • Fixed issue with Velocity and Bungee Compat Jars
  • Fixed issue with Towny Compat Jar not removing shops when plot is cleared, or town is deleted.
  • Fix item restrictions being bypassed using shulkers(thanks to TauCubed)
  • Fix Towny town/nation account lookup with Essentials(thanks to galacticwarrior9)

Notes

  • Pending removal of 1.18/1.19 support soon.
6.2.0.7Релиз1.20.6, 1.21, 1.21.1 · 25 августа 2024 г.

Changelog

  • Completely rewrote display item code
  • Added new completely revamped item matcher, set work-type to 3 which corrects lots of issues(still in testing phase)
  • Added 1.21.1 support, this will be the new default, which should allow for future updates to continue to work so long as the protocol doesn't change.
  • Add finding enchantments on books and gear support for find sub command(thanks SarahGreyWolf)

Other Notes

  • Testing builds for folia support may be found on the discord.
  • RealItemDisplay will be getting removed in a future release. It is inefficient and causes more issues than it's worth. Please move to virtual displays.
6.2.0.6Релиз1.20.5, 1.20.6, 1.21 · 21 июля 2024 г.

Bug Fixes

  • Fixed exploit with shop items and certain functionality(thanks to bridgelol)
  • Temporarily disabled QS history while working on replacement due to errors end-users are running into.
  • Fixed issue with enchantment restrictions not detecting them in enchanted books(thanks toTauCubed)

What's Changed

Full Changelog: https://github.com/QuickShop-Community/QuickShop-Hikari/compare/6.2.0.5...6.2.0.6

6.2.0.5Релиз1.20.5, 1.20.6, 1.21 · 14 июня 2024 г.

New Features

  1. 1.21 support

Bug Fixes

  1. Fixed /qs clean may delete all stores
  2. Fixed /qs cleanghost may delete all stores
6.2.0.4Релиз1.20.4, 1.20.5, 1.20.6 · 8 июня 2024 г.

Changes

  • Virtual Display Item available again when use ProtocolLib Build 710 and up, please update your ProtocolLib

Bug Fixes

  1. Fixed display item check when using RealDisplayItem, the check may delete non-display item from player/container inventory if an item contains lore that is a valid JSON string. It should won't affcet most servers.
  2. Fixed /quickshop cleanghost won't delete the stores that trading blacklisted items

Комментарии

Загружаем…