No description
Find a file
2025-12-30 21:19:39 +01:00
.gitea/workflows Fix: use token for git clone 2025-12-29 15:19:18 +01:00
gradle/wrapper Initial commit: LoChat v1.0.0 with Gradient module 2025-12-29 14:57:49 +01:00
src feat: add mute/unmute commands with MuteManager 2025-12-30 21:19:07 +01:00
.gitignore Initial commit: LoChat v1.0.0 with Gradient module 2025-12-29 14:57:49 +01:00
build.gradle Переделал фильтр чата: слова теперь в JSON, добавлен поиск по фрагментам, улучшена защита от обхода фильтра 2025-12-30 20:55:46 +01:00
gradle.properties v1.5.0: Добавлены кастомные команды, алиасы, цвета чата, многоядерная сборка 2025-12-30 12:29:39 +01:00
gradlew Initial commit: LoChat v1.0.0 with Gradient module 2025-12-29 14:57:49 +01:00
gradlew.bat Initial commit: LoChat v1.0.0 with Gradient module 2025-12-29 14:57:49 +01:00
README.md Исправлены баги: zip file closed в кастомных командах, рандомные цвета в GUI, обновлена версия до 1.5.4, добавлена инструкция по кастомным командам в README 2025-12-30 20:40:09 +01:00
settings.gradle Initial commit: LoChat v1.0.0 with Gradient module 2025-12-29 14:57:49 +01:00
TODO.md docs: update TODO.md with completed features 2025-12-30 21:19:39 +01:00

LoChat

Продвинутый чат-плагин для Minecraft Folia 1.21.8 с интегрированным модулем градиентных ников.

Автор: loki


Установка

  1. Скачай LoChat-1.0.0.jar из build/libs/
  2. Положи в папку plugins/ сервера
  3. Перезапусти сервер

Функционал

Чат

  • Глобальный чат (!сообщение или /g)
  • Локальный чат (радиус 100 блоков)
  • Личные сообщения (/msg, /reply)
  • Система игнорирования
  • Автосообщения (многострочные, с порядком)
  • Смайлики (200+ эмодзи)

Модерация

  • Мут система (/mute, /unmute)
  • Фильтр мата (censor/block/warn)
  • Анти-спам (CAPS, повторы, похожие сообщения)
  • Кулдауны на сообщения
  • Шпион режим (/chatspy)
  • Очистка чата (/clearchat)

Градиентные ники (интегрированный LoPreff)

  • Кастомные градиенты на ник (/color)
  • Кастомные префиксы (/prefix)
  • Интеграция с LuckPerms
  • Покупка за PlayerPoints (опционально)
  • GUI подтверждения

Команды

Чат

Команда Описание Право
!сообщение Глобальный чат chat.global.use
/g <msg> Глобальный чат chat.global.use
/globalchat toggle Вкл/выкл глобальный chat.global.toggle
/l <msg> Локальный чат chat.local.use
/msg <ник> <msg> Личное сообщение chat.pm.use
/reply <msg> Ответить chat.pm.use
/ignore <ник> Игнорировать chat.pm.ignore
/unignore <ник> Убрать из игнора chat.pm.ignore
/announce <msg> Объявление chat.announce.use

Модерация

Команда Описание Право
/chatspy Шпион режим chat.spy
/clearchat Очистить чат chat.clear
/mute <ник> <время> Замутить chat.mute
/unmute <ник> Размутить chat.mute

Градиенты

Команда Описание Право
/color <hex1> [hex2]... Установить градиент gradient.color
/color on/off/reset Управление цветом gradient.color
/color copy <ник> Скопировать цвет gradient.color
/prefix <текст> Установить префикс gradient.prefix
/prefix on/off/reset Управление префиксом gradient.prefix
/aprefix reload Перезагрузка gradient.admin
/aprefix info <ник> Инфо об игроке gradient.admin
/aprefix setcolor <ник> <цвета> Установить цвет gradient.admin
/aprefix setprefix <ник> <текст> Установить префикс gradient.admin

Права

Чат

Право По умолчанию
chat.global.use true
chat.global.toggle true
chat.global.color op
chat.local.use true
chat.local.color op
chat.pm.use true
chat.pm.ignore true
chat.mention.use true

Модерация

Право По умолчанию
chat.announce.use op
chat.spy op
chat.clear op
chat.mute op
chat.bypass.cooldown op
chat.bypass.filter op
chat.bypass.antispam op

Градиенты

Право По умолчанию
gradient.color true
gradient.prefix true
gradient.admin op
gradient.bypass.cooldown op
gradient.bypass.cost op

PlaceholderAPI

%lochat_muted%           — замучен (true/false)
%lochat_mute_time%       — оставшееся время мута
%lochat_mute_reason%     — причина мута
%lochat_ignored_count%   — кол-во игнорируемых
%lochat_global_enabled%  — глобальный чат включен
%lochat_spy_enabled%     — шпион режим включен

