- 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
135 lines
6.8 KiB
YAML
135 lines
6.8 KiB
YAML
# ╔══════════════════════════════════════════════════════════════════════════════╗
|
||
# ║ LoChat — config/appearance.yml ║
|
||
# ║ In-game chat look: prefixes, format, hover, emoji shortcuts, Discord UI ║
|
||
# ║ Palette (Spacelegacy): #B798A8 (dusty rose) → #7858E9 (violet) ║
|
||
# ╚══════════════════════════════════════════════════════════════════════════════╝
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Chat prefixes (gradient label + separator + default message color) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
#
|
||
# Gradient: use 2+ hex colors; letters are blended smoothly along the label.
|
||
# message-color: used when the player does NOT have lochat.chat.colors (see plugin.yml).
|
||
|
||
prefixes:
|
||
global:
|
||
emoji: "✦"
|
||
text: "GLOBAL"
|
||
colors:
|
||
- "#B798A8"
|
||
- "#7858E9"
|
||
separator:
|
||
text: " ▶ "
|
||
color: "#9878C9"
|
||
message-color: "#E8E0F0"
|
||
|
||
local:
|
||
emoji: "◆"
|
||
text: "LOCAL"
|
||
colors:
|
||
- "#9878C9"
|
||
- "#7858E9"
|
||
separator:
|
||
text: " ▶ "
|
||
color: "#8B6BD6"
|
||
message-color: "#E8E0F0"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Rendered chat line layout │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
#
|
||
# Placeholders:
|
||
# {emoji} — prefix emoji (✦ / ◆)
|
||
# {prefix} — gradient prefix text (GLOBAL / LOCAL)
|
||
# {separator} — separator (e.g. ▶)
|
||
# {player_prefix} — LuckPerms / gradient prefix from LoPreff
|
||
# {player} — display name + hover (click to /msg)
|
||
# {message} — message body
|
||
#
|
||
# Examples:
|
||
# Default: {emoji} {prefix} {separator} {player} : {message}
|
||
# Minimal: {player_prefix} {player} ▶ {message}
|
||
# Custom: ✦ {player_prefix} {player} ▶ {message}
|
||
|
||
chat-format:
|
||
global: "{emoji} {prefix} {separator} {player} : {message}"
|
||
local: "{emoji} {prefix} {separator} {player} : {message}"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Hover shown when pointing at the player name in chat │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
hover:
|
||
enabled: true
|
||
format:
|
||
- "ẲE9▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
|
||
- "&#B798A8✦ &f{player}"
|
||
- ""
|
||
- "⚖C9⏱ &fПинг: ẲE9{ping}ms"
|
||
- "⚖C9❤ &fЗдоровье: ẲE9{health}/20"
|
||
- "⚖C9🍖 &fГолод: ẲE9{food}/20"
|
||
- ""
|
||
- "ẲE9▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
|
||
- "&#B798A8✦ &fНажми чтобы написать"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Text shortcuts → unicode (applied to outgoing chat before URLs / mentions) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
emojis:
|
||
":heart:": "❤"
|
||
":hearts:": "♥"
|
||
":star:": "★"
|
||
":stars:": "✦"
|
||
":diamond:": "♦"
|
||
":check:": "✓"
|
||
":cross:": "✗"
|
||
":arrow:": "→"
|
||
":up:": "↑"
|
||
":down:": "↓"
|
||
":left:": "←"
|
||
":right:": "→"
|
||
":music:": "♪"
|
||
":note:": "♫"
|
||
":smile:": ":)"
|
||
":sad:": ":("
|
||
":wink:": ";)"
|
||
":shrug:": "¯\\_(ツ)_/¯"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Radius, length limits, and misc chat UI colors (plugin internals) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
chat:
|
||
local_radius: 100
|
||
clear_lines: 100
|
||
min_message_length: 1
|
||
max_message_length: 2000
|
||
colors:
|
||
nobody_heard: "#9878C9"
|
||
error: "#CF6679"
|
||
success: "#9878C9"
|
||
warning: "#B798A8"
|
||
info: "#A485BC"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Discord webhook embeds (see also config/discord.yml for webhooks) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
discord:
|
||
emojis:
|
||
global_chat: "✦"
|
||
local_chat: "◆"
|
||
player_join: "♦"
|
||
player_quit: "◈"
|
||
player_death: "✗"
|
||
avatar_urls:
|
||
default: "https://mc-heads.net/avatar/minecraft/64"
|
||
player: "https://mc-heads.net/avatar/{player}/64"
|
||
default_embed_color: "7858E9"
|
||
event_titles:
|
||
join: "♦ Игрок зашел на сервер"
|
||
quit: "◈ Игрок покинул сервер"
|
||
death: "✗ Смерть игрока"
|
||
global_chat: "✦ Глобальный чат"
|
||
local_chat: "◆ Локальный чат"
|