ShopGUI+: a GUI shop for your Minecraft server
ShopGUI+ is one of the most popular paid shop plugins for Minecraft servers. Instead of signs and chests, it gives you a clean interface of clickable menus where players browse product categories and buy or sell items with a single click. It supports versions up to 1.21.x.
What ShopGUI+ is
ShopGUI+ is a server plugin that replaces traditional sign-based shops (ChestShop, QuickShop) with a full graphical interface. A player types /shop, a menu of categories opens (blocks, food, weapons, tools and so on), and they pick a category and then a specific item to buy or sell.
It's a paid plugin on SpigotMC, built for admin shops: the admin defines the stock and prices, and players just buy and sell. ShopGUI+ does not support player-run shops (for those you still need QuickShop Hikari or ChestShop).
The plugin is available on SpigotMC. It requires Vault and any economy plugin (EssentialsX, CMI, CoinsEngine). It optionally supports PlaceholderAPI.
Interface and categories
The ShopGUI+ menu has two levels:
- Main menu - a list of categories (for example Blocks, Weapons, Tools, Food, Decorations). Each category has its own icon in the menu.
- Category menu - a list of items with buy and sell prices. The player left-clicks to buy and right-clicks to sell.
Clicking an item opens a window for choosing the amount: 1, 8, 16, 32, 64 or a custom amount. The player sees the total cost before confirming the transaction. The whole interaction happens in the GUI: no typing commands and no signs in the game world.
The admin defines categories and products in YAML files in the plugins/ShopGUIPlus/shops/ folder. Each category is a separate file, which makes it easier to stay organized on servers with a large selection.
Shop configuration
An example category configuration in plugins/ShopGUIPlus/shops/blocks.yml:
shop:
name: "Blocks"
icon:
material: GRASS_BLOCK
items:
stone:
material: STONE
buyPrice: 5.0
sellPrice: 2.5
slot: 0
oak_log:
material: OAK_LOG
buyPrice: 8.0
sellPrice: 4.0
slot: 1
cobblestone:
material: COBBLESTONE
buyPrice: 3.0
sellPrice: 1.5
slot: 2 Every item has a buy price (buyPrice), a sell price (sellPrice) and a position in the menu (slot). You can set just one of the prices: if you leave out sellPrice, players won't be able to sell that item.
ShopGUI+ also supports selling commands: the admin can add a product that runs a command on the server when it's bought (for example granting a rank, a kit or an effect). That's useful for selling services and perks without physical items.
Dynamic pricing
ShopGUI+ has a built-in dynamic pricing system based on supply and demand. When players buy an item in bulk, its price goes up. When they sell in bulk, the price goes down. It's a natural market-balancing mechanism.
Dynamic pricing configuration in config.yml:
dynamicPricing:
enabled: true
maxBuyMultiplier: 2.0 # buy price max 2x base
minBuyMultiplier: 0.5 # buy price min 0.5x base
maxSellMultiplier: 2.0 # sell price max 2x base
minSellMultiplier: 0.5 # sell price min 0.5x base
resetInterval: 24 # reset prices every 24 hours Dynamic pricing is optional. Many servers prefer fixed prices so players know what they'll pay. Only turn this feature on for servers with a lot of transactions, where price swings make economic sense.
Commands and permissions
| Command | Description | Permission |
|---|---|---|
/shop | Opens the main shop menu | shopguiplus.shop |
/shop [category] | Opens a specific category | shopguiplus.shop |
/sell hand | Sells the item in your hand | shopguiplus.sell.hand |
/sell all | Sells everything in your inventory | shopguiplus.sell.all |
/sellgui | Opens the sell GUI (drop items in) | shopguiplus.sellgui |
/shopreload | Reloads the configuration | shopguiplus.reload |
You control ShopGUI+ permissions through LuckPerms. You can restrict access to specific categories per rank with the shopguiplus.shop.[category] permissions.
Tips for admins
- Always set sell prices lower than buy prices - set sellPrice to 40-60% of buyPrice. This prevents exploits where a player buys and immediately sells for a profit.
- Use /sell all on Skyblock/Prison servers - players who farm large amounts of resources will appreciate being able to sell their whole inventory with one command.
- Separate shops per world - ShopGUI+ supports a different selection per world. Handy on servers with several game modes.
- Leaderboard integration - use PlaceholderAPI to show the top traders on leaderboards.
- Don't overdo the selection - 50-100 products are enough. An overly big shop overwhelms players and wrecks an economy built on trade between players.
Related articles: Vault, EssentialsX, QuickShop Hikari, plugin catalog.