53
ShopShelves Spigot: The Modern Display Shop Solution
The ultimate plugin for creating interactive, visually striking display shops using the Shelf Block. Transform your server's economy with elegant, lag-friendly holograms (Text Displays) that show prices, stock, and shop status in real-time!
Pictures explained:
The Following pictures depict the ingame shelf blocks in order:
Buy Shop | Sell Shop | Buy & Sell Shop | Custom Label | Player Shop
Statistics Book -> Shows the total money earned / lost to the slots item.
Custom Price GUI shift right click shelf to set custom prices per slot.
Customer friendly GUI to see the full item (potions enchantments etc)



Also check out my DrawerShelves plugin here!
Discord Server: https://discord.gg/48sZCbdHzJ
All general questions, feature requests, and non-urgent bug reports should be posted in the appropriate channels on our Discord server. We actively monitor the server and will respond as soon as possible. This ensures that the whole community can benefit from the discussion and solutions.
---
While we prefer all issues to be handled via the Discord server first, you are welcome to PM me directly under specific urgent circumstances:
I will do my best to respond promptly, but immediate replies are not guaranteed. Private messaging is a professional courtesy, not an entitlement. Thank you for your understanding!
✨ Features & Highlights
⚙️ Setup & Usage
1. Admin Shop Setup
2. Player Shop Setup
3. Customer Interactions
Commands & Permissions
Requirements
The ultimate plugin for creating interactive, visually striking display shops using the Shelf Block. Transform your server's economy with elegant, lag-friendly holograms (Text Displays) that show prices, stock, and shop status in real-time!
Pictures explained:
The Following pictures depict the ingame shelf blocks in order:
Buy Shop | Sell Shop | Buy & Sell Shop | Custom Label | Player Shop
Statistics Book -> Shows the total money earned / lost to the slots item.
Custom Price GUI shift right click shelf to set custom prices per slot.
Customer friendly GUI to see the full item (potions enchantments etc)



