Links
Tags
Creators
Details
1.2.0-neoforge
Compatibility
Required content
Changes
🇷🇺 Russian / Русский
🚀 Обновление 1.2.0: Голосовой ввод, GIF в чате и мультилоадерность
В этом обновлении в чат приходит офлайн-распознавание речи и анимированные GIF, а мод теперь выходит сразу под Fabric и NeoForge для Minecraft 1.21.4 и 26.2!
✨ Что нового (Features)
- 🎙️ Голосовой ввод (Speech-to-Text): Офлайн-распознавание речи через Vosk, без сторонних сервисов.
- Модели по требованию: 30+ языков, скачиваются автоматически. По умолчанию используется
RUSSIAN_SMALL. - Индикатор микрофона: Показывает загрузку, прослушивание, ошибки и уровень громкости в реальном времени.
- Конфиг
voice.json: Модель, задержка и цвета индикатора.
- Модели по требованию: 30+ языков, скачиваются автоматически. По умолчанию используется
- 🎞️ GIF в чате: Поиск, загрузка и анимация GIF прямо в сообщениях. Вставка в формате
:slug:, новый тип сообщенийANIMATED. - ⚰️ События смерти и позиции:
PlayerDeathEventс координатами смерти иSendPosEventпри отправке сообщения. - 🔒 Скрытие паролей: Аргументы
/login,/registerи/changepasswordмаскируются в строке ввода. - 🧩 Мультилоадерность и мультиверсия: Отдельные сборки (1 jar = 1 версия) для Fabric и NeoForge на Minecraft 1.21.4 и 26.2. Общий код вынесен в слой абстракций (
utils.compat).
🔧 Изменения (Changes)
- ⚙️ Новая система конфигов: Cloth Config + Jankson, файлы лежат в
config/ChatManager-Core/. - 🧮 Расширен конфиг
math: Радианы, формат чисел, префикс, свои константы и функции. - 🏗️ Сборка: Убрана зависимость от Architectury.
🛠️ Для разработчиков (API)
MathEngine,ChatQueueManagerиutils.math.*перенесены в пакетmodule.- Провайдеры (
utils.compat.providers): статические обёртки над версионно-зависимым кодом Minecraft. Они немного упрощают жизнь: можно писать код один раз, не думая о том, как та или иная вещь выглядит в 1.21.4 и в 26.2.ComponentSerializerProvider: сериализацияComponentв JSON.ClickEventProviderиHoverEventProvider: работа с клик- и хавер-событиями.ScreenProvider: текущий экран, клики по компонентам, стиль под курсором, отрисовка hover-эффекта.GameProfileProvider: ник и UUID игрока.PacketCompatProvider: синхронизация обработки пакетов с основным потоком.GraphicsProvider: обёртка над графическим контекстом для отрисовки.
- Хендлеры (
utils.compat.handlers): общие обработчики клавиатуры, мыши и добавления сообщений, которые отправляют события вEVENT_BUS. - Новые события:
PlayerDeathEvent,SendPosEventи события модуля голосового ввода (Vosk*Event). VoiceIndicator.render(...)принимает любой графический контекст, так что отрисовку индикатора можно подключить на любой версии.
🐛 Исправления ошибок (Fixes)
- 💬 Обработка пакетов чата: Исправлен вызов
handlePlayerChatиhandleSystemChatвне основного потока.
⚠️ Нативная библиотека для GIF пока доступна только под Windows x64.
🇬🇧 English
🚀 Update 1.2.0: Voice Input, Chat GIFs & Multi-Loader Support
In this update, offline speech recognition and animated GIFs come to the chat, and the mod is now released for both Fabric and NeoForge on Minecraft 1.21.4 and 26.2!
✨ What's New (Features)
- 🎙️ Voice Input (Speech-to-Text): Offline speech recognition powered by Vosk, no third-party services.
- On-demand Models: 30+ languages, downloaded automatically.
RUSSIAN_SMALLis used by default. - Mic Indicator: Shows loading, listening, errors and real-time input volume.
voice.jsonConfig: Model, delay and indicator colors.
- On-demand Models: 30+ languages, downloaded automatically.
- 🎞️ Chat GIFs: Search, download and play animated GIFs right in messages. Use the
:slug:syntax; messages get the newANIMATEDtype. - ⚰️ Death & Position Events:
PlayerDeathEventwith death coordinates andSendPosEventfired when a message is sent. - 🔒 Password Hiding: Arguments of
/login,/registerand/changepasswordare masked in the input box. - 🧩 Multi-Loader & Multi-Version: Separate builds (1 jar = 1 version) for Fabric and NeoForge on Minecraft 1.21.4 and 26.2. Shared code now lives behind an abstraction layer (
utils.compat).
🔧 Changes
- ⚙️ New Config System: Cloth Config + Jankson, files are stored in
config/ChatManager-Core/. - 🧮 Extended
mathConfig: Radians, number format, prefix, custom constants and functions. - 🏗️ Build: Removed the Architectury dependency.
🛠️ For Developers (API)
MathEngine,ChatQueueManagerandutils.math.*moved to themodulepackage.- Providers (
utils.compat.providers): static wrappers over version-dependent Minecraft code. They make writing code a little bit more convenient: write it once without caring how a given thing looks in 1.21.4 vs 26.2.ComponentSerializerProvider: serialize aComponentto JSON.ClickEventProviderandHoverEventProvider: work with click and hover events.ScreenProvider: current screen, component clicks, style under the cursor, hover effect rendering.GameProfileProvider: player name and UUID.PacketCompatProvider: keeps packet handling on the main thread.GraphicsProvider: a wrapper over the graphics context for rendering.
- Handlers (
utils.compat.handlers): shared keyboard, mouse and added-message handlers that dispatch events toEVENT_BUS. - New events:
PlayerDeathEvent,SendPosEventand the voice input module events (Vosk*Event). VoiceIndicator.render(...)accepts any graphics context, so the indicator can be hooked up on any version.
🐛 Bug Fixes
- 💬 Chat Packet Handling: Fixed
handlePlayerChatandhandleSystemChatbeing processed off the main thread.
⚠️ The native GIF library is currently available for Windows x64 only.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:X6czXiqH:j5IFpgFv"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:X6czXiqH:j5IFpgFv"
}

