fix command and refactoring config

This commit is contained in:
loki5512344 2026-03-10 16:58:10 +01:00
parent b922f588d0
commit fe64b3d51f
109 changed files with 4103 additions and 5403 deletions

View file

@ -0,0 +1,255 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Auto Messages ║
# ║ Автосообщения ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОСНОВНЫЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
settings:
# Включить автосообщения
enabled: true
# Интервал между сообщениями (секунды)
interval: 300
# Случайный порядок сообщений
random: true
# Минимальное количество игроков для отправки
min-players: 1
# Префикс для автосообщений
prefix: "&#00D4FF[Авто]"
# Отправлять в определенные миры
worlds:
- "world"
- "world_nether"
- "world_the_end"
# Тип отправки: chat, actionbar, title, bossbar
type: "chat"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ СООБЩЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
messages:
welcome:
enabled: true
weight: 10 # Вес для случайного выбора (больше = чаще)
permission: "" # Пустое = для всех
worlds: [] # Пустое = во всех мирах
content:
- "&#FFD700Добро пожаловать на наш сервер!"
- "&#87CEEBИспользуйте /help для получения помощи"
- "&#6BCB77Приятной игры!"
rules:
enabled: true
weight: 8
permission: ""
worlds: []
content:
- "&#FF6B6BСоблюдайте правила сервера!"
- "&#87CEEBПодробнее: /rules"
- "&#FFA726Нарушения караются мутом или баном"
discord:
enabled: true
weight: 7
permission: ""
worlds: []
content:
- "&#7289DAПрисоединяйтесь к нашему Discord!"
- "&#87CEEBСсылка: discord.gg/example"
- "&#6BCB77Общайтесь с игроками вне игры!"
website:
enabled: true
weight: 6
permission: ""
worlds: []
content:
- "&#00FF88Посетите наш сайт!"
- "&#87CEEBАдрес: example.com"
- "&#6BCB77Карта сервера, статистика и многое другое!"
donate:
enabled: true
weight: 5
permission: ""
worlds: []
content:
- "&#FFD700Поддержите сервер донатом!"
- "&#87CEEBПолучите VIP статус и привилегии"
- "&#6BCB77Подробнее: /donate"
tips:
enabled: true
weight: 9
permission: ""
worlds: []
content:
- "&#87CEEB💡 Совет: Используйте /coords для просмотра координат"
- "&#87CEEB💡 Совет: /ignore <игрок> - игнорировать игрока"
- "&#87CEEB💡 Совет: /msg <игрок> <сообщение> - личное сообщение"
- "&#87CEEB💡 Совет: /reply <сообщение> - ответить на ЛС"
- "&#87CEEB💡 Совет: /color <цвет> - изменить цвет ника"
events:
enabled: false
weight: 3
permission: ""
worlds: []
content:
- "&#FF69B4🎉 Скоро событие на сервере!"
- "&#87CEEBСледите за новостями в Discord"
- "&#6BCB77Участвуйте и получайте призы!"
economy:
enabled: false
weight: 4
permission: ""
worlds: []
content:
- "&#FFD700💰 Зарабатывайте деньги на сервере!"
- "&#87CEEBПродавайте ресурсы в магазине"
- "&#6BCB77Команды: /shop, /sell, /balance"
pvp:
enabled: false
weight: 2
permission: ""
worlds: ["world_pvp"]
content:
- "&#FF6B6B⚔️ Вы в PvP зоне!"
- "&#FFA726Будьте осторожны с другими игроками"
- "&#87CEEBИспользуйте /spawn для выхода"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ СПЕЦИАЛЬНЫЕ СООБЩЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
special:
# Сообщения для новичков (первый вход)
newbie:
enabled: true
delay: 30 # Задержка после входа (секунды)
content:
- "&#6BCB77Добро пожаловать на сервер, {player}!"
- "&#87CEEBЭто ваш первый визит. Изучите /help"
- "&#FFD700Желаем приятной игры!"
# Сообщения при входе
join:
enabled: false
delay: 5
content:
- "&#6BCB77С возвращением, {player}!"
- "&#87CEEBНе забудьте проверить новости: /news"
# Сообщения при достижениях
achievement:
enabled: false
content:
- "&#FFD700🏆 Поздравляем с достижением!"
- "&#87CEEBПродолжайте исследовать мир"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ НАСТРОЙКИ ОТОБРАЖЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
display:
# Настройки для title сообщений
title:
fade-in: 10
stay: 40
fade-out: 10
title: "&#FFD700Информация"
subtitle: "{message}"
# Настройки для actionbar сообщений
actionbar:
duration: 60 # Время показа (тики)
# Настройки для bossbar сообщений
bossbar:
color: "BLUE" # BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW
style: "SOLID" # SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20
duration: 100 # Время показа (тики)
# Звуковые эффекты
sound:
enabled: false
type: "BLOCK_NOTE_BLOCK_PLING"
volume: 0.5
pitch: 1.0
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ УСЛОВИЯ ОТПРАВКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
conditions:
# Время суток (24-часовой формат)
time:
enabled: false
start: "09:00"
end: "23:00"
# Дни недели (1-7, где 1 = понедельник)
days:
enabled: false
allowed: [1, 2, 3, 4, 5, 6, 7]
# Исключить игроков в AFK
exclude-afk: false
# Исключить игроков в творческом режиме
exclude-creative: false
# Исключить игроков с определенными правами
exclude-permissions:
- "lochat.automessage.ignore"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ПЕРСОНАЛИЗАЦИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
personalization:
# Использовать имя игрока в сообщениях
use-player-name: true
# Адаптировать сообщения под группу игрока
group-specific: false
# Сообщения для разных групп
groups:
vip:
prefix: "&#FFD700[VIP Авто]"
messages:
- "&#FFD700Спасибо за поддержку сервера, {player}!"
- "&#87CEEBВы получаете эксклюзивные привилегии"
newbie:
prefix: "&#6BCB77[Помощь]"
messages:
- "&#6BCB77Нужна помощь, {player}? Спросите в чате!"
- "&#87CEEBИспользуйте /help для списка команд"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ СТАТИСТИКА │
# └─────────────────────────────────────────────────────────────────────────────┘
statistics:
# Вести статистику отправленных сообщений
enabled: true
# Файл для сохранения статистики
file: "plugins/LoChat/automessage-stats.yml"
# Сбрасывать статистику каждый месяц
reset-monthly: true

View file