# Градиенты
%lochat_gradient_full%   — полное имя (префикс + ник)
%lochat_gradient_name%   — только градиентный ник
%lochat_gradient_prefix% — только префикс
%lochat_full%            — алиас для gradient_full
%lochat_name%            — алиас для gradient_name
%lochat_prefix%          — алиас для gradient_prefix

Конфигурационные файлы

  • config.yml — основные настройки чата
  • messages.yml — сообщения чата
  • automessages.yml — автосообщения
  • emojis.yml — смайлики
  • custom-commands.yml — кастомные команды
  • gradient-config.yml — настройки градиентов
  • gradient-messages.yml — сообщения градиентов
  • ignores.yml — сохранённые игноры
  • mutes.yml — активные муты
  • gradient-data.yml — данные градиентов (или SQLite)

Кастомные команды

LoChat позволяет создавать собственные команды через файл custom-commands.yml. После создания команды выполните /lochat reload для применения изменений.

Структура команды

command-name:
  permission: "lochat.command.name"  # Право для использования (опционально)
  message: "Текст сообщения"         # Сообщение которое отправится
  aliases: ["alias1", "alias2"]      # Алиасы команды (опционально)
  type: "chat"                       # Тип: chat, broadcast, title, actionbar
  target: "sender"                   # Кому отправить: sender, all, permission:право

Типы команд

  • chat — отправляет сообщение в чат
  • broadcast — отправляет сообщение всем игрокам
  • title — показывает title (первая строка — заголовок, вторая — подзаголовок, разделяются \n)
  • actionbar — показывает сообщение в actionbar

Целевая аудитория (target)

  • sender — только отправителю команды
  • all — всем игрокам на сервере
  • permission:право — только игрокам с указанным правом (например: permission:lochat.admin)

Плейсхолдеры

В сообщениях можно использовать следующие плейсхолдеры:

  • {player} — имя игрока
  • {x}, {y}, {z} — координаты игрока
  • {world} — название мира
  • {arg0}, {arg1}, {arg2} — аргументы команды (нумерация с 0)
  • {args} — все аргументы через пробел

Также поддерживаются плейсхолдеры PlaceholderAPI (если установлен).

Примеры

Простая команда помощи

help:
  message: "<gold>Добро пожаловать на сервер!</gold>\n<gray>Используйте /rules для просмотра правил</gray>"
  aliases: ["помощь", "хелп"]
  type: "chat"
  target: "sender"

Команда с координатами

coords:
  message: "Ваши координаты: <green>{x}</green>, <green>{y}</green>, <green>{z}</green> в мире <yellow>{world}</yellow>"
  aliases: ["координаты", "pos"]
  type: "actionbar"
  target: "sender"

Команда для админов (broadcast)

restart-warning:
  permission: "lochat.admin"
  message: "<red><bold>ВНИМАНИЕ!</bold></red> <yellow>Сервер будет перезагружен через 5 минут!</yellow>"
  aliases: ["рестарт", "reboot"]
  type: "broadcast"
  target: "all"

Команда с title

welcome:
  message: "<gold>Добро пожаловать!</gold>\n<gray>Наслаждайтесь игрой!</gray>"
  aliases: ["привет"]
  type: "title"
  target: "sender"

Команда только для VIP

vip-info:
  permission: "lochat.vip"
  message: "<gold>VIP информация:</gold>\n<yellow>Вы имеете доступ к специальным командам!</yellow>"
  type: "chat"
  target: "permission:lochat.vip"

Форматирование цветов

В сообщениях можно использовать:

  • MiniMessage теги: <red>, <bold>, <#FF0000>
  • Legacy коды: &a, &l, &c
  • HEX цвета: #FF0000 (автоматически конвертируется)

Важные замечания

  1. После изменения custom-commands.yml выполните /lochat reload
  2. Имена команд должны быть уникальными
  3. Если команда уже существует в Minecraft/Bukkit, она будет перезаписана
  4. Для title используйте \n для разделения заголовка и подзаголовка
  5. PlaceholderAPI плейсхолдеры работают только если установлен PlaceholderAPI

Форматирование цветов

MiniMessage

<red>Красный</red>
<gradient:red:blue>Градиент</gradient>

HEX цвета

&#FF0000Красный
&#3BA8FFГолубой

Legacy коды

&aЗелёный
&lЖирный

Требования

  • Folia 1.21.8+ / Paper 1.21+
  • Java 21

Опционально:

  • PlaceholderAPI — для плейсхолдеров
  • PlayerPoints — для покупки градиентов
  • LuckPerms — для префиксов в табе

Сборка

./gradlew build

Jar файл: build/libs/LoChat-1.0.0.jar