In 26.2 Mojang dropped the getChat() wrapper on Gui in favour of the public 'chat' field, and com.mojang.authlib.GameProfile is now a record so its getter is name() rather than getName(). Reflect both changes in the IRC chat dispatcher.
Client IRC Chat
Клиентский Fabric-мод, который перехватывает сообщения вида .irc <текст> и отправляет их на отдельный TCP IRC-подобный сервер.
Формат сообщения в чате клиента:
НАЗВАНИЕ-КЛИЕНТА >> Ник-игрока: сообщение
Пример:
MY-CLIENT >> Arkon: Привет
Что входит
- клиентский Fabric-мод;
- команда
.irc <сообщение>через обычный чат Minecraft; - служебные команды
.irc status,.irc reconnect,.irc reload; - пример простого IRC-сервера на Node.js без внешних зависимостей;
/.drone.ymlдля сборки через Drone CI.
Целевая версия
Сборка переведена на:
- Minecraft
26.2 - Fabric Loader
0.19.3 - Fabric API
0.152.2+26.2 - Fabric Loom
1.17-SNAPSHOT - Java
25
Дата релиза Minecraft 26.2: 2026-06-16.
Начиная с 26.1 Mojang перестал обфусцировать клиент, а Yarn и Intermediary перестали публиковаться после 1.21.11. Поэтому в build.gradle нет блока mappings вообще: исходники Minecraft уже в человекочитаемых именах Mojang, и Loom собирает мод напрямую против них.
Если в CI стоит старый Loom вроде 1.10.5, сборка 26.2 упадёт с ошибкой Unsupported class file major version 69. Для 26.2 нужен новый Loom из актуальной ветки Fabric.
Команды в игре
.irc Привет- отправить сообщение на IRC-сервер.irc status- показать состояние подключения.irc reconnect- переподключиться к IRC-серверу.irc reload- перечитать конфиг из файла
Конфиг клиента
После первого запуска мод создаст:
config/clientirc.json
Пример:
{
"host": "127.0.0.1",
"port": 24469,
"clientName": "MY-CLIENT",
"token": "",
"autoConnect": true,
"connectTimeoutMs": 5000
}
Поля:
host- адрес IRC-сервераport- порт IRC-сервераclientName- то самоеНАЗВАНИЕ-КЛИЕНТАtoken- общий токен, если хочешь ограничить подключениеautoConnect- подключаться автоматически при старте клиента
Как поднять сервер для IRC-чата
В репозитории уже есть пример сервера: server/irc-server.js
1. Установи Node.js
Нужен Node.js 20+.
2. Настрой сервер
Файл конфига: server/config.json
Пример:
{
"host": "0.0.0.0",
"port": 24469,
"token": "secret-token"
}
Если укажешь token, такой же токен нужно прописать в config/clientirc.json на клиентах.
3. Запусти сервер
cd server
node irc-server.js
4. Открой порт
Если сервер не локальный, открой TCP-порт 24469 в фаерволе и пробрось его на роутере/VPS.
5. Подключи клиентов
На каждом клиенте укажи:
host- IP или домен сервераport- тот же портclientName- имя клиентаtoken- если используется
После этого в игре можно писать:
.irc Привет
И все подключенные клиенты увидят:
[IRC] MY-CLIENT >> Arkon: Привет
Сборка мода
Для локальной сборки нужен Gradle 9+ и Java 25.
gradle build
Артефакт будет в:
build/libs/
Drone CI
Файл пайплайна: /.drone.yml
Он делает:
- запуск Docker pipeline;
gradle clean build;- вывод содержимого
build/libs.
Для работы Drone runner должен иметь доступ в интернет, чтобы скачать зависимости Gradle/Fabric.