@ -0,0 +1,215 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Chat Formats ║
# ║ Форматы чата ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФОРМАТЫ ЧАТА │
# └─────────────────────────────────────────────────────────────────────────────┘
# Доступные плейсхолдеры:
# {player} - имя игрока
# {display_name} - отображаемое имя с градиентом
# {prefix} - префикс игрока
# {suffix} - суффикс игрока
# {world} - мир игрока
# {message} - сообщение
# {time} - время
# {date} - дата
# Все плейсхолдеры PlaceholderAPI
formats:
# Глобальный чат
global:
enabled: true
format: "&#FFD700[G] {prefix}{display_name}&r: {message}"
hover:
- "<gray>Игрок: <white>{player}"
- "<gray>Мир: <green>{world}"
- "<gray>Пинг: <yellow>%player_ping%ms"
- ""
- "<yellow>▶ Клик: написать ЛС"
click:
action: "suggest_command"
value: "/msg {player} "
# Локальный чат
local:
enabled: true
format: "&#87CEEB[L] {prefix}{display_name}&r: {message}"
hover:
- "<gray>Игрок: <white>{player}"
- "<gray>Координаты: <yellow>{x}, {y}, {z}"
- "<gray>Расстояние: <green>%distance%м"
- ""
- "<yellow>▶ Клик: написать ЛС"
click:
action: "suggest_command"
value: "/msg {player} "
# Личные сообщения
private:
sent: "&7[→] &#87CEEBВы &7→ {display_name}&7: {message}"
received: "&7[←] {display_name} &7→ &#87CEEBВы&7: {message}"
hover:
- "<gray>Отправлено: <white>%time%"
- ""
- "<yellow>▶ Клик: ответить"
click:
action: "suggest_command"
value: "/reply "
# Объявления
announcement:
format: "&#FF6B6B[ОБЪЯВЛЕНИЕ] <message>"
title:
enabled: true
title: "&#FF6B6BОБЪЯВЛЕНИЕ"
subtitle: "{message}"
fade-in: 10
stay: 60
fade-out: 10
actionbar:
enabled: true
format: "&#FF6B6B[ОБЪЯВЛЕНИЕ] {message}"
# Системные сообщения
system:
join: "&#6BCB77+ {display_name} &#6BCB77присоединился к игре"
quit: "&#FF6B6B- {display_name} &#FF6B6Bпокинул игру"
death: "&#FF6B6B☠ {display_name} &#FF6B6B{death_message}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФОРМАТЫ ПО ГРУППАМ │
# └─────────────────────────────────────────────────────────────────────────────┘
groups:
owner:
priority: 1000
prefix: "&#FF0000[OWNER]"
suffix: ""
format: "{prefix} {display_name}&r: {message}"
name-color: "&#FF0000"
admin:
priority: 900
prefix: "&#FF6B6B[ADMIN]"
suffix: ""
format: "{prefix} {display_name}&r: {message}"
name-color: "&#FF6B6B"
moderator:
priority: 800
prefix: "&#FFA726[MOD]"
suffix: ""
format: "{prefix} {display_name}&r: {message}"
name-color: "&#FFA726"
helper:
priority: 700
prefix: "&#87CEEB[HELPER]"
suffix: ""
format: "{prefix} {display_name}&r: {message}"
name-color: "&#87CEEB"
vip:
priority: 600
prefix: "&#FFD700[VIP]"
suffix: ""
format: "{prefix} {display_name}&r: {message}"
name-color: "&#FFD700"
premium:
priority: 500
prefix: "&#6BCB77[PREMIUM]"
suffix: ""
format: "{prefix} {display_name}&r: {message}"
name-color: "&#6BCB77"
default:
priority: 0
prefix: ""
suffix: ""
format: "{display_name}&r: {message}"
name-color: "&#FFFFFF"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ СПЕЦИАЛЬНЫЕ ФОРМАТЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
special:
# Формат для мутов
mute:
message: "&#FF6B6BВы замучены! Осталось: {time}"
permanent: "&#FF6B6BВы замучены навсегда!"
# Формат для упоминаний
mention:
format: "&#FFFF00@{player}"
sound: "BLOCK_NOTE_BLOCK_PLING"
volume: 1.0
pitch: 1.0
# Формат для эмодзи голов
head-emoji:
format: ":head_{player}:"
max-per-message: 3
# Формат для ссылок
url:
format: "<click:open_url:'{url}'><hover:show_text:'<gray>Открыть ссылку'><u>{url}</u></hover></click>"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ НАСТРОЙКИ ОТОБРАЖЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
display:
# Максимальная длина сообщения
max-message-length: 256
# Показывать время в чате
show-time: false
time-format: "[HH:mm]"
# Показывать мир в чате
show-world: false
world-format: "[{world}]"
# Компактный режим (убирает лишние пробелы)
compact-mode: false
# Автоматически переносить длинные сообщения
word-wrap: true
# Цвет сообщений по умолчанию
default-message-color: "&#FFFFFF"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ИНТЕГРАЦИИ │
# └─────────────────────────────────────────────────────────────────────────────┘
integrations:
# PlaceholderAPI
placeholderapi:
enabled: true
# LuckPerms
luckperms:
enabled: true
use-prefix: true
use-suffix: true
# Vault
vault:
enabled: true
# DiscordSRV
discordsrv:
enabled: false
format: "**{player}**: {message}"
# Dynmap
dynmap:
enabled: false
format: "{player}: {message}"

View file

