Commit graph

19 commits

Author SHA1 Message Date
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
25cd6c3e88 feat: add chat message translation via LibreTranslate
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
2026-07-06 00:01:59 +02:00
90c3cac5cf refactor: split god classes, fix OCP/ISP/SRP, migrate commands to BaseCommand hierarchy 2026-07-05 13:22:48 +02:00
812517513f build: rebuild artifacts and update CI workflows 2026-04-07 13:45:25 +02:00
bb78f1e60f refactor(config): разбить ConfigManager на 3 класса (312→80 строк)
Применен принцип Single Responsibility:
- ConfigLoader: загрузка и миграция версий конфига
- ConfigAccessor: доступ к значениям конфигурации
- ConfigManager: координатор, делегирует вызовы

Структура:
+ config/core/ConfigLoader.java (70 строк)
+ config/core/ConfigAccessor.java (185 строк)
~ config/ConfigManager.java (312→80 строк)

Результат:
- ConfigManager уменьшен с 312 до 80 строк
- Логика разделена по ответственности
- Улучшена читаемость и поддерживаемость
2026-04-07 12:52:34 +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
4f6eaf35e9 chore: clean up documentation and rebuild with badwords filter
- Remove outdated CODE_REVIEW_RU.md and REFACTORING_SERVICES.md documentation
- Add badwords.txt resource file for swear filter functionality
- Rebuild compiled classes with updated filter and configuration logic
- Update all configuration files (appearance, discord, filters, messages)
- Rebuild core components: ConfigManager, PluginInitializer, SwearFilter, GradientModule, PrefixService, PlayerEventListener, EnhancedChatRenderer
- Consolidate build artifacts with source changes for consistency
2026-04-06 00:38:34 +02:00
bba480002f refactor: restructure services and filters architecture
- Remove deprecated service interfaces (CooldownService, IgnoreService, PMService, PlayerDataService, SpyService)
- Add new unified service interfaces (MessagingService, PlayerService, PunishmentService)
- Extract FilterResult as standalone class from AdvancedMessageFilter
- Implement individual filter classes (CharacterFilter, FloodFilter, SpamFilter, SwearFilter, UrlFilter)
- Add moderation commands (BanCommand, WarnCommand, SilentWarnCommand, UnbanCommand)
- Introduce data models for punishment tracking (BanRecord, WarnEntry)
- Refactor messaging service with new MessagingServiceImpl implementation
- Add mute service utilities (MuteDataStorage, MutePermissionChecker)
- Implement PunishmentServiceImpl with snapshot tracking
- Add Discord integration components (DiscordConfig, DiscordMessageService)
- Introduce command handlers for gradient module (ColorCommandHandler, PrefixCommandHandler)
- Add renderer components (EmojiComponent, GradientBuilder, UrlProcessor)
- Add utility classes (ColorConverter, MessageSender, PlaceholderProcessor)
- Update configuration files and plugin metadata
- Add documentation files (CODE_REVIEW_RU.md, REFACTORING_SERVICES.md)
- Consolidate service architecture for improved maintainability and separation of concerns
2026-04-06 00:18:25 +02:00
2d79d2a91d chore: update .gitignore and build.gradle.kts for local server testing
- 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.
2026-04-01 16:09:15 +02:00
d1d2b93742 fix all 2026-03-16 12:43:52 +01:00
e78d8a2de4 Update to Minecraft 1.21.8, add checkstyle, fix compilation errors
- Update Paper API: 1.20.1 -> 1.21.4
- Update plugin version: 1.5.5-1.20.1 -> 1.5.5-1.21.8
- Add checkstyle plugin with reasonable rules
- Fix Enchantment.LUCK -> Enchantment.UNBREAKING
- Fix EntityType.FIREWORK -> EntityType.FIREWORK_ROCKET
- Remove unused imports
- Add temp_*/ to .gitignore
- 118 files changed, 1633 insertions(+), 1301 deletions(-)
2026-02-24 00:04:03 +01:00
74482851aa refactor: Remove emoji system and chat filters, implement SOLID architecture 2026-02-23 12:10:51 +01:00
01d8c3a2e7 Complete config redesign and feature additions
🎨 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!
2026-01-23 22:06:46 +01:00
e616667c78 Fix missing features and improve code quality
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.
2026-01-23 21:52:17 +01:00
b74fa21272 Major mute system overhaul
Commands:
- /mute <nick> [time] [-s] [reason] - mute player
- /unmute <nick> [-s] - unmute player
- /mutelist - list active mutes
- /mutehistory <nick> - player mute history
- /muteblame <moderator> - mutes issued by moderator

Features:
- Configurable messages with placeholders (%player%, %operator%, %duration%, %reason%)
- Duration permissions: lochat.mute.dur.<time> (10m, 30m, 1h, 6h, 12h, 1d, 3d, 7d, 14d, 30d, perm)
- Silent mute: -s flag (requires lochat.mute.silent)
- See silent mutes: lochat.mute.see-silent
- Default reason configurable (default: Нету.)
- Auto-use max allowed duration if not specified
- All settings in config.yml under 'mute' section
2026-01-03 12:34:32 +01:00
036382b71a feat: add color support (&#RRGGBB and #RRGGBB) to all configs 2025-12-30 21:47:02 +01:00
3fddf48cb3 style: replace remaining MiniMessage tags with &#RRGGBB format 2025-12-30 21:34:29 +01:00
f52bd29e7d v1.5.0: Добавлены кастомные команды, алиасы, цвета чата, многоядерная сборка
- Система кастомных команд с алиасами (custom-commands.yml)
- Команда /chatcolor для установки цвета сообщений
- Исправлена ошибка с legacy кодами в PM
- Настройки объявлений (title, actionbar)
- Автообновление конфигов
- Отображение префикса над игроком
- Многоядерная сборка Gradle
- Добавлены алиасы для команд (русские и английские)
- Права на использование цветовых кодов
2025-12-30 12:29:39 +01:00
252b0a60db Initial commit: LoChat v1.0.0 with Gradient module 2025-12-29 14:57:49 +01:00