ShopTools
A powerful Minecraft shop query plugin that provides comprehensive shop information management and intelligent search capabilities for QuickShop-Reremake.
ShopTools
ShopTools (English)
Note: This plugin is developed by AI.
A powerful Minecraft shop query plugin that provides comprehensive shop information management and intelligent search capabilities for QuickShop-Reremake.
Features
- Chinese Localization: Automatically reads shop data from QuickShop on server startup - Chinese Localization: Supports multiple sorting methods (item ID, price, owner, etc.) - Chinese Localization: Efficient data caching mechanism for improved query performance - Chinese Localization: Complete Chinese interface and message support
Commands
Player Commands
- `/shoptools search <item_id> [page]` or `/st search <item_id> [page]` - Search all shops for specified items (smart distance display, sorted by distance) - `/shoptools near [page]` or `/st near [page]` - View all shops within 200 blocks (sorted by distance) - `/shoptools help` or `/st help` - Show help information
Admin Commands
- `/shoptools page <page>` or `/st page <page>` - Paginated display of all shops (10 per page, sorted by item ID alphabetically) - `/shoptools list <item_id> [page]` or `/st list <item_id> [page]` - Show shops for specified items (supports pagination, sorted by price ascending) - `/shoptools who <player_name/uuid> [page]` or `/st who <player_name/uuid> [page]` - Smart player shop search (supports fuzzy matching, UUID search, pagination) - `/shoptools reload` or `/st reload` - Reload configuration and data
Permissions
- `shoptools.use` - Allow use of basic commands (default: requires manual authorization) - `shoptools.admin` - Allow use of admin commands (default: operators)
Installation
Requirements
- Minecraft 1.20.1+ - Paper/Spigot server - QuickShop-Reremake plugin
Installation Steps
1. Download the latest `ShopTools-1.0-SNAPSHOT.jar` 2. Place it in the server's `plugins` folder 3. Restart the server 4. The plugin will automatically create configuration files and sync shop data
Configuration
The plugin automatically creates `plugins/ShopTools/config.yml` with the following structure:
```yaml
Data sync settings
data-sync: auto-sync-on-startup: true sync-interval-minutes: 30
Command cooldown settings
cooldown:
Player command cooldown time (seconds)
player-commands: 3
Whether admins bypass cooldown restrictions
admin-bypass: true
Message settings
messages:
Player commands
help-search: "&e/shoptools search <item_id> [page] &7- Search all shops for specified items (sorted by distance)" help-near: "&e/shoptools near [page] &7- View all shops within 200 blocks"
Admin commands
help-page: "&e/shoptools page <page> &7- Paginated display of all shops &c(Admin)" help-list: "&e/shoptools list <item_id> [page] &7- Show shops for specified items &c(Admin)" help-who: "&e/shoptools who <player_name/uuid> [page] &7- Show specified player's shops &c(Admin)" help-reload: "&e/shoptools reload &7- Reload configuration and data &c(Admin)" ```
Key Features
Smart Distance Display
- Other worlds: Shows precise distance (e.g., "15.3m", "89.7m") - Other worlds: Shows "200m+" - Other worlds: Shows "otherworld"
Intelligent Search
- Multi-result handling: Input "DIA" matches "DIAMOND" - Multi-result handling: Search players by UUID - Multi-result handling: Smart suggestions when multiple matches found
Pagination System
- Performance optimization: ≤10 items show directly, >10 items auto-paginate - Performance optimization: Clear previous/next page commands - Performance optimization: Avoid displaying large amounts of data at once
Business Protection
- Permission separation: Hide server-wide price information to prevent price wars - Permission separation: Encourage local trading, maintain geographical economic balance - Permission separation: Players use nearby search, admins use server-wide queries
Version History
v1.2.0 (2025-07-29) 🎯 Direction Indicators & Stability Enhancement
Cross-world Support: - ✨ Cross-world Support: Added direction indicators (E, W, S, N, etc.) for all relative position queries - 📍 Cross-world Support: 8-direction calculation system based on coordinate differences (N, NE, E, SE, S, SW, W, NW) - 🎯 Cross-world Support: Display format as "Direction Distance", e.g., "E 15.3m", "W 25.7m" - 🌐 Cross-world Support: Different worlds display "otherworld", avoiding invalid direction calculations
Exception Handling: - 🛠️ Exception Handling: Resolved boundary calculation errors during spatial subdivision (minY > maxY issue) - 🔒 Exception Handling: Enhanced handling of extremely small ranges and edge cases - ⚡ Exception Handling: Ensure stable operation of spatial indexing at all data scales - 🛡️ Exception Handling: Comprehensive error recovery mechanisms, prevent crashes from subdivision failures
📈 Feature Coverage: - ✅ `/shoptools search` - Shop search now displays direction and distance - ✅ `/shoptools near` - Nearby shop queries include direction information - ✅ `/shoptools locate` - Location point queries show precise directions - ✅ Unified distance display format across all features, improved user experience
v1.1.0 (2025-07-24)
- 🔧 Enhanced permission system: `shoptools.use` permission default changed to false, requires manual authorization - ✨ Command cooldown mechanism: Added 3-second cooldown for `/st search` and `/st near` commands - ✨ Admin bypass: Users with `shoptools.admin` permission are not subject to cooldown restrictions - 🔧 Performance protection: Prevent server lag from frequent player requests - 🔧 Configuration optimization: Added cooldown configuration node, supports custom cooldown time - 🐛 Fixed command registration: Removed permission fields from plugin.yml, resolved double permission check issue - 🐛 Fixed permission inheritance: Admin permissions now correctly include basic permissions, supports permission hierarchy
v1.0.9 (2025-07-24)
- ✨ Enhanced `/st search` feature: Extended search range to all server shops - ✨ Smart distance display: 0-200 blocks show precise distance, >200 blocks show "200m+", other worlds show "otherworld" - ✨ Optimized sorting algorithm: Same-world shops sorted by distance, other-world shops placed last - 🔧 Business balance: Maintain distance information ambiguity, protect business competition balance - 🔧 Cross-world support: Players can discover shops in other worlds, encourage exploration
v1.0.8 (2025-07-24)
- ✨ Permission system restructure: Separate admin and player functions, protect business information privacy - ✨ New `/st search` command: Search shops within 200 blocks for specified items, sorted by distance - ✨ New `/st near` command: View all shops within 200 blocks, sorted by distance - 🔧 Distance display: Price position shows distance between player and shop (e.g., "15.3m") - 🔧 Business protection: Hide server-wide price information, prevent business wars, maintain game balance - 🔧 Smart permissions: Players use nearby search, admins use server-wide queries
v1.0.7 (2025-07-24)
- ✨ Comprehensive pagination support: Added pagination for `/st list` and `/st who` commands - ✨ Smart pagination logic: ≤10 shops show directly, >10 shops auto-paginate - ✨ Enhanced Tab completion: Support smart completion for item and player page numbers - 🔧 Optimized large data display: Avoid performance issues from displaying large amounts of shops at once - 🔧 Improved user experience: Default to page 1, provide clear navigation hints
v1.0.6 (2025-07-24)
- ✨ Smart player search system: Support UUID search, fuzzy matching, multi-result handling - ✨ Similarity algorithm: Provide smart suggestions when no matches found (edit distance algorithm) - ✨ Multi-result display: Show selection list when multiple players match, sorted by shop count - 🔧 Enhanced `/st who` command: Support partial player names, complete UUIDs, smart hints - 🔧 Performance optimization: Player information caching, avoid repeated queries
v1.0.5 (2025-07-24)
- ✨ Implemented pagination system: Avoid displaying large amounts of shop information at once, 10 shops per page - ✨ UUID to player name conversion: Smart retrieval of real player names, improve readability - ✨ Added shop status display: [Selling]/[Buying]/[Both] status indicators - 🔧 Command restructure: Removed `/st list` show all shops, changed to `/st page <page>` - 🔧 Enhanced Tab completion: Support page number completion and smart command hints - 🔧 Optimized user experience: Added navigation hints and error guidance
v1.0.4 (2025-07-24)
- 🔧 Fixed Java module system serialization issues: Resolved Optional field access restrictions - 🔧 Implemented simplified Data Transfer Object (DTO) strategy, avoid complex object serialization - 🔧 Optimized JSON format, provide better cross-version compatibility - 🔧 Successfully support complete serialization and storage of 6000+ shop data
v1.0.3 (2025-07-24)
- 🔧 Fixed thread safety issues: Ensure all QuickShop API calls execute on main thread - 🔧 Improved data sync mechanism, avoid "Illegal Access" errors - 🔧 Optimized performance, support handling large amounts of shop data (6000+ shops)
v1.0.2 (2025-07-24)
- 🔧 Fixed Gson serialization issues: Properly implemented Location and ItemStack type adapters - 🔧 Improved JSON data format, provide better readability and compatibility - 🔧 Enhanced error handling, avoid crashes from serialization failures
v1.0.1 (2025-07-24)
- 🔧 Fixed plugin startup order issues: Ensure QuickShop fully starts before initialization - 🔧 Added delayed initialization mechanism, avoid API call failures - 🔧 Improved error handling and user prompts - 🔧 Added retry mechanism, improve initialization success rate
v1.0 (2025-07-24)
- 🎉 Initial release - ✨ Basic shop listing functionality - ✨ QuickShop-Reremake integration - ✨ Automatic data synchronization - ✨ Chinese localization support
Technical Support
If you encounter issues or have feature suggestions, please:
1. Check console logs for detailed error information 2. Confirm QuickShop-Reremake plugin is running properly 3. Verify permission configuration is correct 4. Report issues on GitHub Issues
Compatibility
- ✅ QuickShop-Reremake 5.x - ✅ Paper 1.20.1+ - ✅ Spigot 1.20.1+ - ⚠️ Other QuickShop forks may require adaptation
---
Note: This plugin requires QuickShop-Reremake plugin to function properly. Please ensure QuickShop-Reremake is correctly installed and configured before installing this plugin.
This plugin perfectly solves the pain points of shop information queries on large servers, providing powerful and easy-to-use shop management tools for both players and administrators!