@ -0,0 +1,203 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Custom Commands ║
# ║ Кастомные команды ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ НАСТРОЙКИ КОМАНД │
# └─────────────────────────────────────────────────────────────────────────────┘
settings:
# Включить кастомные команды
enabled: true
# Настройки Discord команды
discord:
invite-link: "discord.gg/example"
# Настройки Website команды
website:
url: "https://example.com"
# Настройки координат
coords:
show-in-actionbar: true
actionbar-duration: 60
# Настройки /me команды
me:
radius: 100 # Радиус для локального действия
# Настройки звуков
sounds:
allow-toggle: true
# Настройки статистики
stats:
show-server-stats: true
show-player-stats: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ТЕКСТОВЫЕ КОМАНДЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
# Структура команды:
# command-name:
# permission: "право.для.использования" # Опционально
# message: "Текст сообщения" # Обязательно
# aliases: ["alias1", "alias2"] # Опционально
# type: "chat" # chat, broadcast, title, actionbar
# target: "sender" # sender, all, permission:право
# ═══════════════════════════════════════════════════════════════════════════════
# ИНФОРМАЦИОННЫЕ КОМАНДЫ
# ═══════════════════════════════════════════════════════════════════════════════
help:
message: |
<gradient:#FFD700:#FFA500>═══════ Помощь по серверу ═══════</gradient>
<gradient:#87CEEB:#4682B4>/rules</gradient> <gray>- правила сервера</gray>
<gradient:#87CEEB:#4682B4>/discord</gradient> <gray>- наш Discord</gray>
<gradient:#87CEEB:#4682B4>/website</gradient> <gray>- официальный сайт</gray>
<gradient:#87CEEB:#4682B4>/coords</gradient> <gray>- ваши координаты</gray>
<gradient:#87CEEB:#4682B4>/time</gradient> <gray>- время на сервере</gray>
aliases: [ "помощь", "хелп" ]
type: "chat"
target: "sender"
rules:
message: |
<gradient:#FF6B6B:#FF4757>═══════ Правила сервера ═══════</gradient>
<white>1.</white> <gray>Не используйте читы и моды</gray>
<white>2.</white> <gray>Уважайте других игроков</gray>
<white>3.</white> <gray>Не спамьте в чате</gray>
<white>4.</white> <gray>Не стройте рядом с чужими постройками</gray>
<white>5.</white> <gray>Не используйте мат и оскорбления</gray>
<gradient:#FFA726:#FF9800>Нарушение правил карается мутом или баном!</gradient>
aliases: [ "правила", "rule" ]
type: "chat"
target: "sender"
discord:
message: |
<gradient:#7289DA:#5865F2>═══════ Наш Discord ═══════</gradient>
<gray>Присоединяйтесь к нашему сообществу!</gray>
<click:open_url:'https://discord.gg/example'><gradient:#87CEEB:#4682B4>🔗 discord.gg/example</gradient></click>
<gray>В Discord вы можете:</gray>
<white>•</white> <gray>Общаться с игроками</gray>
<white>•</white> <gray>Получать новости сервера</gray>
<white>•</white> <gray>Участвовать в событиях</gray>
aliases: [ "дискорд", "ds" ]
type: "chat"
target: "sender"
website:
message: |
<gradient:#00FF88:#00CC66>═══════ Официальный сайт ═══════</gradient>
<click:open_url:'https://example.com'><gradient:#87CEEB:#4682B4>🌐 example.com</gradient></click>
<gray>На сайте доступно:</gray>
<white>•</white> <gray>Карта сервера</gray>
<white>•</white> <gray>Статистика игроков</gray>
<white>•</white> <gray>Форум и новости</gray>
aliases: [ "сайт", "site" ]
type: "chat"
target: "sender"
# ═══════════════════════════════════════════════════════════════════════════════
# УТИЛИТЫ
# ═══════════════════════════════════════════════════════════════════════════════
coords:
message: |
<gradient:#FFA726:#FF9800>Ваши координаты:</gradient>
<gradient:#87CEEB:#4682B4>X:</gradient> <white>{x}</white>
<gradient:#87CEEB:#4682B4>Y:</gradient> <white>{y}</white>
<gradient:#87CEEB:#4682B4>Z:</gradient> <white>{z}</white>
<gradient:#87CEEB:#4682B4>Мир:</gradient> <white>{world}</white>
aliases: [ "координаты", "pos", "position" ]
type: "actionbar"
target: "sender"
time:
message: |
<gradient:#87CEEB:#4682B4>Время на сервере:</gradient> <white>%server_time_24%</white>
<gradient:#87CEEB:#4682B4>Дата:</gradient> <white>%server_date%</white>
<gradient:#87CEEB:#4682B4>Онлайн:</gradient> <white>%server_online%</white> <gray>игроков</gray>
aliases: [ "время", "дата" ]
type: "chat"
target: "sender"
# ═══════════════════════════════════════════════════════════════════════════════
# АДМИНСКИЕ КОМАНДЫ
# ═══════════════════════════════════════════════════════════════════════════════
restart-warning:
permission: "lochat.admin"
message: |
<gradient:#FF6B6B:#FF4757>⚠ ВНИМАНИЕ! ⚠</gradient>
<gradient:#FFA726:#FF9800>Сервер будет перезагружен через 5 минут!</gradient>
<gray>Сохраните свой прогресс и подготовьтесь к перезагрузке.</gray>
aliases: [ "рестарт", "reboot" ]
type: "title"
target: "all"
maintenance:
permission: "lochat.admin"
message: |
<gradient:#FF6B6B:#FF4757>Сервер переходит в режим технических работ</gradient>
<gray>Ожидаемое время: 30 минут</gray>
aliases: [ "тех-работы", "maintenance" ]
type: "broadcast"
target: "all"
# ═══════════════════════════════════════════════════════════════════════════════
# VIP КОМАНДЫ
# ═══════════════════════════════════════════════════════════════════════════════
vip-info:
permission: "lochat.vip"
message: |
<gradient:#FFD700:#FFA500>═══════ VIP Привилегии ═══════</gradient>
<white>•</white> <gray>Цветной ник и префикс</gray>
<white>•</white> <gray>Приоритет входа на сервер</gray>
<white>•</white> <gray>Дополнительные команды</gray>
<white>•</white> <gray>Больше возможностей в чате</gray>
<gradient:#6BCB77:#4ECDC4>Спасибо за поддержку сервера!</gradient>
type: "chat"
target: "permission:lochat.vip"
# ═══════════════════════════════════════════════════════════════════════════════
# РАЗВЛЕКАТЕЛЬНЫЕ КОМАНДЫ
# ═══════════════════════════════════════════════════════════════════════════════
welcome:
message: |
<gradient:#FFD700:#FFA500>Добро пожаловать на сервер!</gradient>
<gradient:#87CEEB:#4682B4>Игрок {player} присоединился к игре</gradient>
aliases: [ "привет", "hello" ]
type: "title"
target: "sender"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ПЛЕЙСХОЛДЕРЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
# Доступные плейсхолдеры в сообщениях:
# {player} - имя игрока
# {x}, {y}, {z} - координаты игрока
# {world} - название мира
# {arg0}, {arg1}, {arg2} - аргументы команды (нумерация с 0)
# {args} - все аргументы через пробел
#
# Также поддерживаются все плейсхолдеры PlaceholderAPI:
# %player_name% - имя игрока
# %server_online% - количество игроков онлайн
# %server_time_24% - время в формате 24 часа
# %server_date% - текущая дата
# И многие другие...

View file

