a822c91637
feat: chat channel system (/join /leave /channel)
...
- config-driven channels in config/channels.yml (global, local, staff, trade) with
emoji, colors, prefix, radius, cooldowns, permissions and aliases
- Channel record + ChannelConfig loader wired into ConfigManager (reload supported)
- ChannelService (api) + ConcurrentHashMap-backed ChannelServiceImpl, joined in
ServiceRegistry; default channel join treated as 'not in channel'
- JoinChannelCommand / LeaveChannelCommand / ChannelCommand (+ tab completion),
registered in CommandManager; plugin.yml commands + permissions
- ChatEventListener routes AsyncChatEvent to the active channel: per-channel
cooldown, local-radius viewer filtering, channel-aware renderer
- EnhancedChatRenderer supports Channel overload (emojiFor/prefixText/channelColor)
- ChannelServiceImplTest covering join/leave/permissions/aliases
2026-08-09 21:31:11 +02:00
f45786c6af
Рефакторинг: KISS принципы, разбиение god-классов, реорганизация
...
- Создан RatConfig.java с централизованными константами
- MuteServiceImpl: 261→170 строк (Strategy pattern)
- MessagingServiceImpl: 219→124 строк (3 отдельных сервиса)
- ServiceFactory для создания сервисов
- Реорганизованы директории: utils/, commands/moderation/, commands/admin/
- Все директории теперь ≤6 файлов
2026-04-07 12:48:23 +02:00