- replace paper-api with spigot-api 1.20.1, add spigot snapshots repo
- bundle Adventure 4.17.0 + platform-bukkit 4.3.4 via shadowJar with relocate to com.loki.lochat.libs.kyori/gson and mergeServiceFiles
- version 1.5.5-1.20.1, api-version 1.20, remove folia-supported, run-paper
- single universal jar loads on Spigot/Mohist 1.20.1 and Paper 1.20.x-1.21.x (Paper is superset)
- CI: add spigot-1.20.1 branch
- PlayerServiceImpl: separate cooldown map per chat type (fixes cross-blocking between local chat and RP commands)
- PrivateMessageServiceImpl: enforce chat.pm.cooldown (honors chat.bypass.cooldown)
- NickServiceImpl: persist nicknames async on every change/reset
- FloodFilter/SpamFilter: ConcurrentLinkedDeque instead of ArrayDeque
- tests: PlayerServiceCooldownTest
Adds optional translation feature that shows translated chat messages
on hover in each viewer's Minecraft client language.
- TranslationService with LibreTranslate API support and caching
- Config options: enabled, endpoint, api-key
- Hover translation on chat messages in EnhancedChatRenderer
- Disabled by default, supports any LibreTranslate-compatible endpoint
Добавлены:
- CODE_OF_CONDUCT.md - правила поведения в сообществе
- SECURITY.md - политика безопасности и отчетность об уязвимостях
- .github/ISSUE_TEMPLATE/bug_report.md - шаблон для багов
- .github/ISSUE_TEMPLATE/feature_request.md - шаблон для новых функций
- .github/ISSUE_TEMPLATE/question.md - шаблон для вопросов
- .github/PULL_REQUEST_TEMPLATE.md - шаблон для PR
Обновлен README.md:
- Обновлена версия Paper до 1.21.1
- Улучшен раздел "Вклад в проект"
- Уточнены известные проблемы
Добавлен фабричный метод для MessagingService:
- ServiceFactory.createMessagingService() - создание MessagingService
- ServiceRegistry теперь использует фабрику для MessagingService
Изменения:
~ core/factory/ServiceFactory.java
+ createMessagingService(plugin, messageConfig)
~ core/registry/ServiceRegistry.java
- new MessagingServiceImpl(plugin, messageConfig)
+ ServiceFactory.createMessagingService(plugin, messageConfig)
Результат:
- Единообразное создание сервисов через фабрику
- Упрощена инициализация в ServiceRegistry
- Улучшена тестируемость
- 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