Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
New advanced way of admin shops and playershops. ShopShelves and PlayerShelves
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!
πΈ Visual Guide
The following images depict the in-game shelf blocks in order:
| Buy Shop | Sell Shop | Buy & Sell | Custom Label | Player Shop |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
- Statistics Book: Shows the total money earned / lost per item slot.
- Custom Price GUI: Shift right-click your shelf to set custom prices per slot.
- Customer Viewer: Friendly GUI to inspect the full item details (potions, enchantments, etc.)
π‘ Also check out my DrawerShelves plugin here!
β¨ Features & Highlights
- Native Shop Block: Uses the Shelf Block as the dedicated shop block β no signs, no armor stands, just a clean immersive look.
- Lag-Friendly Text Displays: Prices and status use Minecraft's modern Text Display Entities β no packet hacks.
- Configurable Scaling: Adjust scaling for labels, amounts, and prices via config.
- Dynamic View Range: Optimize client FPS with separate render distances.
- Dual Shop Modes: Supports Admin Shops (infinite stock) and Player Shops (linked to containers).
- Price GUI: Owners Shift-Click their shelf to open a price management GUI.
- Custom Shop Labels: Set personalized display names via the Price GUI. Supports color codes via permission.
- Sales & Taxes: Run server-wide or per-player economic events.
- Set timed durations (e.g.,
30m,12h,7d). - Stacking logic: The highest sale and highest tax win, then offset each other.
- Set timed durations (e.g.,
- Flexible Pricing: Supports global prices, custom price stamps, and independent per-slot control.
- Protection: Linked containers are protected from grief, explosions, fire, pistons, and hoppers.
- WorldGuard Support: Respects the
allow-shopregion flag.
βοΈ Setup & Usage
1. Admin Shop Setup
- Place a Shelf Block.
- Enter Admin Mode: Run
/shops admin. - Set Mode: While sneaking, Right-Click the shelf to cycle:
NONEβBUYβSELLβDUAL. - Set Item: Hold an item 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.
- Set Price: Shift-Click your shelf to open the Price GUI.
- Stock: Add items to the linked container; the display updates automatically.
3. Customer Interactions
- Right-Click Slot: Buy one stack.
- Left-Click Slot: Sell one stack.
- Sneak + Click: Buy/Sell a full stack.
- Shift-Click Top Edge: Open the read-only shop info panel.
π οΈ 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. |
/shops itemprice [price] |
shopshelves.itemprice |
Sets global price for held item. |
/shops sale [%] [time] |
shopshelves.sale |
Applies a sale globally or to a player. |
/shops tax [%] [time] |
shopshelves.tax |
Applies a tax globally or to a player. |
N/A |
shopshelves.playershelf |
Ability to create player shelves. |
N/A |
shopshelves.playershelves.[N] |
Limit of player shelves (e.g. .5). |
π Deal Placeholders
Available in messages.yml:
%sale%/%tax%: Net percentages after cancellation.%player_deal%: Shows the winning side for the combined result.%global_deal%: Shows winning side for global deals only.
π» Developer API (ShopshelvesApi)
Access the API via me.andy.shopShelvesSpigot.api.ShopshelvesApi.
Key Features:
isShopShelf(BlockState): Check if a block is a shop.getShopOwner(BlockState): Get owner UUID.setPlayerPriceModifier(...): Apply custom discounts or surcharges via code.
Custom Events:
ShopShelfCreateEventShopShelfRemoveEventShopTransactionEvent
π Support & Contact
- Primary Support: Discord Server
- Time Zone: Belgium/Brussels (CET/CEST).
- Response Hours: 10:00 AM - 10:00 PM.
π¦ Requirements
- Minecraft: 1.21.9 β 1.21.11
- Server: Spigot or Paper
- Required: Vault + Economy Plugin
- Optional: WorldGuard
Pinned Versions
Pages
Members
Owner