Also check out my DrawerShelves plugin here!
Contact Me & Support Information
Primary Support Channel (Preferred)
Discord Server: https://discord.gg/48sZCbdHzJ
All general questions, feature requests, and non-urgent bug reports should be posted in the appropriate channels on our Discord server. We actively monitor the server and will respond as soon as possible. This ensures that the whole community can benefit from the discussion and solutions.
---
Urgent Private Messaging (PM) Policy
While we prefer all issues to be handled via the Discord server first, you are welcome to PM me directly under specific urgent circumstances:
- Allowed Reason: Your server is crashing or experiencing critical, game-breaking errors directly related to this plugin.
- Requirement: You must be the owner of the server.
- Time Zone: I operate in the Belgium / Brussels Time Zone (CET/CEST).
- PM Hours: Please only send private messages between 10:00 AM and 10:00 PM (Brussels Time).
I will do my best to respond promptly, but immediate replies are not guaranteed. Private messaging is a professional courtesy, not an entitlement. Thank you for your understanding!
✨ Features & Highlights
- Native Shop Block: Uses the Shelf Block as the dedicated shop block for a clean, immersive look — no signs, no armor stands.
- Lag-Friendly Text Displays: Prices and status are shown using Minecraft's modern Text Display Entities — no packet hacks, no legacy holograms.
- Configurable Scaling: Adjust the size of the main label, amount, and price displays independently via config.
- Dynamic View Range: Set separate render distances for shop text and price tags to optimize client FPS.
- Configurable Scaling: Adjust the size of the main label, amount, and price displays independently via config.
- Dual Shop Modes: Supports Admin Shops (infinite stock) and Player Shops (linked to containers).
- Price GUI: Owners can Shift-Click their shelf to open a full price management GUI — use +/- buttons to adjust buy/sell prices per slot, or type a value directly in chat. No commands required.
- Custom Shop Labels: Set a personalized display name for your shop directly from the price GUI using the name tag button. Color code support can be granted per-permission.
- Shop Viewer: Non-owners can Shift-Click the top edge of a shelf to open a read-only info panel showing stock, prices, and shop details.
- Flexible Pricing System:
- Global Prices: Set default prices for any item type via pricing.yml or the [FONT=Courier New]/shops itemprice
- [/FONT] command.
- Custom Price Stamps: Use [FONT=Courier New]/shops price
- [/FONT] to stamp a one-off price onto an item and apply it to a specific shelf slot.
- Per-Slot Control: Each slot on a shelf can have its own independent buy/sell price and stack amount.
- Single-Type Mode: Optionally restrict Player Shelves to a single item type across all slots — prevents confusion and keeps shops tidy. Configurable per server.
- World Allowlist: Restrict player shops to specific worlds using the [FONT=Courier New]/shops worlds[/FONT] command or config. Admins can grant per-world or blanket bypass permissions.
- WorldGuard Support: Respects the allow-shop WorldGuard flag — block player shop creation in protected regions with a single flag.
- Player Shop Limits: Cap the number of player shelves per player using permission-based limits (e.g. [FONT=Courier New]shopshelves.playershelves.5[/FONT]) or grant unlimited via a single node.
- Protection & Security: Linked containers are protected from unauthorized access and grief. Explosions cannot destroy active shops.
- Vault Economy Integration: Works with any Vault-compatible economy plugin out of the box.
- Configurable Messages: Every player-facing message is defined in messages.yml with full color code and action bar support.
⚙️ Setup & Usage
1. Admin Shop Setup
- Place a Shelf Block.
- Enter Admin Mode: Run [FONT=Courier New]/shops admin[/FONT].
- Set Mode: While sneaking, Right-Click the shelf to cycle through modes: NONE → BUY → SELL → DUAL.
- Set Item & Price: Hold an item (with a global price configured, or with a Price Stamp applied) and Right-Click a slot to fill it.
2. Player Shop Setup
- Place a Chest or Barrel.
- Link Shelf: While sneaking, Right-Click the container with a Shelf item in hand. The shelf is placed and linked automatically.
- Set Price: Shift-Click your shelf to open the Price GUI and adjust buy/sell prices using the +/- buttons or chat input. No command needed.
- Stock Your Shop: Add items to the linked container. The shelf display updates automatically.
3. Customer Interactions
- Right-Click Slot: Buy one stack.
- Left-Click Slot: Sell one stack.
- Sneak + Click: Buy or sell a full stack at once.
- Shift-Click top edge: Open the read-only shop viewer.
Commands & Permissions
| Command | Permission | Description |
| /shops | shopshelves.command | Opens the help menu. |
| /shops admin | shopshelves.admin | Toggles Admin Setup Mode. |
| /shops reload | shopshelves.reload | Reloads all configs and refreshes displays. |
| /shops update | shopshelves.update | Forces a full refresh of all shop text displays. |
| /shops mode [mode] | shopshelves.mode | Views or sets the message delivery / price display mode. |
| /shops itemprice [price] [type] [amount] | shopshelves.itemprice | Views or sets the global price for the held item. |
| /shops price [price] [type] [amount] | shopshelves.price | Stamps a custom one-off price onto the held item. |
| /shops worlds | shopshelves.worlds | Lists the current player shop world allowlist. |
| /shops worlds add [world] | shopshelves.worlds | Adds a world to the player shop allowlist. |
| /shops worlds remove [world] | shopshelves.worlds | Removes a world from the player shop allowlist. |
| N/A | shopshelves.playershelf | Grants the ability to create player shelves. |
| N/A | shopshelves.playershelves.[limit] | Sets the max player shelves for a player (e.g. .5, .10). |
| N/A | shopshelves.playershelves.unlimited | Grants unlimited player shelves. |
| N/A | shopshelves.playershelf.worlds | Bypasses the world allowlist for all worlds. |
| N/A | shopshelves.playershelf.[worldname] | Bypasses the world allowlist for a specific world. |
| N/A | shopshelves.setlabel | Allows setting a custom shop label via the price GUI. |
| N/A | shopshelves.setlabel.color | Allows color/formatting codes in custom shop labels. |
Requirements
- Minecraft: 1.21.9 – 1.21.11
- Server: Spigot or Paper
- Required: Vault + a compatible economy plugin (e.g. EssentialsX Economy)
- Optional: WorldGuard — enables the allow-shop region flag
| Progress | 100% complete |
| Game Version | Minecraft 26.1.1 |
| Tags |
6900361
7

Have something to say?