Перейти к содержимому

ChatManager-Core

ChatManager-Core — библиотека для работы с чатом Minecraft

FabricNeoForge
Загрузчики
FabricNeoForge
Скачиваний на Modrinth
229
Подписчиков на Modrinth
0
версий
14
Обновлён
9 октября 20269 окт.
Опубликован
в 2026
Это библиотека — она нужна другим модам и сама ничего не добавляет в игруНужна 1 модам. Скачайте её, если этого требует другой мод.

Коротко о моде

Библиотека — нужна другим модам: её требуют 1
Работает на Fabric и NeoForge
Для Minecraft 1.21.4, 26.2
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.2.0-neoforge от 9 октября 2026
Нужен Cloth Config API
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.21.4, 26.2
Описание переведено автоматическиПоказать оригинал (EN)

🇷🇺 Русский

О моде

ChatManager-Core — это библиотека-ядро для полной переработки обработки чата в Minecraft. Мод сам по себе не добавляет готовый визуальный интерфейс — вместо этого он перехватывает всю ванильную обработку чата на сетевом и клиентском уровне и заменяет её собственной архитектурой: каналами, событиями, парсингом сообщений и расширяемым API.

Как это работает технически

Миксины перехватывают пакеты handlePlayerChat и handleSystemChat, а также локально добавленные клиентские сообщения. Стандартная обработка этих пакетов полностью отменяется — вместо этого каждое сообщение оборачивается в единую модель Message (с типами: player, system, client, error, mentioned, animated, custom) и рассылается через шину событий, построенную на MegaEvents — открытой библиотеке событий от Ferra13671. Также перехватывается ввод с клавиатуры, мыши и прокрутка, что необходимо для того, чтобы окна каналов можно было перемещать, изменять в размере и прокручивать независимо от стандартного игрового интерфейса.

Система каналов

  • Сообщения распределяются по настраиваемым каналам на основе regex-шаблонов — например, можно разделить торговый чат, чат клана или системные сообщения на отдельные окна.
  • Каждый канал ведёт свою историю сообщений с настраиваемым лимитом размера.
  • Каналы можно показывать или скрывать через настройки.
  • Доступно полностью программное API для регистрации собственных парсеров сообщений (ChatMessageParser) и обработчиков (MessageHandler), если вы делаете свой мод на основе этого ядра.

Обработка сообщений и удобства

  • Встроенный математический движок (={...}) — вычисляйте математические выражения прямо в поле ввода чата с поддержкой базовых операторов, тригонометрии, факториалов, констант, а также пользовательских констант и функций из конфига. Есть предпросмотр в реальном времени (подсветка корректности цветом), автодополнение Brigadier и мгновенная замена формулы на результат по клавише TAB. В конфиге доступны режим радиан, формат чисел и собственный префикс выражений.
  • История ввода (Undo / Redo) — полноценные стеки отмены и повтора (undoStack и redoStack), обеспечивающие плавную работу горячих клавиш Ctrl+Z и Ctrl+Y в чате.
  • Разбиение сообщений на части (ChatQueueManager) — автоматический обход стандартного ванильного лимита в 256 символов: длинные сообщения аккуратно разбиваются на части и отправляются последовательно с настраиваемой задержкой.
  • Сворачивание повторов — если одно и то же сообщение приходит несколько раз подряд за короткий промежуток, оно не дублируется строка за строкой, а сворачивается в одну строку со счётчиком повторов, например (x5).
  • Определение упоминаний — если в сообщении встречается ваш ник, оно помечается отдельным типом сообщения и сопровождается звуковым уведомлением.
  • Псевдонимы чата — настройте список текстовых замен, которые автоматически подставляются при отправке сообщения (например, сокращения для часто используемых фраз). Псевдонимы можно применять и к командам, а не только к обычным сообщениям.
  • Макросы — отдельная система именованных текстовых заготовок с переключателем включения/выключения и таймером, предназначенная для автоматизации повторяющихся действий в чате.
  • Скрытие паролей — аргументы /login (/l), /register (/reg) и /changepassword (/changepass) маскируются прямо в поле ввода.

