
⚡ DynamicShop 2.0
A next-generation global shop with dynamic supply/demand pricing, web analytics, custom items, permissions shop & more.


✨ What's New in v2.5.0

- NEW: (Soft Limit) Pricing Curve Madx Stock
- NEW: (Hard Limit) Storage Hard Limit
- NEW: In-Game Editor Integration
- NEW: Web Admin Integration Type
/shopadmin webadmin - NEW: Option to allow Shortage decay. (shortage is gained when an item sits at <=0 stock). Now sitting at positive stock can decay that shortage.
- Improved: More shopadmin gui options
- Fixed: Percent Increase not properly displaying in gui.
✨ What's New in v2.0
- NEW: Real-time Web Dashboard (built-in)
- NEW: Command Shops — sell commands as items!
- NEW:
messages.yml— customize 100% of messages - NEW: Requires ProtocolLib (better click detection)
- NEW: PlaceholderAPI support
- NEW: Supports ItemAdder, MMOItems, Oraxen, NBT items
- Improved: Faster search GUI
- Improved: Category UI
- Improved: Dynamic price scaling
- Improved: Logging & transaction safety
🌐 Web Dashboard
Real-time analytics, transaction logs, top items, volume tracking, category stats.

🛒 Shop GUI

🚀 Features
Expand Full Features
🔁 Dynamic Pricing Engine
- Prices rise when players buy
- Prices drop when players sell
- Shortage + surplus multipliers
- Time-based stabilization
- Fully configurable
🌍 Global Stock Tracking
- Tracks server-wide supply
- Supports negative stock (rare item surge pricing)
- Auto-saves
🎨 Modern GUI
- Category selector
- Clean sub-menus
- Buy / Sell / Shift-Bulk
- Realtime price display
🔐 Permission Shop Add a permission as an item in the shop:
/shopadmin add perm <cost> <permission>
Displays using the item/block you hold.
🧰 Server-Shop (Custom Items + Commands)
Add ANY item or command:
/shopadmin add server-shop 500 my_spawn command essentials:spawn {player}
Supports:
- Commands
- Custom model data
- NBT items
- ItemAdder, Oraxen, MMOItems
- PlaceholderAPI placeholders
💬 messages.yml — Full Customization
- Translate everything
- Custom GUI titles
- Custom lore & lines
- Custom error messages
📊 Web Stats Dashboard
- Live transactions
- Category distribution
- Top players
- Top traded items
- JSON API
⚙ Configuration
- Extensive base price list
- Category auto-sorting
- Tax, multipliers, limits
- Disable any item
⚡ Performance
- Zero-lag architecture
- No heavy repeating tasks
- Async logging
⌨ Commands & Permissions
Commands
/shop - Open shop
/shop <category> - Open a category
/shop sell <price> - Sells held item in PlayerShop for defined price
/shopsearch <query> - Search items
/shopadmin - Opens admin GUI
/shopadmin add perm <cost> <permission>
/shopadmin add server-shop <cost>
/shopadmin add server-shop <cost> <id> command <command>
Permissions
shop.use – Open the shop, buy/sell (default true)
shop.admin – Full admin access
shop.playershop.sell – Ability to use PlayerShop
📦 Requirements
- ProtocolLib – REQUIRED
- Vault – REQUIRED for economy
- PlaceholderAPI – OPTIONAL
🔌 PlaceholderAPI Placeholders
DynamicShop 2.1.0 includes full native support for PlaceholderAPI. Placeholders auto-register.
PAPI
==================== GLOBAL OVERVIEW ====================
%dynamicshop_total_transactions%
%dynamicshop_items_bought%
%dynamicshop_items_sold%
%dynamicshop_total_money_exchanged%
==================== RECENT & TOP ACTIVITY ====================
%dynamicshop_recent_transaction%
%dynamicshop_most_traded_item%
==================== PLAYER STATISTICS ====================
Format: %dynamicshop_player_<name>_<stat>%
Stats:
purchases | sales | money_spent | money_earned | net
Examples:
%dynamicshop_player_selfservice0_purchases%
%dynamicshop_player_selfservice0_sales%
%dynamicshop_player_selfservice0_money_spent%
%dynamicshop_player_selfservice0_money_earned%
%dynamicshop_player_selfservice0_net%
==================== ITEM STATISTICS ====================
Format: %dynamicshop_item_<stat>_<ITEM>%
Stats:
displayname
times_bought
times_sold
times_bought_quantity
times_sold_quantity
net_flow
Examples:
%dynamicshop_item_displayname_DIAMOND%
%dynamicshop_item_times_bought_DIAMOND%
%dynamicshop_item_times_sold_IRON_INGOT%
%dynamicshop_item_times_bought_quantity_OAK_LOG%
%dynamicshop_item_times_sold_quantity_DIRT%
%dynamicshop_item_net_flow_EMERALD%
==================== ITEM PRICING / STOCK ====================
%dynamicshop_price_<ITEM>%
%dynamicshop_sellprice_<ITEM>%
%dynamicshop_stock_<ITEM>%
Examples:
%dynamicshop_price_DIAMOND%
%dynamicshop_sellprice_OAK_LOG%
%dynamicshop_stock_GOLD_INGOT%
📥 Installation
- Drop plugin into
/plugins - Install ProtocolLib & Vault
- Restart server
- Configure
config.yml&messages.yml
⬇ Download
✔ Compatible with Spigot & Paper 1.20 – 1.21
Ченджлог
2.6.1Релиз26.1, 26.1.1, 26.1.2 · 14 июня 2026 г.
Server Shop items now display Stock: Unlimited instead of showing normal item stock or Out of Stock. Server Shop items now use their configured fixed price, including component / stored_item delivery items. Server Shop items assigned into regular categories now still purchase through Server Shop handling. Shop/category/admin/player-shop GUIs now block edge cases
2.6.0Релиз26.1, 26.1.1, 26.1.2 · 3 июня 2026 г.
Keep custom variant prices separate restored the OP check for the webadmin command added custom display names, fixed stored_item delivery, consolidated templates, and added /shopadmin setname fixed special item display names not rendering in the shop GUI routed stored_item delivery through the dialog buy path made stored_item variants use their own base price with inflation kept custom variant prices separate
2.5.9Релиз26.1, 26.1.1, 26.1.2 · 13 мая 2026 г.
New Features Enchanted / Custom Item Variants Adding an enchanted or custom item when the base material already exists in the shop now auto-creates a custom variant instead of overwriting the original Custom variants appear in the same category as the base material (e.g., an enchanted diamond sword appears in Tools alongside the plain one) Variants use stored_item delivery — buyers receive an exact clone with all enchantments, lore, and custom data preserved Category Override for Items /shopadmin add item [category] now accepts an optional category argument Tab completion suggests all available categories when typing the command Allows placing items in any category regardless of auto-detection ValhallaMMO Integration Added native support for ValhallaMMO custom items Custom items are auto-detected and routed through the server-shop system with valhallammo delivery
Improvements Dynamic Pricing on Custom Variants Custom variants now display dynamic buy and sell prices based on the base material's stock curve (instead of a static fixed price) Stock levels are shown on custom variants using the base material's stock pool Low stock and out-of-stock warnings display correctly
Admin GUI Custom variants now appear in the Admin Shop Browse GUI within their assigned category Right-clicking a custom variant opens the Special Item Editor for editing or deletion Pagination correctly accounts for mixed regular + special items Inventory Selling (Dialog GUI Mode) Right-click and Shift+Right-click selling from player inventory now works when Dialog GUI mode is enabled Sell price lore is displayed on inventory items while the shop is open Nexo GUI Textures Fixed race condition where Nexo glyphs weren't initialized before DynamicShop loaded Added lazy-cached warmup pattern to NexoWrapper with graceful fallback 1-tick startup delay ensures Nexo glyph singletons are registered first
Bug Fixes Fixed enchanted item override — Adding an enchanted diamond sword no longer replaces the plain diamond sword template Fixed messages.yml corruption — Replaced YamlConfiguration.save() with safe file-append to prevent MiniMessage and tags from being mangled by SnakeYAML re-serialization Fixed isServerShopItem() returning false for items with category overrides — now checks itemIdentifier instead of category == SERVER_SHOP Fixed custom variant display name — Shows the item's actual display name (from stored enchanted item) instead of the raw ID like diamond_sword_custom_95084 Fixed stock not showing on custom variants due to overly restrictive category and itemConfigs checks
2.5.7Релиз26.1, 26.1.1, 26.1.2 · 22 апреля 2026 г.
Added missing key hooks for messages.yml
2.5.6Релиз1.21.9, 1.21.10, 1.21.11 · 18 апреля 2026 г.
Fixed shortage not applying.
WARNING: This will resolve shortage not accrueing. It may be best to reset shortage via the webadmin panel.
2.5.5Релиз1.21.9, 1.21.10, 1.21.11 · 18 апреля 2026 г.
Bulk item selection: Checkboxes on every item row + "Bulk Actions" dropdown to disable/enable items, buying, or selling for multiple items at once
Fix: /shopadmin add perm and /shopadmin add group commands updated to match world-scoped method signatures
2.5.4Релиз1.21.9, 1.21.10, 1.21.11 · 18 апреля 2026 г.
- Web Administration Integration
- API Endpoints Updated: Standardized the administrative APIs (/api/shop/items and /api/admin/items) to dynamically inject and aggregate both "Special Items" (Permissions/Groups/Servers) and "Player Shop Listings" alongside standard item materials.
- Category Metrics Corrected: Fixed the metric calculations within /api/admin/categories so the tracker accurately reflects totals if items are added to the PERMISSIONS, SERVER_SHOP, or PLAYER_SHOPS categories.
- Intelligent Routing (admin.html): Clicking "Edit" or "Add Item" in the admin dashboard now correctly intercepts what category you are in:
- Special Items: In PERMISSIONS or SERVER_SHOP spaces, clicking "Add Item" or "Edit" will instantly open the backend Special Item Management Modal instead of the Minecraft material picker.
- Player Shops: Clicking "Edit" on an active Player Shop listing now triggers an API sequence (calling an newly established DELETE /api/admin/playershop/{id} endpoint) allowing administrators to force-delete abusive or incorrect player listings directly through the UI.
- World-Scoped Architecture
- Permissions Engine Overhauled: Updated PermissionsManager.hasPermission() to accept a dual-scoped signature taking both Player and String permissionWorld. This correctly offloads context-aware permission checks to the server framework (Vault) if the player attempts to buy a rank/permission intended for another world.
- Configuration Implementation: Added serialization support to SpecialShopItem ensuring that fields like permission_world and group_world are safely loaded, parsed, and exposed to the GUI execution layer without regressions.
- Stability & Patches
- Resolved GUI Compilation Failure: Fixed ShopGUI invoking outdated .hasPermission(Player, String) signatures.
- Repaired Web Payload Crashes: Addressed a severe JSON loop rendering error in {WebServer} where the iterators for parsing special material types triggered Duplicate local variable collisions.
2.5.3Релиз1.21.9, 1.21.10, 1.21.11 · 17 апреля 2026 г.
Fixed base price not changing when modified on webadmin page.
Комментарии
Загружаем…