- Add LICENSE file with GNU General Public License v3
- Update README.md documentation
- Rebuild ChatFormatterTest class with latest changes
- Ensure project licensing compliance and clarity
- Added entries to .gitignore for local Paper test server and API documentation.
- Included the run-paper plugin in build.gradle.kts for local server execution.
- Configured runServer task with Minecraft version 1.21.4 for testing.
- Use LegacyComponentSerializer for proper color parsing
- Fixed TablistManager to deserialize colors
- Fixed ScoreboardManager to deserialize colors
- Fixed ItemBuilder to use Adventure API for item names/lore
- All hex colors (&#RRGGBB) now work correctly in 1.21.1
LoVelocity:
- Track server switches (player moving between servers)
- Send plugin messages to hub about switches
- Log server switches
LoHub:
- Receive server switch messages via plugin messaging
- Broadcast to hub chat when player switches servers
- Configurable server display names
- Message format: 'Player connected to Server'
Config:
- server_switch_messages.enabled
- server_switch_messages.switch_message
- server_switch_messages.server_names (hub, grief, survival, etc)
Example: 'Player connected to Grief' when switching from hub to grief server
LoHub:
- Changed join message to 'connected to hub' (Russian)
- Changed quit message to 'left' (Russian)
- Messages show only on actual join/leave, not server switches
LoVelocity:
- Added ServerSwitchListener
- Velocity handles server switches silently
- Backend servers (LoHub) show join/leave messages
Result: Clean join/leave messages across the network
- Added messages.yml for all plugin messages with customizable prefix
- Added commands.yml for custom commands (discord, website, store, rules, heal, clearinventory)
- Added serverselector.yml for GUI server selector menu
- Added data.yml for persistent data storage (chat_locked, spawn location)
- Updated ConfigManager to load all config files
- Updated ChatLockManager to use data.yml instead of chatlock.dat
- Updated SpawnManager to use data.yml instead of spawn.yml
- Updated all commands to use messages.yml
- Updated listeners to use messages.yml
- Removed duplicate config files from root directory
- Added CONFIG_GUIDE.md documentation
- Removed unused imports and variables in HeadEmojiManager
- Clean compilation with no warnings
- All features working correctly
- Ready for production use
🎨 Config Redesign:
- Unified style for all config files with beautiful headers
- Consistent color scheme using gradients throughout
- Improved readability with proper sections and comments
- Fixed color formatting issues
✨ New Features:
- SkinsRestorer integration for custom skins support
- Head emoji system (:head_nickname: and @head nickname)
- Clear chat message configuration command (/clearchatconfig)
- Enhanced custom commands with more examples
- Improved emoji system with 200+ emojis
📝 Documentation:
- Completely rewritten README.md with modern styling
- Added comprehensive feature descriptions
- Detailed command and permission tables
- Configuration examples and usage guides
- Professional formatting and structure
🔧 Technical Improvements:
- Fixed compilation errors
- Improved code organization
- Better error handling
- Enhanced compatibility
All configs now follow consistent MiniMessage gradient styling!
Features fixed:
- Added chat filter functionality (block/warn/censor modes)
- Fixed spy command to monitor all chat messages
- Added proper spy notifications for global/local chat
Code quality improvements:
- Created PlayerUtil to eliminate code duplication in player lookup
- Refactored ChatListener into smaller, focused methods
- Added Constants class to replace magic numbers
- Improved SOLID principles compliance
- Fixed all compilation warnings
All features from README are now implemented and working.
- Changed dependency from Folia API 1.21.4 to Paper API 1.20.1
- Updated plugin.yml: api-version to 1.20, folia-supported to false
- Replaced Folia-specific scheduler calls with FoliaUtil for compatibility
- Updated version to 1.5.5-1.20.1
- Fixed enum switch warning in ChatListener
- Removed unused imports
- All tests pass successfully
- /lmutelist - shows all active mutes with remaining time
- /lmutehistory <player> - shows mute history for a player
- Added mute history tracking (mute-history.json)
- History includes: who muted, when, duration, reason, unmute info
- Permissions: lochat.mutelist, lochat.mutehistory
- Fixed issue where gradient colors were lost when changing prefix
- Updated GradientGUIListener to preserve existing colors when setting prefix
- Updated GradientPrefixCommand to pass existing colors to confirmation GUI
- Added LibertyBans integration (simple version without API dependency)
- Added LibertyBans to softdepend in plugin.yml
- LibertyBans integration detects plugin presence but relies on LibertyBans own mute handling