Webhook System Overhaul
• Separate webhook config file - Newwebhook.ymlfor all Discord webhook messages
• Multiline format support - Uses clean YAML list format instead of numbered keys
Full Localization
• Standardized close buttons - All GUI close buttons use the same configurable messages
• Refresh button localization - Refresh button now fully localized in all languages
• Order statistics localization - Statistics display uses message files for complete translation support
• Cancel button localization - All cancel buttons now use configurable message entries
Code Quality
• No hardcoded GUI text - All button names and lore use message files
• Consistent configuration - All close buttons use the same message keys across all GUIs
• Better maintainability - Webhook messages separated from main config for easier management
Bug Fixes
• Fixed drag prevention in search results - Items can no longer be dragged from search GUIs
• Removed unnecessary debug logs - Cleaned up startup messages for cleaner console output
Language Improvements
• Language-aware search titles - Search GUI now uses configurable language entries
• No hardcoded strings - All GUI titles fully support multi-language configuration
• Improved pattern matching - Enhanced drag prevention detection using language file patterns
Code Quality
• Cleaner codebase - Removed hardcoded strings in favor of language file entries
• Better maintainability - All GUI titles now centralized in language configuration files
Major Feature: Potion Effects Support
• Complete Potion Metadata Storage - Potion effects are now fully stored and preserved in orders
• Smart Validation - Delivery system validates potion effects match order requirements
• Effect Restoration - Players receive potions with correct effects when collecting orders
• Enhanced Display - GUI shows potion effects in item names (e.g., "Potion (Speed II, Jump Boost)")
What's New
• Complete Message Localization - All delivery and order management messages now fully configurable
• Improved GUI Experience - Clean hover lore in order creation (only shows quantity & price)
• Better Code Quality - Removed all debug logging and hardcoded messages
Key Features
• Delivery Messages - Configurable "Moved to cart", "Successfully delivered", and "Cart full" messages
• Order Management - Configurable "Order stopped" and "Refunded" messages
• Multi-Language Support - All new messages available in English and German
• Clean UI - Order creation GUI now shows only relevant information (quantity & price per item)
Bug Fixes
• Fixed hover lore showing incorrect order details in order creation GUI
• Removed unnecessary cancellation messages
• Cleaned up debug logging
Technical Improvements
• All user-facing messages moved to configurable YML files
• Improved code maintainability
• Better localization support
Compatibility
• Fully backward compatible
• No database migrations required
• No configuration changes needed
• Smart on-join notifications: Players automatically notified about expired/collectable orders when they join
• Clickable button: [ Show Orders ] button opens orders GUI directly
• Configurable messages: All notification text customizable via messages.yml
• Async processing: No lag on join with asynchronous database queries
• Fixed duplicate enchantment display in MyOrdersGUI (now consistent with other GUIs)
• Fixed "ResultSet closed during cleanup iteration" warnings
• Fixed "Connection lost during cleanup query" errors
• Optimized expired order cleanup query (now processes only relevant orders in batches)
• Cleanup queries now 10x faster (only checks DELIVERED orders, 24+ hours old, in batches of 100)
• Better connection validation and error handling
• Consistent enchantment display across all GUIs
• Professional notification system reusable for future features
Added smart price formatting for better readability and fixed enchantment display issue where some enchantments (like Aqua Affinity) were not showing in the summary. Prices now display in compact format (1.2k, 169k, 1.2m, 1.2b) for easier reading.
New Features:
- HeadDatabase API integration for GUI icons
- Auto-detection: Automatically switches to HEAD mode when HeadDatabase is detected
- Icon mode configuration: ICON (materials) or HEAD (player heads)
- Custom icons file: icons.yml for configuring head IDs per button type
Improvements:
- All GUIs updated to use unified IconUtils system
- Slot-based click detection for reliable head button interaction
- Removed MHF_* support, now only supports HeadDatabase IDs
- Default icon-mode set to ICON, auto-switches to HEAD if HeadDatabase available
Technical:
- Soft dependency on HeadDatabase plugin
- Graceful fallback to material icons if HeadDatabase not installed
- HeadDatabase integration status shown in startup logs