@ -0,0 +1,346 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Database Configuration ║
# ║ Конфигурация базы данных ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОСНОВНЫЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
settings:
# Тип базы данных: file, sqlite, mysql, postgresql
type: "file"
# Префикс для таблиц
table-prefix: "lochat_"
# Автоматически создавать таблицы
auto-create-tables: true
# Автоматически обновлять структуру таблиц
auto-update-tables: true
# Кодировка для MySQL
charset: "utf8mb4"
# Collation для MySQL
collation: "utf8mb4_unicode_ci"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФАЙЛОВОЕ ХРАНЕНИЕ │
# └─────────────────────────────────────────────────────────────────────────────┘
file:
# Папка для хранения файлов данных
data-folder: "plugins/LoChat/data/"
# Формат файлов: yaml, json
format: "yaml"
# Автоматическое сохранение (секунды)
auto-save-interval: 300
# Создавать резервные копии
backup:
enabled: true
interval: 3600 # Каждый час
max-backups: 24 # Хранить 24 копии
folder: "plugins/LoChat/backups/"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ SQLITE │
# └─────────────────────────────────────────────────────────────────────────────┘
sqlite:
# Путь к файлу базы данных
file: "plugins/LoChat/database.db"
# Настройки соединения
connection:
# Таймаут соединения (миллисекунды)
timeout: 30000
# Включить WAL режим (Write-Ahead Logging)
wal-mode: true
# Размер кэша (KB)
cache-size: 2000
# Синхронизация: OFF, NORMAL, FULL
synchronous: "NORMAL"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ MYSQL │
# └─────────────────────────────────────────────────────────────────────────────┘
mysql:
# Хост базы данных
host: "localhost"
# Порт базы данных
port: 3306
# Имя базы данных
database: "lochat"
# Имя пользователя
username: "root"
# Пароль
password: "password"
# Дополнительные параметры подключения
properties:
useSSL: false
allowPublicKeyRetrieval: true
serverTimezone: "UTC"
characterEncoding: "utf8"
useUnicode: true
autoReconnect: true
failOverReadOnly: false
maxReconnects: 3
initialTimeout: 1
# Настройки пула соединений (HikariCP)
pool:
# Максимальное количество соединений
maximum-pool-size: 10
# Минимальное количество простаивающих соединений
minimum-idle: 2
# Таймаут получения соединения (миллисекунды)
connection-timeout: 30000
# Время жизни простаивающего соединения (миллисекунды)
idle-timeout: 600000
# Максимальное время жизни соединения (миллисекунды)
max-lifetime: 1800000
# Интервал проверки соединений (миллисекунды)
leak-detection-threshold: 60000
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ POSTGRESQL │
# └─────────────────────────────────────────────────────────────────────────────┘
postgresql:
# Хост базы данных
host: "localhost"
# Порт базы данных
port: 5432
# Имя базы данных
database: "lochat"
# Имя пользователя
username: "postgres"
# Пароль
password: "password"
# Схема базы данных
schema: "public"
# Дополнительные параметры подключения
properties:
ssl: false
sslmode: "disable"
serverTimezone: "UTC"
characterEncoding: "utf8"
autoReconnect: true
# Настройки пула соединений
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ СТРУКТУРА ТАБЛИЦ │
# └─────────────────────────────────────────────────────────────────────────────┘
tables:
# Таблица игроков
players:
name: "players"
columns:
uuid: "VARCHAR(36) PRIMARY KEY"
name: "VARCHAR(16) NOT NULL"
display_name: "TEXT"
first_join: "BIGINT NOT NULL"
last_join: "BIGINT NOT NULL"
last_quit: "BIGINT"
total_playtime: "BIGINT DEFAULT 0"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
updated_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"
# Таблица градиентов
gradients:
name: "gradients"
columns:
uuid: "VARCHAR(36) PRIMARY KEY"
colors: "TEXT"
prefix: "TEXT"
enabled: "BOOLEAN DEFAULT TRUE"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
updated_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"
# Таблица мутов
mutes:
name: "mutes"
columns:
id: "INT AUTO_INCREMENT PRIMARY KEY"
uuid: "VARCHAR(36) NOT NULL"
moderator_uuid: "VARCHAR(36)"
reason: "TEXT NOT NULL"
start_time: "BIGINT NOT NULL"
end_time: "BIGINT"
active: "BOOLEAN DEFAULT TRUE"
silent: "BOOLEAN DEFAULT FALSE"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
# История мутов
mute_history:
name: "mute_history"
columns:
id: "INT AUTO_INCREMENT PRIMARY KEY"
uuid: "VARCHAR(36) NOT NULL"
moderator_uuid: "VARCHAR(36)"
reason: "TEXT NOT NULL"
duration: "BIGINT NOT NULL"
start_time: "BIGINT NOT NULL"
end_time: "BIGINT"
unmute_reason: "TEXT"
unmute_moderator: "VARCHAR(36)"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
# Таблица игнорирования
ignores:
name: "ignores"
columns:
id: "INT AUTO_INCREMENT PRIMARY KEY"
player_uuid: "VARCHAR(36) NOT NULL"
ignored_uuid: "VARCHAR(36) NOT NULL"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
# Таблица сообщений (если включено логирование)
messages:
name: "messages"
columns:
id: "INT AUTO_INCREMENT PRIMARY KEY"
uuid: "VARCHAR(36) NOT NULL"
type: "VARCHAR(20) NOT NULL"
content: "TEXT NOT NULL"
server: "VARCHAR(50)"
world: "VARCHAR(50)"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
# Настройки игроков
player_settings:
name: "player_settings"
columns:
uuid: "VARCHAR(36) PRIMARY KEY"
sounds_enabled: "BOOLEAN DEFAULT TRUE"
sound_volume: "FLOAT DEFAULT 1.0"
auto_messages: "BOOLEAN DEFAULT TRUE"
mentions_enabled: "BOOLEAN DEFAULT TRUE"
pm_sounds: "BOOLEAN DEFAULT TRUE"
created_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
updated_at: "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ИНДЕКСЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
indexes:
# Индексы для оптимизации запросов
players:
- "CREATE INDEX idx_players_name ON {prefix}players(name)"
- "CREATE INDEX idx_players_last_join ON {prefix}players(last_join)"
mutes:
- "CREATE INDEX idx_mutes_uuid ON {prefix}mutes(uuid)"
- "CREATE INDEX idx_mutes_active ON {prefix}mutes(active)"
- "CREATE INDEX idx_mutes_end_time ON {prefix}mutes(end_time)"
mute_history:
- "CREATE INDEX idx_mute_history_uuid ON {prefix}mute_history(uuid)"
- "CREATE INDEX idx_mute_history_moderator ON {prefix}mute_history(moderator_uuid)"
- "CREATE INDEX idx_mute_history_start_time ON {prefix}mute_history(start_time)"
ignores:
- "CREATE INDEX idx_ignores_player ON {prefix}ignores(player_uuid)"
- "CREATE INDEX idx_ignores_ignored ON {prefix}ignores(ignored_uuid)"
- "CREATE UNIQUE INDEX idx_ignores_unique ON {prefix}ignores(player_uuid, ignored_uuid)"
messages:
- "CREATE INDEX idx_messages_uuid ON {prefix}messages(uuid)"
- "CREATE INDEX idx_messages_type ON {prefix}messages(type)"
- "CREATE INDEX idx_messages_created_at ON {prefix}messages(created_at)"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОЧИСТКА ДАННЫХ │
# └─────────────────────────────────────────────────────────────────────────────┘
cleanup:
# Автоматическая очистка старых данных
enabled: true
# Интервал очистки (секунды)
interval: 86400 # Раз в день
# Настройки очистки для каждой таблицы
tables:
mute_history:
# Удалять записи старше N дней
max-age-days: 90
# Оставлять минимум записей на игрока
min-records-per-player: 5
messages:
max-age-days: 30
# Максимальное количество записей
max-records: 100000
players:
# Удалять неактивных игроков (дни)
inactive-days: 365
# Не удалять игроков с определенными данными
keep-with-data: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ МИГРАЦИИ │
# └─────────────────────────────────────────────────────────────────────────────┘
migrations:
# Автоматически выполнять миграции
auto-migrate: true
# Создавать резервные копии перед миграцией
backup-before-migrate: true
# Версия схемы базы данных
schema-version: 1
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОТЛАДКА │
# └─────────────────────────────────────────────────────────────────────────────┘
debug:
# Логировать SQL запросы
log-queries: false
# Логировать медленные запросы (миллисекунды)
slow-query-threshold: 1000
# Показывать статистику соединений
show-connection-stats: false
# Интервал вывода статистики (секунды)
stats-interval: 300

View file

