QuickShop-Hikari
a04ef7174d9f4e65b60ae28b09222809badgesvgQuickShop-Hikari.svgQuickShop-Hikarigit%2Bgithub.com%2FGhost-chu%2FQuickShop-Hikari.svg?type=shield
java-version%2017%2B%20(currently%20is%2017--18)-orangeminecraft-java%20edition%201.18%2B-blueviolet

154732527-859c4bed-1548-41bc-bdbf-3c1954f368dc.jpg
[ Start your in-game business today ;) ]


Why another fork

I used to be part of the QuickShop-Reremake development team. But since the development pace of QuickShop-Reremake is too conservative, I decided to start a new fork separately.

Features

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


How to Install
QuickShop requires Minecraft 1.18+ to be run. Any versions below 1.18 were unsupported.

  1. Install Vault and an economy plugin supported by Vault.
    If you using Multi-Currency, an option in config.yml that allows you to switch to GemsEconomy/TNE or Reserve!
  2. Install optional ProtocolLib which can greatly improve QuickShop performance.
  3. If you're a Spigot user, Hikari will use NMS to set important stuffs, make sure your Hikari version support your Spigot version.
    1. Or use Paper or it's fork so we can smooth cross-version.
  4. Download QuickShop jar and put it in your plugins folder.
  5. Download other compatibility modules or add-ons if you need them.
    1. Only install compatibility modules that you need, they're not open box to use, you need configure them.
    2. 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.

  • /qs unlimited
    Makes your Shop buy/sell Items in unlimited quantity or limited
  • /qs setowner <player>
    Change the Shop Owner.
  • /qs buy
    Change the shop to buying items.
  • /qs sell
    Change the shop to selling items.
  • /qs price <price>
    Change the buy/sell price of the item.
  • /qs clean
    Removes any loaded shop that doesn't have any items in stock.
  • /qs find <item>
    Find the nearest shop that sells items that start with the provided text. E.g. /qs find dia will find the nearest shop that buys/sells diamonds.
  • /qs fetchmessage
    Fetch shop message manually from the database.
  • /qs info
    Show QuickShop information.
  • /qs debug
    Enable/Disable Debug Mode.
  • /qs create <price> [item]
    Command to create the shop with the item in hand or specified.
  • /qs currency <currency name>
    Command to specified the currency the shop using.
    The Economy plugin must support the Multi-Currency feature and be supported by QuickShop. We support GemsEconomy and TNE now.
  • /qs supercreate
    Create a shop while bypassing any protection checks.
  • /qs paste
    Collects useful information and pastes it on Pastebin.
  • /qs staff
    Manage staff in your shop.
    • /qs staff add <player>
      Add a player as staff to your shop.
    • /qs staff del <player>
      Remove a player as staff from your shop.
    • /qs staff clear
      Remove all staff members from your shop.
    • /qs staff list
      Show all current staff members of your shop.
  • /qs cleanghost
    Remove all broken shops.
  • /qs export
    Export all shop data to a TXT file.
    This command is CONSOLE ONLY!
  • /qs 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!
  • /qs size
    Change the bulk size.
    Requires the "allow-stacks" option in the config to be enabled for the command to work.
  • /qs 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.
  • /qs alwayscounting
    Making a shop always counting shop even is unlimited, which makes a real admin shop is possible.
  • /qs transfer
    Transfer ALL shops from one player to another.
  • /qs item
    Change the item of the shop.
    Requires the "allow-stacks" option in the config to be enabled for the command to work.
  • /qs removeworld
    Remove all shops in a specific world.
  • /qs name
    Naming or un-naming a shop with a specific name.
  • /qs permission
    Tweaking the per-shop permissions, or add/remove player into/from specific groups.
  • /qs database
    View and manage QuickShop-Hikari status.
  • /qs benefit
    View and manage yout shop benefits.
Aliases:
  • /shop
  • /qshop
  • /qsshop
  • /quickshop
  • /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:

  Pro Owner: Detailed Permissions


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).

