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.
This commit is contained in:
loki5512344 2026-04-01 16:09:15 +02:00
parent d1d2b93742
commit 2d79d2a91d
260 changed files with 4808 additions and 3847 deletions

View file

@ -1,133 +1,226 @@
# ╔══════════════════════════════════════════════════════════════════════════════╗
# ║ LoChat Messages ║
# ║ Сообщения плагина LoChat ║
# ║ Версия: 1.5.5-1.20.1 ║
# ║ Цветовая гамма: Spacelegacy ║
# ║ #B798A8 (роза) → #7858E9 (фиолет) ║
# ╚══════════════════════════════════════════════════════════════════════════════╝
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОСНОВНЫЕ СООБЩЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
# Роли цветов:
# &#B798A8 — основной текст / лейблы (пыльная роза, светлый)
# &#9878C9 — акцент / разделители (средний фиолет)
# &#7858E9 — важные данные / значения (насыщенный фиолет, тёмный)
# &f / #E8E0F0 — белый текст сообщений
# &#CF6679 — ошибки (приглушённый красный, вписывается в гамму)
# Префикс плагина
prefix: "<gradient:#00D4FF:#0099CC>[LoChat]</gradient>"
prefix: "&#B798A8[&#9878C9L&#8B6BD6o&#7858E9C&#8565DCh&#8B6BD6a&#9878C9t&#B798A8]"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ГЛОБАЛЬНЫЙ ЧАТ │
# └─────────────────────────────────────────────────────────────────────────────┘
global:
disabled: "<gradient:#FF6B6B:#FF4757>Глобальный чат отключен</gradient>"
toggled-on: "<gradient:#6BCB77:#4ECDC4>Глобальный чат включен</gradient>"
toggled-off: "<gradient:#FF6B6B:#FF4757>Глобальный чат отключен</gradient>"
toggled-on: "&#9878C9Глобальный чат &#7858E9включён"
toggled-off: "&#9878C9Глобальный чат &#B798A8отключён"
disabled: "&#CF6679Глобальный чат отключён на этом сервере"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЛОКАЛЬНЫЙ ЧАТ │
# └─────────────────────────────────────────────────────────────────────────────┘
local:
no-players: "<gradient:#FFA726:#FF9800>Рядом нет игроков</gradient>"
no-players: "&#B798A8Рядом нет игроков"
nobody-heard: "&#9878C9Вас никто не услышал &#B798A8— рядом нет игроков"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ЛИЧНЫЕ СООБЩЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
pm:
# Форматы личных сообщений
# {sender} - ник отправителя, {receiver} - ник получателя
# {sender_display} - отправитель с градиентом, {receiver_display} - получатель с градиентом
# {message} - текст сообщения
format-sent: "<gray>[PM]</gray> <gradient:#87CEEB:#4682B4>Ты</gradient> <gray>→</gray> {receiver_display}<gray>:</gray> {message}"
format-received: "<gray>[PM]</gray> {sender_display} <gray>→</gray> <gradient:#87CEEB:#4682B4>Ты</gradient><gray>:</gray> {message}"
# Использовать градиентные ники в PM
format-sent: "&#B798A8[&#9878C9→&#B798A8] &#9878C9Вы &#B798A8→ {receiver_display}&#B798A8: &f{message}"
format-received: "&#B798A8[&#9878C9←&#B798A8] {sender_display} &#B798A8→ &#9878C9Вы&#B798A8: &f{message}"
use-gradient-names: true
# Старые форматы (для совместимости)
sent: "<gray>[PM]</gray> <gradient:#87CEEB:#4682B4>Ты</gradient> <gray>→</gray> <white>{player}</white><gray>:</gray> {message}"
received: "<gray>[PM]</gray> <white>{player}</white> <gray>→</gray> <gradient:#87CEEB:#4682B4>Ты</gradient><gray>:</gray> {message}"
# Ошибки PM
no-reply: "<gradient:#FF6B6B:#FF4757>Некому ответить</gradient>"
ignored: "<gradient:#FF6B6B:#FF4757>Этот игрок вас игнорирует</gradient>"
player-offline: "<gradient:#FF6B6B:#FF4757>Игрок не в сети</gradient>"
self: "<gradient:#FF6B6B:#FF4757>Нельзя писать самому себе</gradient>"
sent: "&#B798A8[&#9878C9→&#B798A8] &#9878C9Вы &#B798A8→ &f{player}&#B798A8: &f{message}"
received: "&#B798A8[&#9878C9←&#B798A8] &f{player} &#B798A8→ &#9878C9Вы&#B798A8: &f{message}"
no-reply: "&#CF6679Некому ответить"
ignored: "&#CF6679Этот игрок вас игнорирует"
player-offline: "&#CF6679Игрок не в сети"
self: "&#CF6679Нельзя писать самому себе"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ИГНОРИРОВАНИЕ │
# └─────────────────────────────────────────────────────────────────────────────┘
ignore:
added: "<gradient:#6BCB77:#4ECDC4>Игрок {player} добавлен в игнор</gradient>"
removed: "<gradient:#6BCB77:#4ECDC4>Игрок {player} убран из игнора</gradient>"
already-ignored: "<gradient:#FFA726:#FF9800>Игрок уже в игноре</gradient>"
not-ignored: "<gradient:#FFA726:#FF9800>Игрок не в игноре</gradient>"
self: "<gradient:#FF6B6B:#FF4757>Нельзя игнорировать себя</gradient>"
added: "&#9878C9Игрок &#7858E9{player} &#9878C9добавлен в игнор"
removed: "&#9878C9Игрок &#7858E9{player} &#9878C9убран из игнора"
already-ignored: "&#B798A8Игрок &#7858E9{player} &#B798A8уже в игноре"
not-ignored: "&#B798A8Игрок &#7858E9{player} &#B798A8не в игноре"
self: "&#CF6679Нельзя игнорировать самого себя"
list-empty: "&#B798A8Ваш список игнора пуст"
list-header: "&#7858E9▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
list-footer: "&#B798A8Всего: &#7858E9{count} &#B798A8игроков"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОБЪЯВЛЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
announce:
reloaded: "<gradient:#6BCB77:#4ECDC4>Конфигурация перезагружена</gradient>"
reloaded: "&#9878C9Конфигурация &#7858E9перезагружена"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ШПИОН РЕЖИМ │
# └─────────────────────────────────────────────────────────────────────────────┘
spy:
enabled: "<gradient:#6BCB77:#4ECDC4>Шпион режим включен</gradient>"
disabled: "<gradient:#FF6B6B:#FF4757>Шпион режим выключен</gradient>"
format: "<gray>[SPY]</gray> <gradient:#FFD700:#FFA500>{sender}</gradient> <gray>→</gray> <gradient:#87CEEB:#4682B4>{receiver}</gradient><gray>:</gray> <white>{message}</white>"
chat-format: "<gray>[SPY]</gray> <gradient:#FFA726:#FF9800>{type}</gradient> <gradient:#00FF88:#00CC66>{sender}</gradient><gray>:</gray> <white>{message}</white>"
enabled: "&#9878C9Режим шпиона &#7858E9включён"
disabled: "&#9878C9Режим шпиона &#B798A8отключён"
format: "&#B798A8[&#9878C9SPY&#B798A8] &#7858E9{sender} &#B798A8→ &#9878C9{receiver}&#B798A8: &f{message}"
chat-format: "&#B798A8[&#9878C9SPY&#B798A8] &#B798A8{type} &#7858E9{sender}&#B798A8: &f{message}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ФИЛЬТР МАТА │
# │ ФИЛЬТРЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
filter:
blocked: "<gradient:#FF6B6B:#FF4757>Сообщение заблокировано (недопустимые слова)</gradient>"
warning: "<gradient:#FFA726:#FF9800>Предупреждение: не используйте недопустимые слова!</gradient>"
blocked: "&#CF6679Сообщение заблокировано"
warning: "&#B798A8Предупреждение"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ КУЛДАУНЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
cooldown:
wait: "<gradient:#FFA726:#FF9800>Подождите {time} сек перед следующим сообщением</gradient>"
wait: "&#B798A8Подождите &#7858E9{time} &#B798A8сек"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ АНТИ-СПАМ │
# └─────────────────────────────────────────────────────────────────────────────┘
antispam:
caps: "<gradient:#FF6B6B:#FF4757>Слишком много заглавных букв!</gradient>"
repeat: "<gradient:#FF6B6B:#FF4757>Не повторяйте символы!</gradient>"
similar: "<gradient:#FF6B6B:#FF4757>Не отправляйте одинаковые сообщения!</gradient>"
caps: "&#CF6679Не кричите в чате"
repeat: "&#CF6679Не повторяйте символы"
similar: "&#CF6679Не отправляйте одинаковые сообщения"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОЧИСТКА ЧАТА │
# └─────────────────────────────────────────────────────────────────────────────┘
clearchat:
cleared: "<gradient:#6BCB77:#4ECDC4>Чат очищен администратором {player}</gradient>"
cleared: "&#9878C9Чат очищен &#B798A8администратором &#7858E9{player}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОШИБКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
errors:
no-permission: "<gradient:#FF6B6B:#FF4757>Нет прав!</gradient>"
player-not-found: "<gradient:#FF6B6B:#FF4757>Игрок не найден</gradient>"
invalid-usage: "<gradient:#FFA726:#FF9800>Использование: {usage}</gradient>"
no-permission: "&#CF6679Нет прав"
player-not-found: "&#CF6679Игрок не найден"
invalid-usage: "&#B798A8Использование: &#7858E9{usage}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ОБЩИЕ СООБЩЕНИЯ │
# └─────────────────────────────────────────────────────────────────────────────┘
general:
no-permission: "&#CF6679У вас нет прав!"
players-only: "&#CF6679Только для игроков!"
config-reloaded: "&#9878C9Конфиг &#7858E9перезагружен!"
invalid-player: "&#CF6679Игрок &#7858E9{player} &#CF6679не найден!"
cooldown-active: "&#B798A8Подождите &#7858E9{time}с"
command-disabled: "&#CF6679Команда отключена!"
hub:
connecting: "&#9878C9Подключение к &#7858E9{server}&#9878C9..."
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ СИСТЕМА МУТОВ │
# └─────────────────────────────────────────────────────────────────────────────┘
mute:
muted: "<gradient:#6BCB77:#4ECDC4>Игрок {player} замучен на {time}</gradient>"
unmuted: "<gradient:#6BCB77:#4ECDC4>Игрок {player} размучен</gradient>"
already-muted: "<gradient:#FFA726:#FF9800>Игрок уже замучен</gradient>"
not-muted: "<gradient:#FFA726:#FF9800>Игрок не замучен</gradient>"
you-muted: "<gradient:#FF6B6B:#FF4757>Вы замучены! Осталось: {time}</gradient>"
permanent: "<gradient:#FF6B6B:#FF4757>Вы замучены навсегда!</gradient>"
muted: "&#9878C9Игрок &#7858E9{player} &#9878C9замучен на &#7858E9{time}"
unmuted: "&#9878C9Игрок &#7858E9{player} &#9878C9размучен"
already-muted: "&#B798A8Игрок &#7858E9{player} &#B798A8уже замучен"
not-muted: "&#B798A8Игрок &#7858E9{player} &#B798A8не замучен"
you-muted: "&#CF6679Вы замучены! &#B798A8Осталось: &#7858E9{time}"
permanent: "&#CF6679Вы замучены навсегда!"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ГРАДИЕНТНЫЕ НИКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
gradient:
color-set: "&#9878C9Градиент &#7858E9установлен!"
color-enabled: "&#9878C9Градиентный ник &#7858E9включён"
color-disabled: "&#B798A8Градиентный ник &#9878C9отключён"
color-reset: "&#B798A8Градиент сброшен"
prefix-set: "&#9878C9Префикс &#7858E9установлен!"
prefix-reset: "&#B798A8Префикс сброшен"
prefix-reset-success: "&#9878C9Префикс успешно &#7858E9сброшен!"
prefix-enabled: "&#9878C9Префикс &#7858E9включён"
prefix-disabled: "&#B798A8Префикс &#9878C9отключён"
invalid-hex: "&#CF6679Неверный HEX цвет: &#7858E9{color}"
invalid-color: "&#CF6679Неверный цвет: &#7858E9{color}"
too-many-colors: "&#CF6679Слишком много цветов! Максимум: &#7858E9{max}"
too-few-colors: "&#CF6679Слишком мало цветов! Минимум: &#7858E9{min}"
not-enough-colors: "&#CF6679Слишком мало цветов! Минимум: &#7858E9{min}"
cooldown: "&#B798A8Подождите &#7858E9{time} &#B798A8сек"
not-enough-points: "&#CF6679Недостаточно поинтов! Нужно: &#7858E9{price}"
not-enough-points-color: "&#CF6679Недостаточно поинтов! Нужно: &#7858E9{price}"
not-enough-points-prefix: "&#CF6679Недостаточно поинтов! Нужно: &#7858E9{price}"
player-not-found: "&#CF6679Игрок не найден"
color-help: "&#B798A8Использование: &#7858E9/color <HEX1> <HEX2>"
color-success: "&#9878C9Градиент успешно &#7858E9установлен!"
color-no-colors: "&#B798A8У вас нет установленных цветов"
color-copy-usage: "&#B798A8Использование: &#7858E9/color copy <игрок>"
color-copy-no-colors: "&#B798A8У игрока &#7858E9{player} &#B798A8нет цветов"
prefix-help: "&#B798A8Использование: &#7858E9/prefix <текст> &#B798A8или &#7858E9/prefix reset"
prefix-success: "&#9878C9Префикс установлен! &#B798A8Стоимость: &#7858E9{price} &#B798A8поинтов"
prefix-success-free: "&#9878C9Префикс &#7858E9установлен!"
prefix-no-prefix: "&#B798A8У вас нет префикса"
prefix-too-long: "&#CF6679Префикс слишком длинный! Максимум: &#7858E9{max}"
prefix-no-colors: "&#CF6679Префикс не может содержать цветовые коды!"
prefix-invalid-chars: "&#CF6679Недопустимые символы в префиксе!"
prefix-blacklisted: "&#CF6679Этот префикс запрещён!"
only-player: "&#CF6679Только для игроков!"
no-permission: "&#CF6679Нет прав!"
reload-success: "&#9878C9Конфигурация &#7858E9перезагружена!"
info-header: "&#7858E9▬▬▬▬▬▬▬▬ &#B798A8{player} &#7858E9▬▬▬▬▬▬▬▬"
info-prefix: "&#B798A8Префикс: &f{prefix}"
info-prefix-enabled: "&#B798A8Префикс активен: &f{enabled}"
info-colors: "&#B798A8Цвета: &f{colors}"
info-color-enabled: "&#B798A8Цвет активен: &f{enabled}"
info-prefix-purchased: "&#B798A8Куплен: &f{purchased}"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ КАСТОМНЫЕ НИКИ │
# └─────────────────────────────────────────────────────────────────────────────┘
nick:
current: "&#B798A8Ваш ник: &#7858E9{nick}"
usage: "&#B798A8Использование: &#7858E9/nick <ник> &#B798A8или &#7858E9/nick reset"
reset-usage: "&#B798A8Используйте &#7858E9/nick reset &#B798A8для сброса"
set-usage: "&#B798A8Используйте &#7858E9/nick <ник> &#B798A8для установки"
no-nick: "&#B798A8У вас нет кастомного ника"
reset-success: "&#9878C9Ник &#7858E9сброшен!"
set-success: "&#9878C9Ник изменён на: &f{nick}"
invalid: "&#CF6679Невалидный ник!"
requirements-header: "&#B798A8Требования:"
requirements-length: "&#9878C9◆ &fДлина: 3-16 символов"
requirements-chars: "&#9878C9◆ &fБуквы, цифры, _, русские буквы"
requirements-colors: "&#9878C9◆ &fЦвета: &#7858E9&#RRGGBB&#B798A8текст"
taken: "&#CF6679Этот ник уже занят!"
error: "&#CF6679Не удалось установить ник!"
# ┌─────────────────────────────────────────────────────────────────────────────┐
# │ ROLEPLAY КОМАНДЫ │
# └─────────────────────────────────────────────────────────────────────────────┘
rp:
me: "<color:#B798A8>* {player} {action}</color>"
try-format: "<color:#B798A8>* {player} пытается {action}...</color> {result}"
try-success: "<color:#9878C9><bold>[Успех!]</bold></color>"
try-fail: "<color:#CF6679><bold>[Провал!]</bold></color>"
do-format: "<color:#7858E9>[<color:#B798A8>Сцена</color>]</color> <white>{description}</white> <color:#9878C9>({player})</color>"
roll-format: "<color:#B798A8>* {player} бросает кубик и получает </color><color:#7858E9><bold>{result}</bold></color><color:#B798A8> из </color><color:#9878C9>{max}</color>"
roll-min-error: "<color:#CF6679>Минимальное значение кубика: 2</color>"
roll-max-error: "<color:#CF6679>Максимальное значение: 1000000</color>"
roll-invalid-number: "<color:#CF6679>Укажите число: /roll [максимум]</color>"