@ -0,0 +1,286 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Filters Configuration ║
# ║ Конфигурация фильтров ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР ЗАГЛАВНЫХ БУКВ │
# └─────────────────────────────────────────────────────────────────────────────┘
caps:
# Включить фильтр заглавных букв
enabled: true
# Максимальный процент заглавных букв (0-100)
max-percent: 70
# Минимальная длина сообщения для проверки
min-length: 5
# Автоматически переводить в нижний регистр
auto-lowercase: true
# Действие при нарушении: block, warn, lowercase
action: "lowercase"
# Сообщение при блокировке
block-message: "&#FF6B6BСлишком много заглавных букв!"
# Сообщение-предупреждение
warn-message: "&#FFA726Не используйте слишком много заглавных букв"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР РЕКЛАМЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
advertising:
# Включить фильтр рекламы
enabled: true
# Блокировать скрытые URL (bit.ly, tinyurl и т.д.)
block-hidden-urls: true
# Блокировать домены
block-domains: true
# Блокировать IP адреса
block-ips: true
# Действие при обнаружении: block, warn, replace
action: "block"
# Сообщение при блокировке
block-message: "&#FF6B6BРеклама запрещена!"
# Замена для заблокированного контента
replacement: "[РЕКЛАМА УДАЛЕНА]"
# Белый список доменов (разрешенные)
whitelist:
- "youtube.com"
- "youtu.be"
- "discord.gg"
- "twitch.tv"
- "imgur.com"
- "gyazo.com"
- "prntscr.com"
# Черный список доменов (запрещенные)
blacklist:
- "scam-site.com"
- "virus-site.ru"
- "fake-minecraft.net"
# Регулярные выражения для поиска рекламы
patterns:
- "(?i)\\b(?:[0-9]{1,3}\\.){3}[0-9]{1,3}(?::[0-9]{1,5})?\\b" # IP адреса
- "(?i)\\b[a-z0-9.-]+\\.(com|net|org|ru|de|uk)\\b" # Домены
- "(?i)\\b(server|сервер)\\s*[:-]?\\s*[a-z0-9.-]+\\b" # Серверы
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР IP АДРЕСОВ │
# └─────────────────────────────────────────────────────────────────────────────┘
ip:
# Включить фильтр IP адресов
enabled: true
# Блокировать сообщение или заменять IP
block: false
# Замена для IP адресов
replacement: "[IP СКРЫТ]"
# Сообщение при блокировке
block-message: "&#FF6B6BIP адреса запрещены!"
# Белый список IP (разрешенные)
whitelist:
- "127.0.0.1"
- "localhost"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР ПОВТОРОВ │
# └─────────────────────────────────────────────────────────────────────────────┘
repeat:
# Включить фильтр повторяющихся символов
enabled: true
# Максимальное количество повторов подряд
max-repeats: 3
# Действие: block, warn, replace
action: "replace"
# Сообщение при блокировке
block-message: "&#FF6B6BНе повторяйте символы!"
# Автоматически сокращать повторы
auto-reduce: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР СПАМА │
# └─────────────────────────────────────────────────────────────────────────────┘
spam:
# Включить антиспам
enabled: true
# Максимальное количество одинаковых сообщений
max-similar-messages: 3
# Время для сброса счетчика (секунды)
reset-time: 60
# Процент схожести сообщений (0-100)
similarity-threshold: 80
# Действие при спаме: block, warn, mute
action: "warn"
# Сообщение при блокировке
block-message: "&#FF6B6BНе спамьте!"
# Время мута за спам (секунды)
mute-duration: 300
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР МАТА │
# └─────────────────────────────────────────────────────────────────────────────┘
swear:
# Включить фильтр мата
enabled: true
# Использовать внешний файл со словами
use-external-file: true
# Файл со словами (относительно папки плагина)
words-file: "filter-words.json"
# Действие: block, warn, replace, mute
action: "replace"
# Символ для замены
replacement-char: "*"
# Сообщение при блокировке
block-message: "&#FF6B6BМат запрещен!"
# Время мута за мат (секунды)
mute-duration: 600
# Встроенный список слов (если не используется внешний файл)
words:
- "плохое_слово1"
- "плохое_слово2"
# Проверять фрагменты слов
check-fragments: true
# Игнорировать регистр
ignore-case: true
# Проверять транслитерацию
check-transliteration: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР ФЛУДА │
# └─────────────────────────────────────────────────────────────────────────────┘
flood:
# Включить антифлуд
enabled: true
# Максимальное количество сообщений в период
max-messages: 5
# Период времени (секунды)
time-period: 10
# Действие при флуде: block, warn, mute
action: "warn"
# Сообщение при блокировке
block-message: "&#FF6B6BНе флудите!"
# Время мута за флуд (секунды)
mute-duration: 180
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ДОПОЛНИТЕЛЬНЫЕ ФИЛЬТРЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
additional:
# Фильтр эмодзи
emoji:
enabled: false
max-per-message: 5
block-message: "&#FF6B6BСлишком много эмодзи!"
# Фильтр длинных сообщений
length:
enabled: true
max-length: 256
action: "truncate" # truncate или block
block-message: "&#FF6B6BСообщение слишком длинное!"
# Фильтр пустых сообщений
empty:
enabled: true
block-message: "&#FF6B6BПустые сообщения запрещены!"
# Фильтр только пробелов
whitespace:
enabled: true
block-message: "&#FF6B6BСообщение не может состоять только из пробелов!"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ НАСТРОЙКИ ОБХОДА │
# └─────────────────────────────────────────────────────────────────────────────┘
bypass:
# Права для обхода фильтров
permissions:
caps: "lochat.bypass.caps"
advertising: "lochat.bypass.advertising"
ip: "lochat.bypass.ip"
repeat: "lochat.bypass.repeat"
spam: "lochat.bypass.spam"
swear: "lochat.bypass.swear"
flood: "lochat.bypass.flood"
all: "lochat.bypass.filter"
# Группы, которые обходят все фильтры
groups:
- "admin"
- "moderator"
# Миры, где фильтры отключены
worlds:
- "creative_world"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЛОГИРОВАНИЕ │
# └─────────────────────────────────────────────────────────────────────────────┘
logging:
# Логировать заблокированные сообщения
enabled: true
# Файл для логов
file: "plugins/LoChat/logs/filter.log"
# Формат лога
format: "[{time}] {player} ({filter}): {message}"
# Логировать в консоль
console: true
# Уведомлять администраторов
notify-admins: true
# Право для получения уведомлений
notify-permission: "lochat.filter.notify"

View file

@ -0,0 +1,208 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Gradient Configuration ║
# ║ Конфигурация градиентов ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОСНОВНЫЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
gradient:
# Тип хранения данных: file, mysql, sqlite
storage-type: "file"
# Минимальное количество цветов в градиенте
min-colors: 1
# Максимальное количество цветов в градиенте
max-colors: 7
# Стоимость за каждый цвет (PlayerPoints)
price-per-color: 50
# Стоимость префикса
prefix-price: 500
# Одноразовая покупка префикса (true) или за каждое изменение (false)
prefix-one-time-purchase: true
# Максимальная длина префикса
max-prefix-length: 16
# Кулдаун на смену цвета (секунды)
color-cooldown: 60
# Кулдаун на смену префикса (секунды)
prefix-cooldown: 120
# Автоматически применять градиент к нику
auto-apply-gradient: true
# Обновлять отображаемое имя
update-display-name: true
# Обновлять таб-лист
update-tab-list: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ГОТОВЫЕ ПРЕСЕТЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
presets:
fire:
name: "Огонь"
colors: [ "#FF4500", "#FF6347", "#FFD700" ]
permission: "gradient.preset.fire"
price: 100
ocean:
name: "Океан"
colors: [ "#00CED1", "#1E90FF", "#4169E1" ]
permission: "gradient.preset.ocean"
price: 100
forest:
name: "Лес"
colors: [ "#228B22", "#32CD32", "#90EE90" ]
permission: "gradient.preset.forest"
price: 100
sunset:
name: "Закат"
colors: [ "#FF69B4", "#FF1493", "#DC143C" ]
permission: "gradient.preset.sunset"
price: 150
rainbow:
name: "Радуга"
colors: [ "#FF0000", "#FF7F00", "#FFFF00", "#00FF00", "#0000FF", "#4B0082", "#9400D3" ]
permission: "gradient.preset.rainbow"
price: 300
gold:
name: "Золото"
colors: [ "#FFD700", "#FFA500", "#FF8C00" ]
permission: "gradient.preset.gold"
price: 200
silver:
name: "Серебро"
colors: [ "#C0C0C0", "#A9A9A9", "#808080" ]
permission: "gradient.preset.silver"
price: 150
purple:
name: "Фиолетовый"
colors: [ "#9400D3", "#8A2BE2", "#DA70D6" ]
permission: "gradient.preset.purple"
price: 120
ice:
name: "Лёд"
colors: [ "#B0E0E6", "#87CEEB", "#4682B4" ]
permission: "gradient.preset.ice"
price: 120
lava:
name: "Лава"
colors: [ "#DC143C", "#B22222", "#8B0000" ]
permission: "gradient.preset.lava"
price: 150
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ НАСТРОЙКИ БАЗЫ ДАННЫХ │
# └─────────────────────────────────────────────────────────────────────────────┘
database:
mysql:
host: "localhost"
port: 3306
database: "lochat"
username: "root"
password: "password"
table-prefix: "lochat_"
# Настройки пула соединений
pool:
maximum-pool-size: 10
minimum-idle: 5
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
sqlite:
file: "plugins/LoChat/gradient-data.db"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ │
# └─────────────────────────────────────────────────────────────────────────────┘
features:
# Анимированные градиенты
animated-gradients:
enabled: false
speed: 1000 # миллисекунды
# Случайные градиенты
random-gradients:
enabled: true
change-interval: 3600 # секунды (1 час)
# Градиенты в чате
chat-gradients:
enabled: true
apply-to-messages: true
# Градиенты в табе
tab-gradients:
enabled: true
update-interval: 20 # тики
# Сохранение градиентов при выходе
save-on-quit: true
# Восстановление градиентов при входе
restore-on-join: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ПРАВА ДОСТУПА │
# └─────────────────────────────────────────────────────────────────────────────┘
permissions:
# Базовые права
use-gradient: "gradient.use"
use-prefix: "gradient.prefix"
admin: "gradient.admin"
# Обход ограничений
bypass-cooldown: "gradient.bypass.cooldown"
bypass-cost: "gradient.bypass.cost"
bypass-length: "gradient.bypass.length"
# Дополнительные цвета
extra-colors:
"gradient.colors.5": 5
"gradient.colors.10": 10
"gradient.colors.15": 15
"gradient.colors.unlimited": 999
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФОРМАТИРОВАНИЕ │
# └─────────────────────────────────────────────────────────────────────────────┘
formatting:
# Формат ника с градиентом
nick-format: "{gradient}{nick}"
# Формат префикса с градиентом
prefix-format: "{gradient}{prefix}"
# Формат в табе
tab-format: "{prefix} {gradient}{nick}"
# Формат в чате
chat-format: "{prefix} {gradient}{nick}&r: {message}"
# Разделитель между префиксом и ником
separator: " "

View file

@ -0,0 +1,380 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Integrations ║
# ║ Интеграции ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ PLACEHOLDERAPI │
# └─────────────────────────────────────────────────────────────────────────────┘
placeholderapi:
# Включить интеграцию с PlaceholderAPI
enabled: true
# Регистрировать собственные плейсхолдеры
register-placeholders: true
# Доступные плейсхолдеры LoChat:
# %lochat_player_muted% - замучен ли игрок (true/false)
# %lochat_player_mute_time% - оставшееся время мута
# %lochat_player_mute_reason% - причина мута
# %lochat_player_gradient% - градиентный ник
# %lochat_player_prefix% - кастомный префикс
# %lochat_player_ignored_count% - количество игнорируемых игроков
# %lochat_player_messages_sent% - отправлено сообщений
# %lochat_player_last_message% - последнее сообщение
# %lochat_server_muted_count% - количество замученных игроков
# %lochat_server_messages_today% - сообщений сегодня
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ LUCKPERMS │
# └─────────────────────────────────────────────────────────────────────────────┘
luckperms:
# Включить интеграцию с LuckPerms
enabled: true
# Использовать префиксы из LuckPerms
use-prefix: true
# Использовать суффиксы из LuckPerms
use-suffix: true
# Использовать мета-данные из LuckPerms
use-meta: true
# Приоритет групп для форматирования чата
group-priority: true
# Кэшировать данные LuckPerms
cache-data: true
# Время кэширования (секунды)
cache-duration: 300
# Синхронизировать изменения прав
sync-changes: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ VAULT │
# └─────────────────────────────────────────────────────────────────────────────┘
vault:
# Включить интеграцию с Vault
enabled: true
# Использовать Vault для прав
use-permissions: true
# Использовать Vault для экономики
use-economy: true
# Использовать Vault для чата (префиксы/суффиксы)
use-chat: true
# Приоритет Vault над другими системами
priority: 1
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ PLAYERPOINTS │
# └─────────────────────────────────────────────────────────────────────────────┘
playerpoints:
# Включить интеграцию с PlayerPoints
enabled: true
# Использовать поинты для покупки градиентов
use-for-gradients: true
# Использовать поинты для покупки префиксов
use-for-prefixes: true
# Автоматически списывать поинты
auto-deduct: true
# Уведомлять о списании поинтов
notify-deduction: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ LIBERTYBANS │
# └─────────────────────────────────────────────────────────────────────────────┘
libertybans:
# Включить интеграцию с LibertyBans
enabled: false
# Синхронизировать муты с LibertyBans
sync-mutes: true
# Использовать LibertyBans для мутов вместо встроенной системы
use-for-mutes: false
# Импортировать существующие муты из LibertyBans
import-existing: false
# Экспортировать муты в LibertyBans
export-mutes: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ SKINSRESTORER │
# └─────────────────────────────────────────────────────────────────────────────┘
skinsrestorer:
# Включить интеграцию с SkinsRestorer
enabled: true
# Обновлять отображение при смене скина
update-on-skin-change: true
# Использовать скины в head emoji
use-in-head-emoji: true
# Кэшировать данные скинов
cache-skins: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ DISCORDSRV │
# └─────────────────────────────────────────────────────────────────────────────┘
discordsrv:
# Включить интеграцию с DiscordSRV
enabled: false
# Отправлять сообщения чата в Discord
send-chat-to-discord: true
# Отправлять сообщения из Discord в игру
send-discord-to-chat: true
# Канал для глобального чата
global-chat-channel: "global-chat"
# Канал для локального чата
local-chat-channel: "local-chat"
# Канал для объявлений
announcement-channel: "announcements"
# Формат сообщений в Discord
discord-format: "**{player}**: {message}"
# Формат сообщений из Discord
minecraft-format: "&7[Discord] &b{user}&7: {message}"
# Использовать градиентные ники в Discord
use-gradients-in-discord: false
# Webhook для отправки сообщений
webhook:
enabled: false
url: ""
username: "LoChat"
avatar-url: ""
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ DYNMAP │
# └─────────────────────────────────────────────────────────────────────────────┘
dynmap:
# Включить интеграцию с Dynmap
enabled: false
# Отправлять сообщения чата на веб-карту
send-chat-to-web: true
# Отправлять сообщения с веб-карты в игру
send-web-to-chat: true
# Формат сообщений на веб-карте
web-format: "{player}: {message}"
# Формат сообщений с веб-карты
minecraft-format: "&7[Web] &a{player}&7: {message}"
# Использовать градиентные ники на веб-карте
use-gradients-on-web: false
# Фильтровать сообщения для веб-карты
filter-messages: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ BLUEMAP │
# └─────────────────────────────────────────────────────────────────────────────┘
bluemap:
# Включить интеграцию с BlueMap
enabled: false
# Отправлять сообщения чата на карту
send-chat-to-map: true
# Формат сообщений на карте
map-format: "{player}: {message}"
# Использовать градиентные ники на карте
use-gradients-on-map: false
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ PLAN │
# └─────────────────────────────────────────────────────────────────────────────┘
plan:
# Включить интеграцию с Plan
enabled: false
# Отправлять статистику чата в Plan
send-chat-stats: true
# Отправлять статистику мутов в Plan
send-mute-stats: true
# Интервал отправки статистики (секунды)
stats-interval: 300
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ COREPROTECT │
# └─────────────────────────────────────────────────────────────────────────────┘
coreprotect:
# Включить интеграцию с CoreProtect
enabled: false
# Логировать сообщения чата
log-chat-messages: true
# Логировать команды
log-commands: true
# Логировать муты
log-mutes: true
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ AUTHME │
# └─────────────────────────────────────────────────────────────────────────────┘
authme:
# Включить интеграцию с AuthMe
enabled: false
# Блокировать чат для неавторизованных игроков
block-chat-for-unregistered: true
# Сообщение для неавторизованных игроков
unregistered-message: "&#FF6B6BВойдите в аккаунт для использования чата!"
# Разрешенные команды для неавторизованных
allowed-commands:
- "/login"
- "/register"
- "/l"
- "/reg"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ TOWNY │
# └─────────────────────────────────────────────────────────────────────────────┘
towny:
# Включить интеграцию с Towny
enabled: false
# Чат города
town-chat:
enabled: true
format: "&6[Town] {prefix}{player}&r: {message}"
command: "/tc"
# Чат нации
nation-chat:
enabled: true
format: "&5[Nation] {prefix}{player}&r: {message}"
command: "/nc"
# Показывать город в чате
show-town-in-chat: true
# Формат города в чате
town-format: "&7[{town}]"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ FACTIONS │
# └─────────────────────────────────────────────────────────────────────────────┘
factions:
# Включить интеграцию с Factions
enabled: false
# Чат фракции
faction-chat:
enabled: true
format: "&c[Faction] {prefix}{player}&r: {message}"
command: "/fc"
# Чат альянса
alliance-chat:
enabled: true
format: "&a[Alliance] {prefix}{player}&r: {message}"
command: "/ac"
# Показывать фракцию в чате
show-faction-in-chat: true
# Формат фракции в чате
faction-format: "&7[{faction}]"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ MULTIVERSE │
# └─────────────────────────────────────────────────────────────────────────────┘
multiverse:
# Включить интеграцию с Multiverse
enabled: false
# Разделять чат по мирам
separate-chat-by-world: false
# Показывать мир в чате
show-world-in-chat: true
# Формат мира в чате
world-format: "&7[{world}]"
# Настройки чата для конкретных миров
world-settings:
world_nether:
chat-color: "&c"
prefix: "&4[Nether]"
world_the_end:
chat-color: "&5"
prefix: "&d[End]"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОБЩИЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
general:
# Автоматически определять доступные плагины
auto-detect-plugins: true
# Интервал проверки плагинов (секунды)
plugin-check-interval: 60
# Логировать интеграции
log-integrations: true
# Уведомлять о подключении/отключении интеграций
notify-integration-changes: true
# Приоритет интеграций (чем выше число, тем выше приоритет)
integration-priority:
luckperms: 100
vault: 90
placeholderapi: 80
playerpoints: 70
libertybans: 60
skinsrestorer: 50
discordsrv: 40
dynmap: 30
plan: 20
coreprotect: 10

