- 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
137 lines
11 KiB
YAML
137 lines
11 KiB
YAML
# ╔══════════════════════════════════════════════════════════════════════════════╗
|
||
# ║ LoChat Hardcoded Messages ║
|
||
# ║ Цветовая гамма: Spacelegacy ║
|
||
# ║ #B798A8 → #7858E9 ║
|
||
# ╚══════════════════════════════════════════════════════════════════════════════╝
|
||
|
||
commands:
|
||
mute:
|
||
usage: "&#B798A8Использование: ẲE9/mute <ник> [время] [-s] [причина]"
|
||
time_help: "⚖C9Время: ẲE91d⚖C9, ẲE92h⚖C9, ẲE930m⚖C9, ẲE960s⚖C9, ẲE9perm"
|
||
silent_help: "&#B798A8-s ⚖C9— тихий мут (право ẲE9lochat.mute.silent⚖C9)"
|
||
no_silent_permission: "&#CF6679Нет права на тихий мут"
|
||
default_reason: "Без причины"
|
||
default_duration: "7d"
|
||
|
||
cooldown:
|
||
message: "&#B798A8Подождите ẲE9{remaining} &#B798A8сек"
|
||
|
||
clear_chat:
|
||
lines_cleared: "⚖C9Чат очищен ẲE9({lines} строк⚖C9)"
|
||
no_permission: "&#CF6679Нет прав для очистки чата"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ЛОКАЛЬНЫЙ ЧАТ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
local_chat:
|
||
nobody_heard: "⚖C9Вас никто не услышал &#B798A8— рядом нет игроков"
|
||
no_players_nearby: "&#B798A8Рядом нет игроков"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ФИЛЬТРЫ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
filters:
|
||
caps:
|
||
min_length: 3
|
||
blocked_message: "&#CF6679Не кричите в чате"
|
||
auto_lowercase_notice: "&#B798A8Сообщение автоматически исправлено"
|
||
spam:
|
||
blocked_message: "&#CF6679Не спамьте"
|
||
similar_message: "&#CF6679Вы уже отправляли похожее сообщение"
|
||
swear:
|
||
blocked_message: "&#CF6679Запрещённые слова"
|
||
replaced_notice: "&#B798A8Некоторые слова заменены"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ МУТИРОВАНИЕ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
mute:
|
||
muted_message: "&#CF6679Вы замучены! &#B798A8Причина: ẲE9{reason}&#B798A8. Осталось: ẲE9{time}"
|
||
muted_permanent: "&#CF6679Вы замучены навсегда! &#B798A8Причина: ẲE9{reason}"
|
||
player_muted: "⚖C9Игрок ẲE9{player} ⚖C9замучен на ẲE9{time}⚖C9. Причина: &#B798A8{reason}"
|
||
player_muted_permanent: "⚖C9Игрок ẲE9{player} ⚖C9замучен навсегда. Причина: &#B798A8{reason}"
|
||
player_muted_silent: "&#B798A8[⚖C9ТИХИЙ МУТ&#B798A8] ẲE9{player} &#B798A8замучен на ẲE9{time}"
|
||
player_unmuted: "⚖C9Игрок ẲE9{player} ⚖C9размучен"
|
||
not_muted: "&#B798A8Игрок ẲE9{player} &#B798A8не замучен"
|
||
player_not_found: "&#CF6679Игрок не найден!"
|
||
invalid_time: "&#CF6679Неверный формат времени!"
|
||
already_muted: "&#CF6679Игрок уже замучен!"
|
||
no_silent_unmute_permission: "&#CF6679Нет права на тихий размут!"
|
||
player_not_muted_simple: "&#CF6679Игрок не замучен!"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ИГРОВЫЕ РЕЖИМЫ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
gamemodes:
|
||
survival: "Выживание"
|
||
creative: "Творчество"
|
||
adventure: "Приключение"
|
||
spectator: "Наблюдатель"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ЛИЧНЫЕ СООБЩЕНИЯ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
private_messages:
|
||
no_reply_target: "&#CF6679Нет цели для ответа"
|
||
message_sent: "&#B798A8Сообщение отправлено ẲE9{player}"
|
||
player_offline: "&#CF6679Игрок ẲE9{player} &#CF6679не в сети"
|
||
cannot_message_self: "&#CF6679Нельзя писать самому себе"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ИГНОРИРОВАНИЕ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
ignore:
|
||
player_ignored: "⚖C9Игрок ẲE9{player} ⚖C9добавлен в игнор"
|
||
player_unignored: "⚖C9Игрок ẲE9{player} ⚖C9убран из игнора"
|
||
already_ignored: "&#B798A8Игрок ẲE9{player} &#B798A8уже в игноре"
|
||
not_ignored: "&#B798A8Игрок ẲE9{player} &#B798A8не в игноре"
|
||
cannot_ignore_self: "&#CF6679Нельзя игнорировать самого себя"
|
||
ignore_list_empty: "&#B798A8Список игнора пуст"
|
||
ignore_list_header: "&#B798A8Игнорируемые игроки⚖C9:"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ОБЩИЕ СООБЩЕНИЯ │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
general:
|
||
no_permission: "&#CF6679Нет прав!"
|
||
player_only: "&#CF6679Только для игроков!"
|
||
invalid_arguments: "&#CF6679Неверные аргументы!"
|
||
command_disabled: "&#CF6679Команда отключена!"
|
||
feature_disabled: "&#CF6679Функция отключена!"
|
||
player_not_found: "&#CF6679Игрок не найден!"
|
||
time_formats:
|
||
seconds: "сек"
|
||
minutes: "мин"
|
||
hours: "ч"
|
||
days: "д"
|
||
permanent: "навсегда"
|
||
enabled: "ẲE9Включено"
|
||
disabled: "&#B798A8Отключено"
|
||
online: "⚖C9В сети"
|
||
offline: "&#B798A8Не в сети"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ ВАРНЫ / БАНЫ (LoChat) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
moderation:
|
||
default_reason: "Без причины"
|
||
duration_permanent: "навсегда"
|
||
warn_received: "&#CF6679⚠ Вам выдано предупреждение! &#B798A8Причина: ẲE9{reason}"
|
||
warn_staff_confirm: "⚖C9Игроку ẲE9{player} ⚖C9выдан варн. &#B798A8Причина: ẲE9{reason}"
|
||
silent_warn_staff: "&#B798A8[⚖C9ТИХИЙ ВАРН&#B798A8] ẲE9{player}⚖C9: &#B798A8{reason}"
|
||
ban_usage: "&#B798A8Использование: ẲE9/lban <ник> [время|perm] [причина]"
|
||
ban_confirm: "⚖C9Игрок ẲE9{player} ⚖C9забанен. &#B798A8Срок: ẲE9{duration}"
|
||
unban_confirm: "⚖C9Бан снят с ẲE9{player}"
|
||
not_banned: "&#CF6679Игрок не забанен!"
|
||
already_banned: "&#CF6679Игрок уже забанен!"
|
||
warn_usage: "&#B798A8Использование: ẲE9/warn <ник> [причина]"
|
||
silent_warn_usage: "&#B798A8Использование: ẲE9/silentwarn <ник> [причина]"
|
||
ban_kick_message: "<gradient:#FF5555:#8B0000><bold>═══════ ДОСТУП ЗАПРЕЩЁН ═══════</bold></gradient>\n<gray>Вы заблокированы на этом сервере.</gray>\n<white>Причина: <gradient:#7858E9:#B798A8>{reason}</gradient></white>\n<gray>Модератор: <white>{moderator}</white></gray>\n<gray>Срок: <#7858E9>{duration}</#7858E9></gray>\n<gradient:#FF5555:#8B0000><bold>════════════════════════</bold></gradient>"
|