Loom rejected officialMojangMappings() with a non-obfuscated environment error, and Mojang client_mappings are not published for 26.2 yet. Pin Yarn at 26.2+build.3 via the new yarn_mappings property and rewrite the client entrypoint with Yarn names: MinecraftClient, Text, Formatting, inGameHud.getChatHud(), getSession().getUsername().
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.
Для этой версии я использую official Mojang mappings через Loom, потому что стандартный Yarn endpoint для 26.2 на момент правки ещё не отдавал mappings.
Если в 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.