View file

@ -0,0 +1,336 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Mute Configuration ║
# ║ Конфигурация мутов ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОСНОВНЫЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
settings:
# Причина мута по умолчанию
default-reason: "Нарушение правил чата"
# Длительность мута по умолчанию
default-duration: "1h"
# Максимальная длина причины мута
max-reason-length: 100
# Показывать причину мута игроку
show-reason: true
# Показывать оставшееся время мута
show-remaining-time: true
# Автоматически размучивать при истечении времени
auto-unmute: true
# Сохранять историю мутов
save-history: true
# Максимальное количество записей в истории на игрока
max-history-entries: 50
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ДОСТУПНЫЕ ДЛИТЕЛЬНОСТИ │
# └─────────────────────────────────────────────────────────────────────────────┘
durations:
# Формат: "время": "право для использования"
"5m":
permission: "lochat.mute.dur.5m"
display: "5 минут"
"10m":
permission: "lochat.mute.dur.10m"
display: "10 минут"
"30m":
permission: "lochat.mute.dur.30m"
display: "30 минут"
"1h":
permission: "lochat.mute.dur.1h"
display: "1 час"
"3h":
permission: "lochat.mute.dur.3h"
display: "3 часа"
"6h":
permission: "lochat.mute.dur.6h"
display: "6 часов"
"12h":
permission: "lochat.mute.dur.12h"
display: "12 часов"
"1d":
permission: "lochat.mute.dur.1d"
display: "1 день"
"3d":
permission: "lochat.mute.dur.3d"
display: "3 дня"
"7d":
permission: "lochat.mute.dur.7d"
display: "7 дней"
"14d":
permission: "lochat.mute.dur.14d"
display: "14 дней"
"30d":
permission: "lochat.mute.dur.30d"
display: "30 дней"
"perm":
permission: "lochat.mute.dur.perm"
display: "Навсегда"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ГОТОВЫЕ ПРИЧИНЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
reasons:
spam:
text: "Спам в чате"
duration: "30m"
permission: "lochat.mute.reason.spam"
caps:
text: "Злоупотребление заглавными буквами"
duration: "15m"
permission: "lochat.mute.reason.caps"
swear:
text: "Использование нецензурной лексики"
duration: "1h"
permission: "lochat.mute.reason.swear"
flood:
text: "Флуд в чате"
duration: "20m"
permission: "lochat.mute.reason.flood"
advertising:
text: "Реклама"
duration: "3h"
permission: "lochat.mute.reason.advertising"
insult:
text: "Оскорбления игроков"
duration: "2h"
permission: "lochat.mute.reason.insult"
toxicity:
text: "Токсичное поведение"
duration: "6h"
permission: "lochat.mute.reason.toxicity"
politics:
text: "Обсуждение политики"
duration: "1h"
permission: "lochat.mute.reason.politics"
religion:
text: "Религиозные споры"
duration: "1h"
permission: "lochat.mute.reason.religion"
begging:
text: "Попрошайничество"
duration: "30m"
permission: "lochat.mute.reason.begging"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ АВТОМАТИЧЕСКИЕ МУТЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
auto-mute:
# Включить автоматические муты
enabled: true
# Мут за спам
spam:
enabled: true
threshold: 5 # Количество сообщений
time-window: 10 # За какое время (секунды)
duration: "10m"
reason: "Автомут: спам в чате"
# Мут за мат
swear:
enabled: true
threshold: 3 # Количество нарушений
duration: "30m"
reason: "Автомут: использование мата"
# Мут за заглавные буквы
caps:
enabled: true
threshold: 5 # Количество нарушений
duration: "5m"
reason: "Автомут: злоупотребление CAPS"
# Мут за рекламу
advertising:
enabled: true
threshold: 1 # Одно нарушение
duration: "1h"
reason: "Автомут: реклама"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЭСКАЛАЦИЯ НАКАЗАНИЙ │
# └─────────────────────────────────────────────────────────────────────────────┘
escalation:
# Включить эскалацию наказаний
enabled: true
# Период для подсчета нарушений (дни)
period: 30
# Уровни наказаний
levels:
1:
duration: "30m"
reason: "Первое нарушение"
2:
duration: "2h"
reason: "Повторное нарушение"
3:
duration: "12h"
reason: "Третье нарушение"
4:
duration: "3d"
reason: "Четвертое нарушение"
5:
duration: "7d"
reason: "Пятое нарушение"
6:
duration: "perm"
reason: "Систематические нарушения"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ УВЕДОМЛЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
notifications:
# Уведомлять администраторов о мутах
notify-staff: true
# Право для получения уведомлений
staff-permission: "lochat.mute.notify"
# Публичные уведомления о мутах
public-mute: false
# Публичные уведомления о размутах
public-unmute: false
# Скрытые муты (с флагом -s)
silent-mute:
enabled: true
permission: "lochat.mute.silent"
notify-permission: "lochat.mute.see-silent"
# Формат уведомлений
formats:
mute: "&#FF6B6B{moderator} замутил {player} на {duration}. Причина: {reason}"
unmute: "&#6BCB77{moderator} размутил {player}"
silent-mute: "&#FFA726[ТИХО] {moderator} замутил {player} на {duration}. Причина: {reason}"
auto-mute: "&#FF6B6B[АВТО] {player} замучен на {duration}. Причина: {reason}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ИНТЕГРАЦИИ │
# └─────────────────────────────────────────────────────────────────────────────┘
integrations:
# LibertyBans
libertybans:
enabled: false
sync-mutes: true
# AdvancedBan
advancedban:
enabled: false
sync-mutes: true
# LiteBans
litebans:
enabled: false
sync-mutes: true
# Discord уведомления
discord:
enabled: false
webhook-url: ""
format: "**{moderator}** замутил **{player}** на **{duration}**\nПричина: {reason}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ХРАНЕНИЕ ДАННЫХ │
# └─────────────────────────────────────────────────────────────────────────────┘
storage:
# Тип хранения: file, mysql, sqlite
type: "file"
# Настройки MySQL
mysql:
host: "localhost"
port: 3306
database: "lochat"
username: "root"
password: "password"
table-prefix: "lochat_"
# Настройки SQLite
sqlite:
file: "plugins/LoChat/mutes.db"
# Автоматическая очистка старых записей
cleanup:
enabled: true
days: 90 # Удалять записи старше N дней
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ │
# └─────────────────────────────────────────────────────────────────────────────┘
features:
# Временные муты (автоматически снимаются)
temporary-mutes: true
# IP муты (мутить по IP адресу)
ip-mutes:
enabled: false
permission: "lochat.mute.ip"
# Мут команд (блокировать определенные команды)
command-mute:
enabled: false
blocked-commands:
- "me"
- "say"
- "tell"
# Предупреждения перед мутом
warnings:
enabled: true
max-warnings: 3
reset-time: 3600 # Сброс предупреждений (секунды)
# Апелляции на муты
appeals:
enabled: false
command: "/appeal"
permission: "lochat.appeal"

