GUIShop v9.4.3c
The Ultimate GUI-Based Shop Plugin for Minecraft Servers
Fully compatible with Paper/Spigot/Folia/Bukkit 1.13 - 1.21.11
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Overview
GUIShop is a powerful, feature-rich shop plugin that allows server owners to create beautiful GUI-based shops with extensive customization options. Say goodbye to confusing sign shops and chest-based systems. GUIShop provides players with an intuitive shopping experience while giving administrators complete control over pricing, items, and layout.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Features
- Easy-to-Use GUI System - Players browse shops through clean, organized inventory menus
- Multi-Page Shops - Create shops with unlimited pages for large item catalogs
- Dynamic Pricing - Optional supply/demand based pricing system
- Worth Display System - Shows item sell values directly in item lore (requires PacketEvents)
- Full GUI-Based Item Editor - Edit item prices, names, enchantments, and more through an intuitive GUI
- Drag-and-Drop Shop Building - Place and rearrange items in shops by simply dragging them
- Command Items - Sell commands that execute when purchased
- Custom Items - Full support for enchantments, potions, fireworks, and custom model data
- Native Spawner Support - Configure and sell mob spawners with any entity type
- Native Player Head Support - Use player UUIDs or Base64 skin textures for custom heads
- PDC Support - Uses Bukkit's Persistent Data Container API for reliable item identification
- Per-Item Permissions - Restrict specific items to certain player groups
- PlaceholderAPI Support - Use placeholders in shop names and lores
- Vault Integration - Works with any Vault-compatible economy plugin
- Built-In Economy - Optional internal economy system (no external economy plugin needed!)
- Alternate Sell GUI - Sell items without leaving the shop
- Transaction Logging - Track all purchases and sales
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Screenshots
Spoiler: Click to view screenshots
Screenshot placeholder - Main Menu
Screenshot placeholder - Shop View
Screenshot placeholder - Item Editor
Screenshot placeholder - Quantity Selector
Screenshot placeholder - Worth Display
Screenshot placeholder - Main Menu
Screenshot placeholder - Shop View
Screenshot placeholder - Item Editor
Screenshot placeholder - Quantity Selector
Screenshot placeholder - Worth Display
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Player Commands
Code (Text):
/shop, /buy - Open the shop menu
/sell - Open the sell GUI
/value, /val - Check the buy/sell value of held item
Code (Text):
/gs reload - Reload all configuration files
/gs edit - Enter creator mode for the main menu
/gs edit menu - Enter creator mode for the main menu
/gs edit transaction - Enter creator mode for the transaction GUI
/gs edit [shop] - Enter creator mode for a specific shop
/gs edit [shop] [page] - Edit a specific page of a shop
/gs parsemob <type> - Validate a mob type for spawners
/gs toggleworth - Toggle worth display for yourself (session only)
/gs iteminfo - Display comprehensive info about held item
(Only available when internal economy is enabled)
Player Commands:
Code (Text):
/bal, /balance, /money - Check your balance
/bal <player> - Check another player's balance
/pay <player> <amount> - Send money to a player
/togglepay - Toggle payment notifications on/off
Code (Text):
/gs eco give <player> <amount> - Give money to a player
/gs eco take <player> <amount> - Take money from a player
/gs eco set <player> <amount> - Set a player's balance
/gs eco balance <player> - Check a player's balance
/gs eco reset <player> - Reset to starting balance
Item Info Command
The /gs iteminfo command is a powerful debugging and configuration helper. Hold any item and run the command to see:
- Material type and display name
- All lore lines
- Enchantments in config-ready format (e.g., SHARPNESS:5 UNBREAKING:3)
- Potion info in config-ready format (type, splash, extended, upgraded)
- Firework info in config-ready format (flight, explosions, colors)
- All PDC (Persistent Data Container) values
- Custom NBT data
This makes it easy to configure complex items - just create the item you want, then use /gs iteminfo to get the exact format needed for your shops.yml.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Permissions
Code (Text):
guishop.use - Access to the shop (default: op)
guishop.shop.* - Access to all shop items (default: op)
guishop.shop.<shop>.<item> - Access to specific items
guishop.reload - Permission to reload the plugin (default: op)
guishop.creator - Access to the in-game shop editor (default: op)
guishop.value - Access to /value command (default: true)
guishop.sell - Access to /sell command (default: true)
guishop.admin - Full admin access (default: op)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Configuration
GUIShop uses several configuration files for maximum flexibility:
- config.yml - General plugin settings, commands, titles, buttons
- shops.yml - Shop layouts and item definitions
- menu.yml - Main menu configuration
- messages.yml - All plugin messages (fully customizable)
- worth.yml - Worth display system configuration
Spoiler: Example Shop Item Configuration
shops:
Blocks:
pages:
Page0:
'0':
type: SHOP # Item type (SHOP, COMMAND, SHOP_SHORTCUT, DUMMY, BLANK)
id: STONE # Material ID
buy-price: 10.0 # Price to buy (or 'false' to disable)
sell-price: 5.0 # Price to sell (or 'false' to disable)
shop-name: '&7Stone' # Display name in shop
buy-name: '&7Stone' # Name on purchased item
shop-lore: # Lore shown in shop
- '&fA basic building block'
enchantments: 'DURA:1 SHARP:2' # Enchantments (space separated)
quantity: 64 # Stack size to give
permission: 'shop.vip' # Required permission (optional)
Code (Text):
shops:
Blocks:
pages:
Page0:
'0':
type: SHOP # Item type (SHOP, COMMAND, SHOP_SHORTCUT, DUMMY, BLANK)
id: STONE # Material ID
buy-price: 10.0 # Price to buy (or 'false' to disable)
sell-price: 5.0 # Price to sell (or 'false' to disable)
shop-name: '&7Stone' # Display name in shop
buy-name: '&7Stone' # Name on purchased item
shop-lore: # Lore shown in shop
- '&fA basic building block'
enchantments: 'DURA:1 SHARP:2' # Enchantments (space separated)
quantity: 64 # Stack size to give
permission: 'shop.vip' # Required permission (optional)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GUI-Based Item Editor
GUIShop features a powerful, fully GUI-based item editor that eliminates the need for manual config editing. Configure every aspect of shop items through intuitive click-based menus.
How It Works
- Enter creator mode with /gs edit (for menu) or /gs edit <shop> (for shops)
- Left-click to drag and drop items - move items within the shop, rearrange positions, or place new items from your inventory into the shop
- Right-click or Shift+click any item to open the Item Editor GUI
- Click on any setting to modify it through chat input or nested selection GUIs
- Changes save automatically when you close the inventory
Creator Mode Controls
Code (Text):
Left-click - Pick up / place items (works between shop and your inventory)
Right-click - Open Item Editor for the clicked item
Shift+click - Open Item Editor for the clicked item
Navigation Buttons (pagination, back, balance):
Left-click - Pick up and move the button
Right-click - Open Item Editor for the button
Shift+click - Activate the button (navigate pages, go back, etc.)
- Buy/Sell Prices - Set prices with support for abbreviated formats (1k, 1.5M, 100B)
- Item Type - Switch between SHOP, COMMAND, SHOP_SHORTCUT, and DUMMY types
- Display Names - Set shop display name and purchased item name
- Custom Lore - Add descriptive lore lines to items
- Enchantments - Add/remove enchantments through a visual enchantment picker
- Potion Effects - Configure potion type, duration, and amplifier via GUI
- Firework Properties - Set flight duration, explosion shapes, colors, and effects
- Spawner Mob Type - Select mob type from a visual entity picker
- Commands - Configure commands to run on purchase
- Permissions - Set required permissions per item
- Quantity - Set stack size given on purchase
Spoiler: Item Editor Screenshots
Screenshot placeholder - Item Editor Main View
Screenshot placeholder - Enchantment Selector
Screenshot placeholder - Potion Editor
Screenshot placeholder - Item Editor Main View
Screenshot placeholder - Enchantment Selector
Screenshot placeholder - Potion Editor
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Worth Display System
GUIShop includes a powerful worth display feature that shows item sell values directly in the item lore. This uses packet manipulation to display worth client-side only, meaning your actual items are never modified.
Requirements: PacketEvents plugin
Spoiler: Worth Display Configuration (worth.yml)
enabled: true
format: "&7Worth: &a%worth%"
position: BOTTOM
add-blank-line: true
only-show-sellable: true
not-sellable-format: "&7Worth: &cNot sellable"
# Hide worth in specific inventories
blacklisted-inventories:
- "Auction House"
- "Crate Preview"
# Hide worth on items with specific names
blacklisted-item-names:
- "Crate Key"
- "Vote Token"
# Hide worth on equipped armor
hide-armor-slots: true
Code (Text):
enabled: true
format: "&7Worth: &a%worth%"
position: BOTTOM
add-blank-line: true
only-show-sellable: true
not-sellable-format: "&7Worth: &cNot sellable"
# Hide worth in specific inventories
blacklisted-inventories:
- "Auction House"
- "Crate Preview"
# Hide worth on items with specific names
blacklisted-item-names:
- "Crate Key"
- "Vote Token"
# Hide worth on equipped armor
hide-armor-slots: true
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Advanced Item Types
Command Items
Sell commands that execute when purchased. Use placeholders like {PLAYER_NAME}, {PLAYER_UUID}, {PLAYER_WORLD}, or any PlaceholderAPI placeholder:
Code (Text):
'19':
type: COMMAND
id: NETHER_STAR
shop-name: '&6VIP Rank'
buy-price: 10000
sudo: false # Run as console (default) or as player (true)
commands:
- 'lp user {PLAYER_NAME} parent set vip'
- 'broadcast {PLAYER_NAME} purchased VIP!'
- {PLAYER_NAME} or %player_name% - Player's name
- {PLAYER_UUID} or %player_uuid% - Player's UUID
- {PLAYER_WORLD} or %player_world% - Current world
- {PLAYER_BALANCE} or %player_balance% - Economy balance
- Any PlaceholderAPI placeholder (if PAPI installed)
Sudo Mode: Set sudo: true to run commands as the player instead of console. Useful for commands that check player permissions or are player-only.
Enchanted Books
Code (Text):
'20':
type: SHOP
id: ENCHANTED_BOOK
buy-price: 1000
enchantments: 'SHARP:5 FIRE_ASPECT:2'
Configure potions with the potion-info section. Supports regular, splash, and lingering potions.
Code (Text):
# Regular Potion (Extended Speed)
'21':
type: SHOP
id: POTION
buy-price: 500
potion-info:
type: SPEED
splash: false
lingering: false
extended: true
upgraded: false
# Splash Potion (Healing II)
'22':
type: SHOP
id: SPLASH_POTION
buy-price: 600
potion-info:
type: HEALING
splash: true
lingering: false
extended: false
upgraded: true
# Lingering Potion
'23':
type: SHOP
id: LINGERING_POTION
buy-price: 700
potion-info:
type: POISON
splash: false
lingering: true
extended: true
upgraded: false
- type - Potion effect (SPEED, HEALING, STRENGTH, POISON, etc.)
- splash - Splash potion (true/false)
- lingering - Lingering potion (true/false)
- extended - Extended duration (true/false)
- upgraded - Level II/stronger effect (true/false)
Spawners
Native spawner support with any valid entity type (use /gs parsemob <type> to validate):
Code (Text):
'22':
type: SHOP
id: SPAWNER
buy-price: 50000
mob-type: ZOMBIE
shop-name: '&6Zombie Spawner'
Code (Text):
'23':
type: SHOP
id: FIREWORK_ROCKET
buy-price: 100
firework-info:
flight: 2
explosions:
- shape: ball_large
flicker: true
trail: true
colors: [11743532, 2437522]
fade-colors: [1973019, 15790320]
Support for player UUIDs or Base64 skin textures:
Code (Text):
# Using player UUID
'24':
type: SHOP
id: PLAYER_HEAD
buy-price: 1000
skull-uuid: 'player-uuid-here'
# Using Base64 skin texture (from minecraft-heads.com, etc.)
'25':
type: SHOP
id: PLAYER_HEAD
buy-price: 500
skull-uuid: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYWJjMTIzIn19fQ=='
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Statistics & PlaceholderAPI
GUIShop tracks player shop statistics and integrates with PlaceholderAPI for use in scoreboards, holograms, and chat.
Tracked Statistics
- Total money spent (buying from shops)
- Total money earned (selling items)
- Total items bought/sold
- Top 3 most bought items per player
- Top 3 most sold items per player
Available Placeholders
Code (Text):
%guishop_total_spent% - Money spent (with commas)
%guishop_total_spent_formatted% - Money spent (abbreviated: 1.5M)
%guishop_total_earned% - Money earned (with commas)
%guishop_total_earned_formatted% - Money earned (abbreviated)
%guishop_items_bought% - Items purchased count
%guishop_items_bought_formatted% - Items purchased (abbreviated)
%guishop_items_sold% - Items sold count
%guishop_items_sold_formatted% - Items sold (abbreviated)
%guishop_top_bought_1% - #1 most bought item (Material: Qty)
%guishop_top_sold_1% - #1 most sold item (Material: Qty)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Dynamic Pricing System
GUIShop includes a built-in supply/demand economy system that makes item prices fluctuate based on trading activity.
How It Works
- When items are bought: Supply decreases → prices increase
- When items are sold: Supply increases → prices decrease
- Over time: Prices gradually normalize back to base values
Configuration
Enable in config.yml:
Code (Text):
dynamic-pricing: true
Code (Text):
price-change-per-item: 0.01 # 1% change per item
max-price-multiplier: 2.0 # Up to 200% of base price
min-price-multiplier: 0.5 # Down to 50% of base price
normalization-rate: 0.001 # How fast prices return to normal
normalization-interval: 300 # Seconds between normalization ticks
Configure different volatility for specific items:
Code (Text):
item-overrides:
DIAMOND:
price-change-per-item: 0.005 # More stable
max-price-multiplier: 1.5
min-price-multiplier: 0.75
Make items affect other items' prices - perfect for crafting relationships:
Code (Text):
item-overrides:
DIAMOND_BLOCK:
affects:
DIAMOND: 9.0 # 1 block = 9 diamonds
DIAMOND_ORE: 1.0 # Also affects ore prices
BREAD:
affects:
WHEAT: 3.0 # 1 bread = 3 wheat in crafting
Per-Item Control
Exempt specific items from dynamic pricing:
Code (Text):
'0':
id: DIAMOND
buy-price: 100
sell-price: 50
dynamic: false # Uses static pricing
- /gs market status - View system status
- /gs market info <item> - Check item's market status
- /gs market reset <item> - Reset item to base price
- /gs market resetall - Reset all prices
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developer API
GUIShop provides a comprehensive API for developers to integrate with:
Spoiler: API Examples
// Check if an item can be sold
boolean canSell = GUIShopAPI. canBeSold (itemStack ) ;
// Get buy/sell prices
BigDecimal buyPrice = GUIShopAPI. getBuyPrice (itemStack, quantity ) ;
BigDecimal sellPrice = GUIShopAPI. getSellPrice (itemStack, quantity ) ;
// Sell items programmatically
GUIShopAPI. sellItems (player, SellType. COMMAND, items ) ;
// Worth Display API
BigDecimal worth = GUIShopAPI. getItemWorth (itemStack ) ;
BigDecimal stackWorth = GUIShopAPI. getStackWorth (itemStack ) ;
// Per-player worth toggle
GUIShopAPI. toggleWorthForPlayer (player ) ;
GUIShopAPI. enableWorthForPlayer (player ) ;
GUIShopAPI. disableWorthForPlayer (player ) ;
// Hook for persistent per-player worth settings
GUIShopAPI. setExternalWorthCheck (player -> {
return myPlugin. hasWorthDisabled (player. getUniqueId ( ) ) ;
} ) ;
Code (Java):
// Check if an item can be sold
boolean canSell = GUIShopAPI. canBeSold (itemStack ) ;
// Get buy/sell prices
BigDecimal buyPrice = GUIShopAPI. getBuyPrice (itemStack, quantity ) ;
BigDecimal sellPrice = GUIShopAPI. getSellPrice (itemStack, quantity ) ;
// Sell items programmatically
GUIShopAPI. sellItems (player, SellType. COMMAND, items ) ;
// Worth Display API
BigDecimal worth = GUIShopAPI. getItemWorth (itemStack ) ;
BigDecimal stackWorth = GUIShopAPI. getStackWorth (itemStack ) ;
// Per-player worth toggle
GUIShopAPI. toggleWorthForPlayer (player ) ;
GUIShopAPI. enableWorthForPlayer (player ) ;
GUIShopAPI. disableWorthForPlayer (player ) ;
// Hook for persistent per-player worth settings
GUIShopAPI. setExternalWorthCheck (player -> {
return myPlugin. hasWorthDisabled (player. getUniqueId ( ) ) ;
} ) ;
Full API documentation available on the Wiki.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Dependencies
Required:
- Vault (for economy API)
Optional:
- Economy Plugin (EssentialsX, CMI, etc.) - OR use GUIShop's built-in economy!
Folia Support:
Spoiler: Folia CompatibilityGUIShop fully supports Folia - Paper's regionized multithreading fork for improved performance on large servers.
No additional configuration required - GUIShop automatically detects and adapts to Folia's scheduler system. - PacketEvents (for worth display feature)
- PlaceholderAPI (for placeholder support)
Note: GUIShop includes its own economy system! Enable it in economy.yml to use GUIShop as your server's economy without needing EssentialsX or similar plugins.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Installation
- Download GUIShop and place it in your plugins folder
- Install Vault and an economy plugin (EssentialsX, CMI, etc.)
- (Optional) Install PacketEvents for worth display
- (Optional) Install PlaceholderAPI for placeholder support
- Restart your server
- Configure shops in plugins/GUIShop/shops.yml
- Use /gs reload to apply changes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Support
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developed by pablo67340
If you enjoy GUIShop, please consider leaving a review!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.13, 1.14, 1.15
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
GUIShop is a free Minecraft Java mod. Compatible with Minecraft 1.13, 1.14, 1.15, 1.16 and newer. Downloaded 541,974 times (via Spigot). Download it and open it directly in the game.