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
This commit is contained in:
parent
689ab1a9ae
commit
a822c91637
17 changed files with 821 additions and 12 deletions
11
TODO.md
11
TODO.md
|
|
@ -66,11 +66,12 @@
|
|||
|
||||
## 🟡 NEXT: NEW FEATURES
|
||||
|
||||
### 1. Channels (like VentureChat / Carbon)
|
||||
- `/join`, `/leave`, `/channel` — full channel system: global, local, staff, trade, party.
|
||||
- Per-channel colors, aliases, permissions, cooldowns, spy mode.
|
||||
- Party chat: private groups `/party`.
|
||||
- Network channels (Bungee/Velocity) sync.
|
||||
### 1. Channels (like VentureChat / Carbon) ✅
|
||||
- `/join`, `/leave`, `/channel` — full channel system: global, local, staff, trade.
|
||||
- Config-driven channels via `config/channels.yml` (emoji, colors, prefix, radius, cooldowns, permissions, aliases).
|
||||
- Chat routing: `ChatEventListener` sends to the joined channel; local radius filtering; per-channel cooldown; channel-aware `EnhancedChatRenderer`.
|
||||
- Party chat: private groups `/party` (future).
|
||||
- Network channels (Bungee/Velocity) sync (future).
|
||||
|
||||
### 2. Anti-swear hardening + filter statistics ✅
|
||||
- Obfuscation bypass: `SwearNormalizer` (q→р / leet-подстановки, повторы букв «сууука», разделители внутри слова «с.у.к.а» / «с у к а») + tolerant-маскирование в replace-режиме. Single source of truth для Aho-Corasick.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue