15 KiB
LoChat
Advanced chat plugin for Paper/Folia servers
Продвинутый чат плагин для Paper/Folia серверов
🇬🇧 English
Overview
LoChat is a powerful Minecraft chat plugin for Paper 1.21+ and Folia servers. It features gradient nicknames, advanced moderation, flexible configuration, Discord integration, and extensive API.
Features
Chat System
- Global chat — cross-server player communication
- Local chat — radius-based proximity chat
- Private messages — PM system with reply support
- Ignore system — block unwanted players
- Mentions —
@player,@everyone,@here,@role - Hover/Click events — interactive messages
- Custom join/quit/death messages with weapon name
Gradient Nicknames & Prefixes
- Custom gradient colors (up to 7 colors)
- Built-in presets (fire, ocean, rainbow, etc.)
- Custom prefixes and suffixes
- LuckPerms integration (gradient prefixes/suffixes)
- PlayerPoints purchase system
- Cooldowns and limits
Moderation
- Mute system with history
- Ban system with duration and reason
- Warn system
- Temporary and permanent punishments
- Silent mutes
- Punishment escalation
Chat Filters
- Swear filter with bypass protection (x→x, o→o, etc.)
- Anti-spam and anti-flood
- CAPS filter
- URL and IP filter
- Hidden link filter (discord.gg, bit.ly, etc.)
- Repeated character filter
- Configurable bad words list
RP Commands
/me— third-person actions/do— action descriptions/try— chance-based actions/roll— dice roll- Configurable radius and cooldowns
Sound Effects
- PM and mention sounds
- Mute/unmute sounds
- Gradient sounds
- Command sounds
- Per-player sound settings
Discord Integration
- Webhook message relay
- Join/quit/death events
- Custom formats and colors
- Player avatars
- Message filtering
Quick Start
Installation
- Download the latest release
- Place the JAR in
plugins/ - Restart the server
- Configure in
plugins/LoChat/
Building from Source
git clone https://github.com/loki5512344/LoChat.git
cd LoChat
./gradlew build
# JAR will be in build/libs/
Local Test Server
./gradlew runServer
Uses run-paper — downloads Paper 1.21.4, builds the plugin, and places it in run/plugins/.
Dependencies
Required: Java 21+, Paper 1.21.1+ or Folia
Optional: PlaceholderAPI, LuckPerms, PlayerPoints, LibertyBans, SkinsRestorer
Commands
Chat
| Command | Description |
|---|---|
/g <message> |
Global chat |
/l <message> |
Local chat |
/msg <player> <message> |
Private message |
/reply <message> |
Reply to PM |
/ignore <player> |
Ignore player |
/unignore <player> |
Unignore player |
/ignorelist |
List ignored players |
Gradients
| Command | Description |
|---|---|
/color <hex1> [hex2] ... |
Set gradient |
/prefix <text> |
Set prefix |
/aprefix <command> |
Admin gradient commands |
Moderation
| Command | Description |
|---|---|
/lmute <player> [time] [-s] [reason] |
Mute player |
/lunmute <player> [-s] |
Unmute player |
/lban <player> [time] [reason] |
Ban player |
/lunban <player> |
Unban player |
/lwarn <player> [reason] |
Warn player |
/lmutelist |
List mutes |
/lmutehistory <player> |
Mute history |
RP
| Command | Description |
|---|---|
/me <action> |
Third-person action |
/do <description> |
Action description |
/try <attempt> |
Chance attempt |
/roll [number] |
Dice roll |
Admin
| Command | Description |
|---|---|
/lochat reload |
Reload config |
/clearchat |
Clear chat |
/chatspy |
Spy mode |
/announce <message> |
Announcement |
Time Formats
s— seconds (30s= 30 seconds)m— minutes (15m= 15 minutes)h— hours (2h= 2 hours)d— days (7d= 7 days)permor0— permanent
Placeholders
Chat: {player}, {player_prefix}, {player_suffix}, {message}, {emoji}, {prefix}, {separator}
Hover: {player}, {world}, {ping}, {gamemode}, {health}, {food}
Death: {player}, {killer}, {weapon}, {death_message}
Permissions
Gradients
gradient.color— access to/colorgradient.prefix— access to/prefixgradient.bypass.cost— free usagegradient.bypass.cooldown— bypass cooldowngradient.admin— admin commands
Chat
lochat.chat.colors— colored messageslochat.chat.global— global chatlochat.chat.local— local chatlochat.pm— private messages
Moderation
lochat.mute— mute playerslochat.mute.silent— silent muteslochat.ban— ban playerslochat.warn— warn players
Filter Bypass
lochat.bypass.swear— bypass swear filterlochat.bypass.spam— bypass anti-spamlochat.bypass.flood— bypass anti-floodlochat.bypass.caps— bypass CAPS filterlochat.bypass.urlfilter— bypass URL filterlochat.bypass.cooldown— bypass cooldown
API
// Get ServiceRegistry
ServiceRegistry registry = plugin.getServiceRegistry();
// Send global message
ChatService chatService = registry.get(ChatService.class);
chatService.sendGlobalMessage(player, "Hello!");
// Create custom filter
public class MyFilter implements MessageFilter {
@Override
public FilterResult filter(Player player, String message) {
if (message.contains("badword")) {
return FilterResult.blocked("Message blocked");
}
return FilterResult.ok(message);
}
}
Known Issues
- Gradients may not display correctly on clients < 1.16
- Some filters may block legitimate messages (configurable in
config/filters.yml)
License
GNU General Public License v3.0
🇷🇺 Русский
Обзор
LoChat — это мощный чат-плагин для Minecraft Paper 1.21+ и Folia серверов. Включает градиентные ники, продвинутую модерацию, гибкую конфигурацию, Discord интеграцию и обширный API.
Основные возможности
Система чата
- Глобальный чат — общение между всеми игроками
- Локальный чат — общение в радиусе
- Личные сообщения — PM система с ответами
- Игнорирование — блокировка нежелательных игроков
- Упоминания —
@player,@everyone,@here,@role - Hover/Click события — интерактивные сообщения
- Кастомные сообщения входа/выхода/смерти с названием оружия
Градиентные ники и префиксы
- Кастомные градиентные цвета (до 7 цветов)
- Готовые пресеты (огонь, океан, радуга и т.д.)
- Кастомные префиксы и суффиксы
- Интеграция с LuckPerms (префиксы и суффиксы с градиентом)
- Система покупки через PlayerPoints
- Кулдауны и ограничения
Модерация
- Мут система с историей
- Бан система с временем и причиной
- Варны (предупреждения)
- Временные и постоянные наказания
- Скрытые муты (silent)
- Эскалация наказаний
Фильтры чата
- Фильтр мата с защитой от обхода (х→x, о→o и т.д.)
- Антиспам и антифлуд
- CAPS фильтр
- URL и IP фильтр
- Фильтр скрытых ссылок (discord.gg, bit.ly и т.д.)
- Фильтр повторяющихся символов
- Настраиваемый список запрещённых слов
RP команды
/me— действия от третьего лица/do— описание действий/try— попытка действия с шансом/roll— бросок кубика- Настраиваемый радиус и кулдауны
Звуковые эффекты
- Звуки для PM и упоминаний
- Звуки для мутов/размутов
- Звуки для градиентов
- Звуки для команд
- Персональные настройки звуков
Discord интеграция
- Webhook для отправки сообщений
- События входа/выхода/смерти
- Кастомные форматы и цвета
- Аватары игроков
- Фильтрация сообщений
Быстрый старт
Установка
- Скачайте последнюю версию из Releases
- Поместите JAR в папку
plugins/ - Перезапустите сервер
- Настройте конфиги в
plugins/LoChat/
Сборка из исходников
git clone https://github.com/loki5512344/LoChat.git
cd LoChat
./gradlew build
# Jar файл будет в build/libs/
Локальный тестовый сервер
./gradlew runServer
Использует run-paper — скачивает Paper 1.21.4, собирает плагин и помещает его в run/plugins/.
Зависимости
Обязательные: Java 21+, Paper 1.21.1+ или Folia
Опциональные: PlaceholderAPI, LuckPerms, PlayerPoints, LibertyBans, SkinsRestorer
Команды
Чат
| Команда | Описание |
|---|---|
/g <сообщение> |
Глобальный чат |
/l <сообщение> |
Локальный чат |
/msg <игрок> <сообщение> |
Личное сообщение |
/reply <сообщение> |
Ответить на ЛС |
/ignore <игрок> |
Игнорировать игрока |
/unignore <игрок> |
Разигнорировать |
/ignorelist |
Список игнорируемых |
Градиенты
| Команда | Описание |
|---|---|
/color <hex1> [hex2] ... |
Установить градиент |
/prefix <текст> |
Установить префикс |
/aprefix <команда> |
Админские команды градиентов |
Модерация
| Команда | Описание |
|---|---|
/lmute <игрок> [время] [-s] [причина] |
Замутить |
/lunmute <игрок> [-s] |
Размутить |
/lban <игрок> [время] [причина] |
Забанить |
/lunban <игрок> |
Разбанить |
/lwarn <игрок> [причина] |
Выдать варн |
/lmutelist |
Список мутов |
/lmutehistory <игрок> |
История мутов |
RP
| Команда | Описание |
|---|---|
/me <действие> |
Действие от 3-го лица |
/do <описание> |
Описание действия |
/try <попытка> |
Попытка с шансом |
/roll [число] |
Бросок кубика |
Админские
| Команда | Описание |
|---|---|
/lochat reload |
Перезагрузить конфиг |
/clearchat |
Очистить чат |
/chatspy |
Режим шпиона |
/announce <сообщение> |
Объявление |
Форматы времени
s— секунды (30s= 30 секунд)m— минуты (15m= 15 минут)h— часы (2h= 2 часа)d— дни (7d= 7 дней)permили0— навсегда
Плейсхолдеры
Чат: {player}, {player_prefix}, {player_suffix}, {message}, {emoji}, {prefix}, {separator}
Hover: {player}, {world}, {ping}, {gamemode}, {health}, {food}
Смерть: {player}, {killer}, {weapon}, {death_message}
Пермишены
Градиенты
gradient.color— доступ к/colorgradient.prefix— доступ к/prefixgradient.bypass.cost— бесплатное использованиеgradient.bypass.cooldown— обход кулдаунаgradient.admin— админские команды
Чат
lochat.chat.colors— цветные сообщенияlochat.chat.global— глобальный чатlochat.chat.local— локальный чатlochat.pm— личные сообщения
Модерация
lochat.mute— мутить игроковlochat.mute.silent— скрытые мутыlochat.ban— банить игроковlochat.warn— выдавать варны
Обход фильтров
lochat.bypass.swear— обход мат-фильтраlochat.bypass.spam— обход антиспамаlochat.bypass.flood— обход антифлудаlochat.bypass.caps— обход CAPS фильтраlochat.bypass.urlfilter— обход URL фильтраlochat.bypass.cooldown— обход кулдауна
API
// Получить ServiceRegistry
ServiceRegistry registry = plugin.getServiceRegistry();
// Отправить глобальное сообщение
ChatService chatService = registry.get(ChatService.class);
chatService.sendGlobalMessage(player, "Привет!");
// Создание кастомного фильтра
public class MyFilter implements MessageFilter {
@Override
public FilterResult filter(Player player, String message) {
if (message.contains("запрещено")) {
return FilterResult.blocked("Сообщение заблокировано");
}
return FilterResult.ok(message);
}
}
Известные проблемы
- Градиенты могут некорректно отображаться в старых версиях клиента (< 1.16)
- Некоторые фильтры могут блокировать легитимные сообщения (настраивается в
config/filters.yml)
Лицензия
GNU General Public License v3.0
Project Statistics | Статистика проекта
| Metric | Value |
|---|---|
| Version | 1.5.5 |
| Java files | 150+ |
| Commands | 30+ |
| Config files | 10+ |