View file

@ -0,0 +1,313 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Sounds Configuration ║
# ║ Конфигурация звуков ║
# ║ Версия: 1.5.5-1.20.1 ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОСНОВНЫЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
settings:
# Включить звуки
enabled: true
# Глобальная громкость (0.0 - 1.0)
global-volume: 0.5
# Глобальная высота тона (0.5 - 2.0)
global-pitch: 1.0
# Разрешить игрокам отключать звуки
allow-disable: true
# Команда для управления звуками
toggle-command: "/sounds"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЗВУКИ СООБЩЕНИЙ │
# └─────────────────────────────────────────────────────────────────────────────┘
messages:
# Личные сообщения
private-message:
enabled: true
sound: "BLOCK_NOTE_BLOCK_PLING"
volume: 0.8
pitch: 1.2
# Играть только получателю
receiver-only: true
# Упоминания в чате
mention:
enabled: true
sound: "BLOCK_NOTE_BLOCK_BELL"
volume: 0.7
pitch: 1.5
# Дополнительный звук для @everyone
everyone-sound: "BLOCK_NOTE_BLOCK_CHIME"
# Глобальный чат
global-chat:
enabled: false
sound: "UI_BUTTON_CLICK"
volume: 0.3
pitch: 1.0
# Локальный чат
local-chat:
enabled: false
sound: "UI_BUTTON_CLICK"
volume: 0.2
pitch: 0.8
# Объявления
announcement:
enabled: true
sound: "BLOCK_NOTE_BLOCK_CHIME"
volume: 1.0
pitch: 1.0
# Дополнительные звуки для важных объявлений
important-sound: "ENTITY_ENDER_DRAGON_GROWL"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЗВУКИ СИСТЕМЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
system:
# Подключение к серверу
join:
enabled: false
sound: "ENTITY_PLAYER_LEVELUP"
volume: 0.5
pitch: 1.0
# Играть только подключившемуся игроку
self-only: true
# Отключение от сервера
quit:
enabled: false
sound: "BLOCK_NOTE_BLOCK_BASS"
volume: 0.3
pitch: 0.8
# Мут игрока
mute:
enabled: true
sound: "BLOCK_ANVIL_LAND"
volume: 0.6
pitch: 0.5
# Играть замученному игроку
target-sound: "ENTITY_VILLAGER_NO"
# Размут игрока
unmute:
enabled: true
sound: "ENTITY_PLAYER_LEVELUP"
volume: 0.7
pitch: 1.2
# Играть размученному игроку
target-sound: "ENTITY_VILLAGER_YES"
# Очистка чата
clear-chat:
enabled: true
sound: "ITEM_BUCKET_EMPTY"
volume: 0.5
pitch: 1.5
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЗВУКИ ГРАДИЕНТОВ │
# └─────────────────────────────────────────────────────────────────────────────┘
gradient:
# Установка градиента
color-set:
enabled: true
sound: "BLOCK_NOTE_BLOCK_HARP"
volume: 0.6
pitch: 1.3
# Сброс градиента
color-reset:
enabled: true
sound: "BLOCK_NOTE_BLOCK_BASS"
volume: 0.4
pitch: 0.7
# Установка префикса
prefix-set:
enabled: true
sound: "BLOCK_NOTE_BLOCK_CHIME"
volume: 0.7
pitch: 1.4
# Ошибка (недостаточно средств, кулдаун и т.д.)
error:
enabled: true
sound: "ENTITY_VILLAGER_NO"
volume: 0.5
pitch: 0.8
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЗВУКИ КОМАНД │
# └─────────────────────────────────────────────────────────────────────────────┘
commands:
# Успешное выполнение команды
success:
enabled: false
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
volume: 0.4
pitch: 1.2
# Ошибка выполнения команды
error:
enabled: true
sound: "ENTITY_VILLAGER_NO"
volume: 0.5
pitch: 0.8
# Недостаточно прав
no-permission:
enabled: true
sound: "BLOCK_NOTE_BLOCK_BASS"
volume: 0.6
pitch: 0.5
# Игрок не найден
player-not-found:
enabled: true
sound: "ENTITY_ITEM_BREAK"
volume: 0.4
pitch: 0.6
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЗВУКИ ФИЛЬТРОВ │
# └─────────────────────────────────────────────────────────────────────────────┘
filters:
# Сообщение заблокировано фильтром
blocked:
enabled: true
sound: "ENTITY_VILLAGER_NO"
volume: 0.6
pitch: 0.7
# Предупреждение от фильтра
warning:
enabled: true
sound: "BLOCK_NOTE_BLOCK_PLING"
volume: 0.5
pitch: 0.9
# Автоматическое исправление (например, caps)
auto-fix:
enabled: false
sound: "UI_BUTTON_CLICK"
volume: 0.3
pitch: 1.1
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ КАСТОМНЫЕ ЗВУКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
custom:
# Звуки для VIP игроков
vip:
enabled: false
join-sound: "ENTITY_PLAYER_LEVELUP"
message-sound: "BLOCK_NOTE_BLOCK_HARP"
volume: 0.8
pitch: 1.3
# Звуки для администраторов
admin:
enabled: false
join-sound: "ENTITY_ENDER_DRAGON_GROWL"
command-sound: "BLOCK_ANVIL_USE"
volume: 0.7
pitch: 1.0
# Праздничные звуки
holiday:
enabled: false
christmas:
sound: "BLOCK_NOTE_BLOCK_CHIME"
volume: 0.6
pitch: 1.5
new-year:
sound: "ENTITY_FIREWORK_ROCKET_BLAST"
volume: 0.8
pitch: 1.2
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЗВУКОВЫЕ СХЕМЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
schemes:
# Классическая схема
classic:
name: "Классическая"
description: "Стандартные звуки Minecraft"
sounds:
private-message: "BLOCK_NOTE_BLOCK_PLING"
mention: "BLOCK_NOTE_BLOCK_BELL"
announcement: "BLOCK_NOTE_BLOCK_CHIME"
# Минималистичная схема
minimal:
name: "Минимальная"
description: "Только важные звуки"
sounds:
private-message: "UI_BUTTON_CLICK"
mention: "BLOCK_NOTE_BLOCK_PLING"
announcement: "ENTITY_EXPERIENCE_ORB_PICKUP"
# Отключенная схема
silent:
name: "Тишина"
description: "Все звуки отключены"
sounds: {}
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ НАСТРОЙКИ ПО МИРАМ │
# └─────────────────────────────────────────────────────────────────────────────┘
worlds:
# Настройки для конкретных миров
world_nether:
volume-modifier: 0.7 # Уменьшить громкость на 30%
pitch-modifier: 0.8 # Понизить тон
world_the_end:
volume-modifier: 0.5
pitch-modifier: 1.2
# Отключить определенные звуки
disabled-sounds:
- "global-chat"
- "local-chat"
creative_world:
volume-modifier: 1.2
# Включить дополнительные звуки
extra-sounds:
build: "BLOCK_STONE_PLACE"
fly: "ENTITY_BAT_TAKEOFF"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ПЕРСОНАЛЬНЫЕ НАСТРОЙКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
personal:
# Разрешить игрокам настраивать громкость
allow-volume-control: true
# Разрешить игрокам выбирать звуковые схемы
allow-scheme-selection: true
# Сохранять настройки игроков
save-preferences: true
# Файл для сохранения настроек
preferences-file: "plugins/LoChat/sound-preferences.yml"