🎙️ Голосовой ввод (Speech-to-Text)

Офлайн-распознавание речи на базе Vosk: звук с микрофона обрабатывается локально на вашем компьютере и никогда не отправляется в облако.

  • Поддерживается 30+ языков и множество моделей — от компактных (~30–50 МБ) до больших (до нескольких ГБ). По умолчанию используется небольшая русская модель.
  • Модели скачиваются по требованию и хранятся в папке конфига мода. Загруженная модель кэшируется в памяти и может быть выгружена в любой момент.
  • Индикатор микрофона показывает загрузку, прослушивание, ошибки и громкость ввода в реальном времени. Цвета индикатора настраиваются в конфиге voice.
  • События для разработчиков: отсутствие модели, скачивание модели (успех/неудача), неподдерживаемый микрофон, промежуточные и финальные результаты распознавания.

🎞️ GIF в чате

Анимированные GIF прямо в сообщениях: поиск, тренды, скачивание, конвертация в собственный формат .mcanim и кэширование. Используйте синтаксис :slug: или числовой ID; такие сообщения получают отдельный тип ANIMATED. Поиск GIF работает на базе Klipy. Чтобы не раскрывать API-ключ внутри мода, запросы идут не напрямую в Klipy, а через прокси на Cloudflare Workers (https://core.chatmanager.workers.dev/gifs/), который перенаправляет их в Klipy. Запрос содержит поисковую фразу и идентификатор клиента (customer_id) — SHA-256-хеш, сгенерированный из ника и UUID игрока. Конвертация в .mcanim выполняется нативной библиотекой, которая на данный момент доступна только для Windows x64.

Игровые события

  • PlayerDeathEvent — смерть игрока с координатами (X/Y/Z); удобно, например, для сообщения с координатами вашей смерти.
  • SendPosEvent — позиция игрока в момент отправки сообщения в чат.

AI-стилизация текста

Встроенная интеграция с Groq API (внешним облачным сервисом для инференса LLM). Пользователи могут задать несколько именованных «стилей», каждый со своей моделью, системным промптом и лимитом длины ответа, и использовать их для автоматического перефразирования текста перед отправкой. Для этой функции требуется собственный API-ключ, полученный самостоятельно на сайте Groq и введённый в конфиг.

Вебхуки — пересылка сообщений во внешние сервисы

Мод может отправлять сообщения из чата на внешний HTTP-адрес через POST-запрос — это полезно, например, для пересылки игрового чата в канал Discord через вебхук. Настройка двухуровневая:

  • Глобальный вебхук — единый адрес по умолчанию для всех сообщений.
  • Вебхук для канала — переопределяет глобальный для конкретного канала; если включён, используется вместо глобального вебхука.

  • Каждый вебхук может независимо выбирать формат полезной нагрузки: обычный неформатированный текст или сериализованный текстовый компонент Minecraft (с цветами и стилями, в виде JSON).
  • Любой канал можно полностью исключить из пересылки, независимо от глобальных настроек. Эта функция отключена по умолчанию и требует, чтобы пользователь вручную указал адрес назначения в файле конфигурации — без этого ни одно сообщение никуда не отправляется.

Конфигурация и хранение данных

Настройки работают на Cloth Config и хранятся в удобочитаемых файлах (Jankson / JSON5) в config/ChatManager-Core/, автоматически создаваемых со значениями по умолчанию при первом запуске. Собственный файловый логгер ведёт отдельный лог-файл для диагностики поведения мода.

Для других разработчиков модов

Ядро полностью построено вокруг открытой событийной шины MegaEvents (от Ferra13671): сообщение получено, сообщение добавлено в канал, сообщение сгруппировано, игрока упомянули, видимость канала изменена, ввод с клавиатуры/мыши, клиентские тики, смерть игрока, события голосового ввода — на любое из этих событий можно подписаться из своего мода, чтобы построить собственный визуальный слой поверх ядра, не переписывая логику перехвата чата с нуля. Зависящий от версии код Minecraft скрыт за слоем абстракции utils.compat. Провайдеры (ComponentSerializerProvider, ClickEventProvider, HoverEventProvider, ScreenProvider, GameProfileProvider, PacketCompatProvider, GraphicsProvider) дают статические точки входа, которые делают написание кода немного удобнее: напишите один раз, не заботясь о том, как та или иная вещь выглядит в 1.21.4 по сравнению с 26.2. Общие обработчики клавиатуры, мыши и добавленных сообщений находятся в utils.compat.handlers.

⚠️ Важно перед установкой

  • Это библиотека-ядро без встроенного визуального интерфейса. Сам по себе мод отменяет обработку ванильного чата, но не рисует альтернативный интерфейс — без мода-дополнения, реализующего отрисовку, чат визуально не появится на экране, хотя внутри всё равно обрабатывается.
  • Функции вебхуков и AI-стилизации могут отправлять текст сообщений на внешние серверы/сервисы (указанный пользователем HTTP-адрес и/или Groq API соответственно). Обе функции отключены по умолчанию и требуют явной ручной настройки (адрес, API-ключ) для активации — без этого никакие данные никуда не отправляются.
  • GIF-изображения обращаются к внешнему сервису: запросы идут через прокси core.chatmanager.workers.dev, а затем дальше в Klipy (поисковая фраза и идентификатор, построенный из имени и UUID игрока).
  • Голосовой ввод при первом использовании скачивает библиотеку Vosk (Maven Central) и выбранную языковую модель. Само распознавание речи выполняется локально.
  • Каждый jar рассчитан на одну версию Minecraft и один загрузчик — выбирайте файл для своей версии.

Совместимость

ПараметрЗначение
Minecraft1.21.4 (Java 21+), 26.2 (Java 25+)
ЗагрузчикиFabric, NeoForge
ЗависимостиCloth Config
Формат сборки1 jar = 1 версия Minecraft + 1 загрузчик

💡 Вдохновение

Идеи для некоторых функций взяты из этих модов — спасибо их авторам:


🇷🇺 Русский

О проекте

ChatManager-Core — это библиотека-ядро для полной переработки чата в Minecraft. Мод не добавляет готовый визуальный интерфейс сам по себе, а перехватывает всю обработку ванильного чата на уровне сети и клиента и заменяет её собственной архитектурой: каналами, событиями, парсингом сообщений и расширяемым API.

Как это работает технически

Через миксины перехватываются пакеты handlePlayerChat и handleSystemChat, а также добавление локальных клиентских сообщений. Стандартная обработка этих пакетов полностью отменяется — вместо неё каждое сообщение оборачивается в единую модель Message (с типами: игрок, система, клиент, ошибка, упоминание, анимированное, кастомное) и рассылается через событийную шину на базе MegaEvents — открытой библиотеки событий за авторством Ferra13671. Также перехватываются события клавиатуры, мыши и скролла — это нужно, чтобы окна каналов можно было двигать, изменять размер и прокручивать независимо от стандартного игрового интерфейса.

Система каналов

  • Сообщения распределяются по настраиваемым каналам на основе regex-паттернов — например, можно вынести торговый чат, клановый чат или системные сообщения в отдельные окна.
  • У каждого канала своя история сообщений с ограничением по количеству хранимых записей.
  • Каналы можно скрывать/показывать, менять их видимость через настройки.
  • Полностью программный API для регистрации собственных парсеров сообщений (ChatMessageParser) и обработчиков (MessageHandler), если вы разрабатываете свой мод поверх этого ядра.

Обработка и удобства чата

  • Встроенный математический движок (={...}) — вычисление математических выражений прямо в строке ввода с поддержкой базовых операторов, тригонометрии, факториалов, констант, а также кастомных констант и функций из конфига. Сопровождается реал-тайм превью (зелёная/красная подсветка валидности), умным автокомплитом (Brigadier) и возможностью мгновенной замены формулы на результат по клавише TAB. В конфиге доступны режим радиан, формат чисел и свой префикс выражений.

  • История ввода (Undo / Redo) — полноценные стеки отмены и повтора (undoStack и redoStack) для удобной работы горячих клавиш Ctrl+Z и Ctrl+Y прямо в чате.
  • Чанкование сообщений (ChatQueueManager) — автоматический обход стандартного ванильного лимита в 256 символов: длинные сообщения аккуратно разбиваются на части и отправляются в очередь с настраиваемой задержкой.
  • Сворачивание повторов — если одинаковое сообщение приходит несколько раз подряд в течение короткого промежутка времени, оно не дублируется построчно, а сворачивается в один текст со счётчиком повторов вида (x5).
  • Обнаружение упоминаний — если в сообщении встречается ваш никнейм, оно помечается отдельным типом и сопровождается звуковым сигналом.
  • Алиасы чата — можно настроить список текстовых замен, которые автоматически подставляются при отправке сообщения (например, сокращение часто используемых фраз). Опционально алиасы можно применять и к командам, а не только к обычным сообщениям.
  • Макросы — отдельная система именованных текстовых заготовок с возможностью включения/выключения и таймером, для автоматизации повторяющихся действий в чате.
  • Скрытие паролей — аргументы команд /login (/l), /register (/reg) и /changepassword (/changepass) маскируются прямо в строке ввода.

🎙️ Голосовой ввод (Speech-to-Text)

Офлайн-распознавание речи на базе Vosk: звук с микрофона обрабатывается локально, на вашем компьютере, без отправки в облако.

  • Поддерживается 30+ языков и множество моделей — от компактных (~30–50 МБ) до больших (до нескольких ГБ). По умолчанию используется небольшая русская модель.
  • Модели скачиваются по требованию и хранятся в папке конфигов мода. Загруженная модель кэшируется в памяти, а освободить её можно в любой момент.
  • Индикатор микрофона показывает загрузку, прослушивание, ошибки и уровень громкости в реальном времени. Цвета индикатора настраиваются в конфиге voice.
  • Для разработчиков доступны события: модель отсутствует, загрузка модели (успех/ошибка), микрофон не поддерживается, промежуточный и итоговый результат распознавания.

🎞️ GIF в чате

Анимированные GIF прямо в сообщениях: поиск, тренды, загрузка, конвертация в собственный формат .mcanim и кэширование. Вставляются в формате :slug: или по числовому ID, а такие сообщения получают отдельный тип ANIMATED. Поиск GIF работает через Klipy. Чтобы не раскрывать API-ключ в самом моде, запросы идут не напрямую, а через прокси на Cloudflare Workers (https://core.chatmanager.workers.dev/gifs/), который переадресует их в Klipy. В запросе передаются поисковая фраза и идентификатор клиента (customer_id), представляющий собой хэш SHA-256 из ника и UUID игрока. Конвертация в .mcanim выполняется нативной библиотекой, и сейчас она доступна только под Windows x64.

Игровые события

  • PlayerDeathEvent — смерть игрока с координатами (X/Y/Z), на нём можно построить, например, сообщение с координатами смерти.
  • SendPosEvent — позиция игрока в момент отправки сообщения в чат.

AI-стилизация текста

Встроена интеграция с Groq API (внешний облачный сервис для инференса языковых моделей). Пользователь может создать несколько именованных "стилей" — каждый со своей моделью, системным промптом и ограничением на длину ответа — и использовать их для автоматической обработки/переформулирования текста перед отправкой. Для работы этой функции нужен собственный API-ключ, который пользователь получает самостоятельно на сайте Groq и вписывает в конфиг.

Вебхуки — пересылка сообщений на внешние сервисы

Мод умеет отправлять сообщения чата на внешний HTTP-адрес методом POST — это можно использовать, например, для пересылки игрового чата в Discord-канал через вебхук. Настройка двухуровневая:

  • Глобальный вебхук — единый адрес для всех сообщений по умолчанию.
  • Локальный вебхук канала — переопределяет глобальный для конкретного канала; если он включён, используется вместо глобального.
  • Для каждого вебхука отдельно можно выбрать формат передаваемых данных: обычный текст без форматирования или сериализованный Minecraft-компонент (с цветами и стилями в виде JSON).
  • Любой канал можно полностью исключить из пересылки, независимо от глобальных настроек. Функция выключена по умолчанию и требует, чтобы пользователь сам вручную указал адрес назначения в конфигурационном файле — без этого ни одно сообщение никуда не отправляется.

Конфигурация и хранение данных

Настройки работают на базе Cloth Config и хранятся в человекочитаемых файлах (Jankson / JSON5) в папке config/ChatManager-Core/. Они генерируются автоматически со значениями по умолчанию при первом запуске. Есть собственный файловый логгер, пишущий отдельный лог-файл для диагностики работы мода.

Для разработчиков других модов

Ядро полностью построено вокруг открытой событийной шины MegaEvents (автор — Ferra13671): получение сообщения, добавление в канал, стак повторов, упоминание игрока, изменение видимости канала, ввод с клавиатуры/мыши, тики клиента, смерть игрока, события голосового ввода — на любое из этих событий можно подписаться из своего мода и построить поверх ядра собственный визуальный слой, не переписывая логику перехвата чата с нуля. Версионно-зависимый код Minecraft скрыт за слоем абстракций utils.compat. Провайдеры (ComponentSerializerProvider, ClickEventProvider, HoverEventProvider, ScreenProvider, GameProfileProvider, PacketCompatProvider, GraphicsProvider) дают статические точки доступа, которые немного упрощают код: его можно писать один раз, не задумываясь, как та или иная вещь выглядит в 1.21.4 и в 26.2. Общие обработчики клавиатуры, мыши и добавления сообщений лежат в utils.compat.handlers.

⚠️ Важно перед установкой

  • Это библиотека-ядро без собственного визуального интерфейса. Сам по себе мод отменяет стандартную обработку чата, но не рисует альтернативный интерфейс — если поставить только его без мода-надстройки, реализующего отображение, чат визуально не будет отображаться на экране, хотя технически продолжит обрабатываться.
  • Функции вебхуков и AI-стилизации могут отправлять текст сообщений на внешние сервера/сервисы (пользовательский HTTP-адрес и/или Groq API соответственно). Обе функции отключены по умолчанию и требуют явной ручной настройки (адрес, API-ключ) для активации — без этого никакие данные никуда не отправляются.
  • GIF обращаются к внешнему сервису: запросы уходят на прокси core.chatmanager.workers.dev и далее в Klipy (поисковая фраза и идентификатор из ника и UUID игрока).
  • Голосовой ввод при первом использовании скачивает библиотеку Vosk (Maven Central) и выбранную языковую модель. Само распознавание речи происходит локально.
  • Каждый jar подходит только для одной версии Minecraft и одного загрузчика — выбирайте файл под свою версию.

Совместимость

ПараметрЗначение
Minecraft1.21.4 (Java 21+), 26.2 (Java 25+)
ЗагрузчикиFabric, NeoForge
ЗависимостиCloth Config
Формат сборок1 jar = 1 версия Minecraft + 1 загрузчик

💡 Вдохновение

Идеи для части функций возникли благодаря этим модам — спасибо их авторам:

Частые вопросы

Как установить ChatManager-Core?

Установите Fabric под свою версию Minecraft, скачайте ChatManager-Core под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть ChatManager-Core?

У ChatManager-Core есть сборки для Minecraft 1.21.4, 26.2.

Нужен ли ChatManager-Core на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
GNU General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее