Клиентский мод для Fabric, помогающий модераторам HolyWorld вести проверки игроков.
Это переработанная версия оригинального мода: та же функциональность, но перестроенная архитектура — вместо самодельных DI-контейнера, шины событий и парсера команд используются стандартные средства Fabric и Brigadier.
Рефакторинг выполнен с помощью Claude (Anthropic).
Проверки. Заморозка игрока одной командой, автоматический сбор информации (/dupeip, /checkmute), отправка заготовленных текстов по таймеру, подсветка сообщений проверяемого в чате, автоматическое копирование AnyDesk ID из чата, запись проверки в журнал.
Слежка. Отслеживание местоположения и активности игрока с периодическим обновлением. Плашка на экране показывает текущий статус.
Наказания. Перехват /ban, /mute, /warn и других: мод проверяет ник и аргументы, дописывает ссылку на ВК и тихий флаг, а в сомнительных случаях просит подтверждение — например, если наказание выдаётся игроку, который сейчас на проверке.
Журнал. Загрузка профиля и статистики модератора, отправка результатов проверок.
Интерфейс. Уведомления и перетаскиваемые плашки поверх игры, отрисованные через собственный рендерер на MSDF-шрифтах.
- Установите Fabric Loader для Minecraft 1.21.11.
- Скачайте Fabric API и положите в папку
mods. - Положите туда же
.jarмода.
Опционально: Mod Menu — добавляет кнопку настроек мода в список модов. Без него настройки открываются клавишей и командами.
Настройки открываются клавишей правый Shift (перебиндить можно в управлении, категория HolyModeration) или командой /hm settings.
Что имеет смысл настроить сразу:
- Ссылка на ВК —
/hm setvk <ссылка>. Дописывается к выдаваемым наказаниям. - Токен журнала —
/hm settings apitoken <токен>. Нужен для/hm profile,/hm statsи записи проверок в журнал. Без него мод работает, но журнал недоступен. - Тексты для проверок —
/hm texts add <текст>. Отправляются проверяемому автоматически через 5 секунд после начала проверки.
Конфиг хранится в config/holymoderation.json.
Все команды начинаются с /hm.
| Команда | Описание |
|---|---|
frz <ник>, freezing <ник> |
начать проверку |
unfrz, unfreezing |
завершить проверку |
sendtexts |
отправить заготовленные тексты |
sban <время> [причина] |
забанить проверяемого по пункту 2.4 |
startcheckout, endcheckout |
отметить проверку в журнале |
| Команда | Описание |
|---|---|
spy <ник> |
начать слежку |
spy |
остановить слежку |
spyfrz |
заморозить игрока, за которым идёт слежка |
| Команда | Описание |
|---|---|
profile |
профиль модератора из журнала |
stats |
статистика наказаний |
setvk <ссылка> |
ссылка на ВК для наказаний |
settings |
список настроек |
settings <ключ> [значение] |
изменить настройку |
settings reset <ключ> |
сбросить настройку |
texts add|edit|remove|list|clear |
заготовленные тексты для проверок |
Меняются через /hm settings <ключ> <значение> или в окне настроек (правый Shift).
| Ключ | По умолчанию | Описание |
|---|---|---|
autovanish |
вкл. | ваниш при заходе на сервер и после проверки |
autofly |
выкл. | полёт при заходе на сервер |
autogm3 |
выкл. | режим наблюдателя при заходе, /gm 0 на время проверки |
autogod |
выкл. | god-режим при заходе |
autoha |
выкл. | оповещения HAC при заходе |
autodupeip |
выкл. | /dupeip при сборе информации о проверяемом |
autotp |
выкл. | телепорт на /warp logo в начале проверки |
autospytp |
выкл. | телепорт к игроку при слежке |
autocopy |
выкл. | копирование AnyDesk ID из чата в буфер обмена |
| Ключ | По умолчанию | Описание |
|---|---|---|
copy |
выкл. | кнопка копирования у сообщений |
copytext |
— | текст кнопки копирования |
marker |
— | метка рядом с сообщениями проверяемого |
| Ключ | По умолчанию | Описание |
|---|---|---|
checkouthud |
вкл. | плашка проверки на экране |
checkouthudscale |
100 | масштаб плашки, 60–180 |
spydelay |
— | задержка обновления слежки в секундах, 0–60 |
Положение плашек меняется перетаскиванием в окне настроек.
| Ключ | По умолчанию | Описание |
|---|---|---|
apitoken |
— | токен журнала |
./gradlew buildГотовый .jar окажется в build/libs. Целевые версии указаны в gradle.properties: Minecraft 1.21.11, Fabric Loader 0.19.0, Fabric API 0.141.6.
core/
module/ модули: подписки на события и команды
service/ логика: проверки, слежка, наказания, чат, журнал
command/ команды на Brigadier
fabric/ события: чат, отправка команд, подключение к серверу
settings/ описания настроек, общие для команд и GUI
states/ состояние игрока и модератора
obs/ клиент obs-websocket v5
util/ форматы сообщений HolyWorld
config/ загрузка и сохранение настроек
gui/ плашки, уведомления, виджеты
render/ рендерер на MSDF-шрифтах
mixin/ перехват чата и отправки команд
Каждый модуль подписывается на нужные события и отдаёт свои команды. Сервисы содержат логику и о существовании модулей не знают. Форматы сообщений сервера собраны в HolyWorldPatterns — если HolyWorld поменяет текст сообщения, править нужно только там. Не стал выносить в онлайн-формат.
All Rights Reserved.