Releases: selfservice0/DynamicShop
2.5.7
2.5.6
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
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
- 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 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
Fixed base price not applying when modified on webserver page.
2.5.2
Added missing Keys to messages.yml
2.5.1
Finalized localization.
Added missing string keys for the user interface under a new GUI general messages section, allowing them to be fully translatable.
2.5.0
Huge update
- Per-Item Fine-Grained Stock Limits
Previously, stock scale was universally defined globally. We've completely rebuilt the backend item configuration to allow precise, per-item stock control:
(Soft Limit) Pricing Curve Max Stock: You can now manually override the scale at which the price-drop math behaves for specific items (e.g., making cobble drop in price faster than diamonds).
(Hard Limit) Storage Hard Limit: You can now set an absolute maximum physical limit for an item. If set, players physically cannot sell that specific item to the shop once that limit is reached, protecting your economy from infinite-farms.
In-Game Editor Integration: Fully integrated these two limits into the AdminItemEditGUI. Operators can left/right click to increase/decrease limits or reset them to "Global Default" / "Unlimited".
Web Integration: Both variables were added as inputs to the WebAdmin Item Edit Modal.
- Total Category Management via WebAdmin
We built a brand new WebAdmin tab dedicated strictly to customizing your shop's navigational categories without ever touching a JSON file or Java code:
Live Grid View: All categories (built-in and custom) are now beautifully rendered in a CSS grid, complete with item counts and visibility badges.
Full Customization Modal: Clicking any category allows admins to live-edit the DisplayName, the display Icon, its GUI Slot position (0-53 or -1 to hide), and even bind an automated Restock Engine Rule (Target Stock / Interval) directly to the category!
"Create Category" Button: Added a seamless "Create Category" button that automatically parses the backend for the first unused CUSTOM_X slot and spins up the editor to let you build it instantly.
"Delete Category" Flow: A big red "Delete" button was added for Custom Categories that gracefully wipes the category configuration and hides it from the GUI.
- Security, Authenticity & Audit Upgrades
Accountable Audit Logs: We rebuilt the session handling inside WebAdminUserManager and WebAdminTokenManager to explicitly track player identities. The WebAdmin Audit log now correctly prints the exact Name/UUID of the admin who made the change rather than a generic "admin" string.
Insecure Connection Banners: Injected a dynamic javascript function into admin.html that automatically detects the user's connection protocol.
2.4.3
DynamicShop v2.4.3 Update
✨ New Features
/shop sellall - dynamicshop.use.sellall
/shop sellhand - dynamicshop.use.sellhand
Category Auto-Restock
Automatically restock all items in a category to a set stock level on a configurable timer
Configure per-category via the Admin GUI: /shopadmin → Category Editor → Restock controls
Three new buttons in the category edit menu:
Toggle - Enable/disable restock for the category
Target Stock - Set the stock level items reset to
Interval - Set how often (in minutes) the restock runs
Config section auto-populates for existing servers on upgrade (restock.enabled: false by default)
Fully hot-reloadable via /shopadmin reload
Update Checker
Automatically checks GitHub Releases for the latest version on server startup
Notifies OP players on join if a newer version is available with a download link
Fully async, never blocks the main thread
🔧 Config Changes
New restock section added to config.yml
restock:
enabled: false
rules: []
#changable in /shopadmin category editor gui
2.4.2
fixed depreciating inflation.