1_1.gif


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.

2.gif


Advanced Features

Item Preview GUI
Preview the item you will purchase before actual purchase to avoid scam!
item-preview.gif

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

154743474-4e32ade6-4f07-45b1-8ccf-5627ea1e25f7.gif


Shop Staff
Shop owner can able to managing shop staff by using the command `/qs 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 `/qs 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.

stacking.gif


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:

  1. AdvancedRegionMarket (Remove shops when region reset)
  2. BentoBox (Remove shops while the member was kicked out of the team)
  3. Clearlag (Prevent clear the QuickShop displays if you hadn't installed ProtocolLib)
  4. GriefPrevention (Remove shops on untrusted, unclaimed,
    expired, resized, etc.)
  5. Lands (Remove shops while member leaves)
  6. NoCheatPlus (anti-cheat compatibility)
  7. OpenInv (Offers a command `/qs echest` to link with your EnderChest)
  8. PlotSquared (Remove shops when a player is untrusted)
  9. Towny (Remove shops while resident left or plot clear/destroyed; Taxes go town bank account etc.)
  10. Residence (Region creation/purchase control.)
  11. WorldEdit (Remove shops while blocks removed by WorldEdit)
  12. WorldGuard (Register flags to control creates and trades in allowed regions, you usually don't need this)
  13. SuperiorSkyblock (Remove shops when a player kicked, un co-op, island reset etc.)


Enhanced Addons

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

Some traditional reremake addons have been migrated to Hikari!
See QuickShop-Suite.

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

  1. Pretty much any BungeeCord Chat plugin.
    Those override the default per-server chat and it's impossible to fix this without any bungee-spigot bridge plugins.
    You can use /qs amount <amount> to set the price instead.
    * If you're using a chat plugin with Spigot plugin supports, It should work with it.
  2. 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!
  3. ChatControl Pro/Red
    You can use /qs amount <amount> to set the price instead.


Help us translate QuickShop!
You can help us to translate QuickShop into as many languages as possible!

2022-02-19_012630.png


You can find the currently worked on translations over at Crowdin:
https://crowdin.com/project/quickshop-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:
[LIST=1]Set "allow-stacks" to true in the config.yml and reload the plugin.Give the player (Yourself) the permission quickshop.create.stacksHold the number of items to buy/sell and create the shop as normal.
[/LIST]
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 /qs stack <size>

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: /qs export to export all shops from your database, then swtich the data-source and /qs recovery to restore all shops from exports.

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: Hikari cannot load on 1.18(.0) and 1.18.1.
A: <1.18.2 have conficting issue with Adventure lib, upgrade to 1.18.2

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.
A: See "Tested Minecraft Versions", we only support 1.18(.2) and up.

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.

BACKUP BEFORE OPERATING MIGRATE!

  1. Stop your server.
  2. Delete already existing folder plugins/QuickShop-Hikari
  3. CopyQuickShop-Reremake data folder plugins/QuickShop to plugins/QuickShop-Hikari, don't touch any other things!
  4. Start your server, our converter will convert things once you confirmed.


Conversion is irreversible, please take care of the backup.

Bug Reports
Github Issue Tracker

Supports
Discord Server

User Documentation
We don't have documentation yet, it looks like if you have questions you can only ask on our Discord channel ;)

Developer API
Maven repository & QuickShopAPI
Code Fragment -> Shop Lookup
Code Fragment -> Register QuickShop Command
Code Fragment -> InventoryWrapper API (Hook shop inventory to another block, entity, and plugin virtual inventory)
Overview -> API Package
Code Fragment -> Customize display item implement with ServiceInjector (TODO)

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 or non-free in other places as long as you follow two basic rules:

  1. Keep the link to the original resource (This one) and the source code link.
  2. Don't remove the author's name or claim that are the original authors.



Metrics

QuickShop-Hikari.svg