HITWtimer
HITWtimer — это мод для Minecraft, созданный специально для мини-игры «Hole in the Wall» на MCC Island. Он служит точным помощником для расчёта времени ловушек, помогая игрокам улучшить тайминг при прохождении через движущиеся стены. Мод обеспечивает высокоточный тайминг,
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 92
- Подписчиков на Modrinth
- 0
- версии
- 2
- Обновлён
- 15 июля 202615 июл.
- Опубликован
- в 2026
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
HITWtimer
Чисто клиентский мод на Fabric + Kotlin · Minecraft 26.1.2 · Автор KCl · Лицензия CC0-1.0
English documentation: перейти к English Documentation в конце этого файла.
- Описание HUD
- Пример использования: Falling Sand
- overallconfig.txt (глобальная конфигурация)
- Файл traplist (список ловушек)
- Preparation — фаза подготовки
- Формат событий (events)
|------|------| | Субтитры / детект чата | Сопоставление trap через Title/Subtitle Mixin + события чата; можно указать
SUBTITLE/CHAT/BOTHдля каждого trap | | Трёхуровневая конфигурация | overall (глобальная) → значения по умолчанию в шапке traplist → переопределение в отдельном trap | | Несколько списков | Несколькоtraplist*.txt, включаются/отключаются командами во время работы |
Горячая перезагрузка Мгновенно применяется по клавише L или /hitwtimer reload------ ---------- Minecraft ~26.1.2 Fabric Loader ≥ 0.19.2 Fabric API Совместим с 26.1.2 Fabric Language Kotlin Совместим с окружением Java ≥ 25 Поместите собранный
hitwtimer-*.jarв.minecraft/mods/и запустите клиент с Fabric..minecraft/config/hitwtimer/Создаются примеры конфигураций (
overallconfig.txt,traplist1.txtи т.д.).
Убедитесь, что в
config/hitwtimer/overallconfig.txt:enabled=true enabled_lists=traplist1 detect_subtitle=true- Отредактируйте
config/hitwtimer/traplist1.txt, пропишитеpattern=для trap (должен совпадать с реальным текстом субтитров/чата в игре).- В игре нажмите L для горячей перезагрузки (или
/hitwtimer reload).debug=true|--------|------|------|
- При выходе записываются
hud_x/hud_y/hud_scaleвoverallconfig.txt./hitwtimer /hitwtimer list /hitwtimer reload /hitwtimer enable <name> /hitwtimer disable <name> /hitwtimer settings|------|------| |
/hitwtimer| Показать доступные подкоманды | |list| Показать текущие включённые traplist (зелёное имя + серое description) | | `enable| Включить список с именемname(имя файла без.txt, напримерtraplist1) и автоматически перезагрузить | |disable| Отключить этот список и перезагрузить | Файл списка должен существовать вconfig/hitwtimer/.enable/disableменяют набор включённых списков во время работы; для постоянного закрепления изменитеenabled_lists=вoverallconfig.txt`.Описание HUD
falling sand 18.0s ← имя trap + общее оставшееся время sands gonefalling sand 15.0s Preparation ← пройдено: серый, без отсчёта stop falling 10.0s ← текущая фаза: цветной + отсчёт sands gone ← ещё не наступило: серый предпросмотр
- Метка Preparation всегда на английском
Preparationи является первой строкой списка фаз trap (в той же колонке, что и остальные события).- Не пишите строку Preparation вручную в
events=.Настройки внешнего вида (overallconfig)
|----|------|------| |
hud_x/hud_y| 10 / 10 | Позиция в левом верхнем углу (координаты GUI, редактируется клавишей K) | |hud_scale| 1.0 | Масштаб 0.4~4.0 | |render_background| true | Рисовать ли тёмный полупрозрачный фон | |hud_horizontal_padding| 8 | Горизонтальный внутренний отступ фона |
hud_vertical_padding6 Вертикальный внутренний отступ фона Пример использования: Falling Sand
Falling Sand
- Сначала 3 секунды Preparation (подготовка позиции)
- Затем отсчёт 10 секунд до «stop falling»
- Затем ещё 5 секунд до «sands gone»
2. Записать в traplist1.txt
enabled=true description=Classic HITW traps
subtitle_preparation=true preparation_time=3.0 preparation_color=#55FF55 main_color=#FFFFFF source=SUBTITLE match_mode=CONTAINS case_sensitive=false
---------- отдельный trap ----------
name=falling sand enabled=true source=SUBTITLE subtitle_preparation=true main_color=#FFAA00 preparation_time=3.0 preparation_color=#55FF55 start_sound=block.note_block.pling end_sound=block.note_block.bell pattern=falling sand|sand match_mode=CONTAINS case_sensitive=false events= stop falling|10|#FF5500|entity.blaze.shoot sands gone|15|
> В примере выше `stop falling` находится на **10s** после окончания prep, `sands gone` — на **15s** (то есть примерно через 5s после stop falling).
`overallconfig.txt`:
```properties
enabled=true
enabled_lists=traplist1
detect_subtitle=true
subtitle_preparation=true
preparation_time=3.0/hitwtimer reload|------|----------| | t=0 совпадение субтитра | Появляется falling sand, первая строка Preparation 3.0s…, ниже серый предпросмотр двух событий | | t=3 | Preparation заканчивается, играет start_sound, начинается отсчёт stop falling | | t=18 | Достигнуто sands gone, отсчёт завершён, играет end_sound | 3. Проверьте язык/регистр: при case_sensitive=false регистр не учитывается.
4. Убедитесь, что source совпадает с источником детекта (для субтитров — SUBTITLE или BOTH).
6. Если Preparation не нужен
name=falling sand
subtitle_preparation=false
pattern=falling sand
events=
stop falling|10
sands gone|15subtitle_preparation=false на уровне trap имеет строгий приоритет: даже если список/глобальная конфигурация true, у этого trap никогда не будет фазы подготовки.
name=falling sand
source=CHAT
pattern=falling sand
events=
stop falling|10
sands gone|15Источник Chat никогда не вставляет Preparation.
config/hitwtimer/
├── overallconfig.txt # глобальная / на уровне мода
├── traplist1.txt # список 1 (шапка = значения по умолчанию списка + несколько name= trap)
├── traplist2.txt # можно создать свои
└── ...- trapconfig: поля внутри блока
name= - traplistconfig: значения по умолчанию в шапке до первого
name=в этом txt - overallconfig: глобальный откат
Особый случай:subtitle_preparation=falseна уровне trap строго без подготовки, без отката к true из списка/глобальной конфигурации. При разборе имена ключей нечувствительны к регистру, подчёркивания можно опускать (например,preparation_time/preparationtime).
overallconfig.txt (глобальная конфигурация)
# HITWtimer Overall Config
# --- Master ---
enabled=true
enabled_lists=traplist1
# enabled_lists=traplist1,pvp,custom
# --- Detection ---
detect_subtitle=true
detect_chat=true
# --- Preparation defaults(переопределяется list/trap)---
subtitle_preparation=true
preparation_time=3.0
preparation_color=#55FF55
main_color=#FFFFFF
hud_x=10
hud_y=10
hud_scale=1.0
render_background=true
hud_horizontal_padding=8
hud_vertical_padding=6
# --- Behavior ---
auto_reload_keywords=hitw,hole in the wall,游戏开始
# --- Misc ---
debug=false|----|------|------| | enabled | true | Общий выключатель мода | | enabled_lists | traplist1 | Списки, загружаемые при запуске | | detect_subtitle | true | Определять ли субтитры/титры | | detect_chat | true | Определять ли чат | | subtitle_preparation | true | Глобально: включать ли Preparation по умолчанию для субтитров | | preparation_time | 3.0 | Секунды подготовки по умолчанию | | preparation_color | #55FF55 | Цвет фазы подготовки | | main_color | #FFFFFF | Цвет событий по умолчанию | | auto_reload_keywords | … | Зарезервированные ключевые слова (частичная логика) | Цвета поддерживают #RRGGBB или RRGGBB.
Файл traplist (список ловушек)
- Любое имя, например
traplist1.txt,pvp.txt,mytraps.txt - В
enabled_listsили `/hitwtimer enable ` используйте имя без расширения
# ===== traplistconfig: значения по умолчанию в шапке (должны быть до первого name=) =====
enabled=true
description=经典 HITW 列表
subtitle_preparation=true
preparation_time=3.0
...
name=trap_a
pattern=...
events=
...
name=trap_b
pattern=...
events=
...|----|------|
| description | Описание, отображаемое в /hitwtimer list | | subtitle_preparation | Есть ли у trap в этом списке подготовка по умолчанию | | preparation_time / preparation_color | Подготовка по умолчанию для этого списка | | main_color | Основной цвет по умолчанию для этого списка | | start_sound / end_sound | ID звука начала/конца по умолчанию | | source | Источник обнаружения по умолчанию |
match_mode / case_sensitive | Способ сопоставления по умолчанию |
|---|---|
| ------ | ------ |
name= | Уникальный ID, также используется как запасной заголовок HUD |
Необязательные (если не указано — list → overall)
|------|------| | enabled | true/false | | source | SUBTITLE / CHAT / BOTH | | subtitle_preparation | true/false (false = строго без подготовки) | | preparation_time | секунды | | preparation_color | #RRGGBB | | main_color | Цвет событий по умолчанию | | start_sound / end_sound | ID ванильного звука, например block.note_block.pling | | match_mode | CONTAINS / EQUALS / STARTS_WITH / REGEX | | case_sensitive | по умолчанию false |
name=my_trap
pattern=关键词
events=
phase1|5
phase2|10name=your_trap_id
enabled=true
source=SUBTITLE
subtitle_preparation=true
preparation_time=3.0
preparation_color=#55FF55
main_color=#FFFFFF
start_sound=block.note_block.pling
end_sound=block.note_block.bell
pattern=english text|中文关键词
match_mode=CONTAINS
case_sensitive=false
events=
stage one|5.0|#FFAA00|entity.experience_orb.pickup
stage two|12.0|
stage three|20.0|#55FFFF|Сопоставление выполняется в SubtitleDetector: для каждого включённого trap проверяется component.string по его pattern + match_mode + case_sensitive.
pattern
match_mode
|------|------| | CONTAINS (по умолчанию) | Текст содержит pattern | | EQUALS | Полное совпадение | | STARTS_WITH | Начинается с pattern | | REGEX | Регулярное выражение containsMatchIn |
| pattern | mode | Примеры совпадений |
|---|---|---|
falling sand|sand | CONTAINS | Falling Sand!, sand is coming |
Falling Sand | EQUALS | Только полное совпадение (зависит от case_sensitive) |
anvil.*fall | REGEX | Anvil is falling |
source=SUBTITLE: реагирует только на субтитры/заголовкиsource=CHAT: реагирует только на чатsource=BOTH: и то, и другое
Также глобально должны быть включеныdetect_subtitle/detect_chat.
Preparation — этап подготовки
|------|------| | Срабатывание по субтитрам + subtitle_preparation = true | Автоматически вставляется Preparation | | Срабатывание по субтитрам + subtitle_preparation=false на уровне trap | Строго без подготовки | | Длительность / цвет | preparation_time / preparation_color из trap → list → overall | | start_sound | Проигрывается при завершении Preparation и переходе в основной этап | Не пишите строку Preparation в events=.
Формат событий (events)
events=|----|------|------| | Цвет | Нет | #RRGGBB; если не указан — trap main_color → list → overall → белый | | Звук | Нет | ID ванильного звука в стиле namespace:path | Приоритет: указано в событии → trap main_color → значение по умолчанию list → overall main_color → белый.
Включить debug
debug=trueСначала ослабить pattern
/hitwtimer listПосле правки txt нажмите L или
/hitwtimer reload.
# Windows
.\gradlew.bat build -x test
# Linux / macOS
./gradlew build -x testРезультат: build/libs/hitwtimer-*.jar (также есть sources jar, можно игнорировать).
.\gradlew.bat runClientКонфигурация будет записана в рабочей директории run/config/hitwtimer/.
hitwtimer/
├── src/
│ ├── main/ # Точка входа мода, fabric.mod.json, языковые файлы
│ └── client/
│ └── java/.../mixin/ # Mixin для Options / Gui / Title и т.д.
├── README.md
├── build.gradle.kts
└── gradle.properties|------|------| | HITWtimerClient.kt | Инициализация клиента, клавиши, tick | | SubtitleDetector.kt | Сопоставление субтитров/чата и запуск таймера | | ActiveTimer.kt / TimerManager.kt | Продвижение этапов и звуки | | HudRenderer.kt + GuiHudRenderMixin | Данные HUD и отрисовка | | HudEditScreen.kt | Режим редактирования | | ConfigLoader.kt | Разбор конфигурации и генерация шаблонов |
HitwCommands.kt | Команда /hitwtimer |
|---|
В: Не могу найти клавиши в Controls? О: Проверьте pattern, source, enabled, есть ли список в enabled_lists, включён ли detect_subtitle=true, и включите debug=true. В: Preparation не появляется? О: Срабатывание было по чату? Может, subtitle_preparation=false? О: Нужно нажать L или выполнить /hitwtimer reload. enabled_lists=traplist1,pvp или несколько раз enable.
License
Подсказка: при первом запуске создаются config/hitwtimer/ и generated-config-examples/ (если есть) с шаблонами и комментариями. Самый надёжный путь: скопировать пример falling sand → заменить pattern на оригинальный текст субтитров вашего сервера → проверить с debug=true → отключить debug для повседневного использования.
English Documentation
Клиентский мод на Fabric + Kotlin · Minecraft 26.1.2 · Автор KCl · Лицензия CC0-1.0 HITWtimer предназначен для HITW (Hole in the Wall) и похожих мини-игр. Он следит за субтитрами / заголовками и чатом, сопоставляет настраиваемые trap и показывает многоэтапный HUD с обратным отсчётом (опциональный автоэтап Preparation, цвета и звуки).
Этот мод не меняет игровой процесс на сервере. Он только читает текст субтитров/чата на клиенте и рисует HUD. Безопасен для таких серверов, как Hypixel.
Содержание
- Возможности
- Установка и зависимости
- Быстрый старт
- Клавиши
- Команды
- HUD
- Пример: Falling Sand
- Система конфигурации
- overallconfig.txt
- Файлы списков trap
- Написание trap
- Сопоставление
- Preparation
- Формат событий
- Отладка
- Сборка
- FAQ
- License
Возможности {#features-en}
Область Описание Обнаружение субтитров / чата Mixin заголовков/субтитров + события чата; для каждого trap SUBTITLE/CHAT/BOTHМногоэтапные таймеры Каждый trap задаёт этапы; HUD показывает текущий обратный отсчёт и предстоящие этапы Preparation При срабатывании по субтитрам может автоматически вставить английский Preparation первой строкой этапа (никогда для чата) HUD Полупрозрачный фон, раскладка для нескольких trap, цвета Режимы HUD ALWAYS/ON_TRAP/DISABLED(переключение по H; DISABLED = нет HUD, нет обнаружения, нет звука)Прозрачность фона Настраивается; по умолчанию 50%; редактируется в режиме редактирования HUD Редактирование HUD K открывает редактор со свободным курсором: перетаскивание, масштаб колёсиком, прозрачность Shift+колёсико 3 уровня конфигурации overall → значения по умолчанию заголовка traplist → переопределение на уровне trap Несколько списков Несколько traplist*.txt; включение/отключение во время работыГорячая перезагрузка L или /hitwtimer reloadКлавиши Отображаются в Controls → HITWtimer
| i18n | файлы локализации en_us / zh_cn |
|---|
Установка и зависимости {#install-and-dependencies-en}
| Зависимость | Требование |
|---|---|
| Minecraft | ~26.1.2 |
| Fabric Loader | ≥ 0.19.2 |
| Fabric API | Соответствующий 26.1.2 |
| Fabric Language Kotlin | Соответствующий вашему стеку |
| Java | ≥ 25 |
Поместите hitwtimer-*.jar в .minecraft/mods/ и запустите с Fabric. При первом запуске создаётся:
.minecraft/config/hitwtimer/с примерными overallconfig.txt и traplist1.txt.
Быстрый старт {#quick-start-en}
- Установите мод и зайдите в мир.
Проверьте
config/hitwtimer/overallconfig.txt:enabled=true enabled_lists=traplist1 detect_subtitle=true hud_mode=ON_TRAP hud_bg_opacity=0.5- Отредактируйте
traplist1.txt, чтобы каждыйpattern=ловушки совпадал с реальным текстом субтитров/чата. - Нажмите L (или
/hitwtimer reload). - Играйте в HITW; совпавший текст запускает таймер HUD.
- Нажмите K, чтобы переместить/масштабировать/изменить прозрачность HUD; Esc/K для сохранения. Для отладки:
debug=trueКлавиши {#keybinds-en}
Изменяются в Настройки → Управление → Назначения клавиш → HITWtimer.
| По умолчанию | Название | Действие |
|---|---|---|
| H | Переключить режим HUD | ALWAYS → ON_TRAP → DISABLED → … (сохраняется в конфиг) |
| K | Режим редактирования HUD | Перетаскивание для перемещения, прокрутка для масштаба, Shift+прокрутка для прозрачности, M — режим, B — фон, Esc/K — сохранить |
| L | Перезагрузить конфиги | Перезагружает overall + включённые списки; очищает дедупликацию совпадений |
Режимы HUD
| Режим | Поведение |
|---|---|
| ALWAYS | HUD отображается всегда (заглушка, когда нет ловушки) |
| ON_TRAP | HUD только пока активен таймер ловушки (по умолчанию) |
| DISABLED | Нет HUD, нет обнаружения, нет звуков/таймеров |
Режим редактирования HUD
- Требуется открытый экран редактирования, чтобы мышь была свободна (в игре захват курсора не позволяет перетаскивать UI).
- Панель-заглушка появляется во время редактирования, даже если нет ловушки.
- Сохраняет
hud_x,hud_y,hud_scale, прозрачность, режим и т.д. вoverallconfig.txtпри выходе.
Команды {#commands-en}
Клиентские команды:
/hitwtimer
/hitwtimer list
/hitwtimer reload
/hitwtimer enable <name>
/hitwtimer disable <name>
/hitwtimer settings| Команда | Эффект |
|---|---|
/hitwtimer | Список подкоманд |
list | Включённые списки ловушек (название + описание) |
reload | То же, что L |
| `enable ` | Включить файл списка name.txt и перезагрузить |
| `disable ` | Отключить список и перезагрузить |
settings | Простой экран предпросмотра настроек |
Списки должны находиться в config/hitwtimer/. Для постоянного включения также отредактируйте enabled_lists= в overallconfig.txt.
HUD {#hud-en}
Раскладка
falling sand 18.0s
Preparation 3.0s
stop falling
sands goneПосле подготовки:
falling sand 15.0s
Preparation
stop falling 10.0s
sands gone- Метка всегда английская Preparation как первая строка этапа.
- Не добавляйте Preparation в
events=. - Несколько ловушек располагаются вертикально с пустым разделителем.
Ключи внешнего вида (overallconfig)
| Ключ | По умолчанию | Значение |
|---|---|---|
hud_x / hud_y | 10 / 10 | Верхний левый угол (координаты GUI) |
hud_scale | 1.0 | Масштаб 0.4–4.0 |
hud_mode | ON_TRAP | ALWAYS / ON_TRAP / DISABLED |
render_background | true | Рисовать фон панели |
hud_bg_opacity | 0.5 | 0.0–1.0 (по умолчанию 50%) |
hud_horizontal_padding | 8 | Горизонтальный отступ |
hud_vertical_padding | 6 | Вертикальный отступ |
Пример: Falling Sand {#worked-example-falling-sand-en}
Сценарий
Субтитр вроде Falling Sand. Вы хотите:
- 3с Preparation
- Этап на 10с:
stop falling - Этап на 15с:
sands gone(~5с после stop falling)
traplist1.txt
enabled=true
description=Classic HITW traps
subtitle_preparation=true
preparation_time=3.0
preparation_color=#55FF55
main_color=#FFFFFF
source=SUBTITLE
match_mode=CONTAINS
case_sensitive=false
name=falling sand
enabled=true
source=SUBTITLE
subtitle_preparation=true
main_color=#FFAA00
preparation_time=3.0
preparation_color=#55FF55
start_sound=block.note_block.pling
end_sound=block.note_block.bell
pattern=falling sand|sand
match_mode=CONTAINS
case_sensitive=false
events=
stop falling|10|#FF5500|entity.blaze.shoot
sands gone|15|Время событий — это абсолютные смещения в секундах после окончания Preparation (или после срабатывания, если подготовки нет), отсортированные по значению.
stop falling|10затемsands gone|15— верно.sands gone|5отсортировалось бы перед 10.Фрагмент overallconfig
enabled=true enabled_lists=traplist1 detect_subtitle=true subtitle_preparation=true preparation_time=3.0 hud_mode=ON_TRAP hud_bg_opacity=0.5Затем
/hitwtimer reloadили L.Временная шкала (субтитр)
Время HUD t=0 совпадение falling sand+ обратный отсчётPreparationt=3 Подготовка окончена, start_sound, вход вstop fallingt=13 Узел stop fallingt=18 sands gone, конец,end_soundБез подготовки
name=falling sand subtitle_preparation=false pattern=falling sand events= stop falling|10 sands gone|15
subtitle_preparation=falseна уровне ловушки — строгое (игнорирует true из списка/глобального).Только чат (никогда не подготовка)
name=falling sand source=CHAT pattern=falling sand events= stop falling|10 sands gone|15Система конфигов {#config-system-en}
config/hitwtimer/ ├── overallconfig.txt ├── traplist1.txt └── ...Приоритет (высокий → низкий)
- trapconfig — поля внутри блока
name=- traplistconfig — заголовок перед первым
name=- overallconfig — глобальный запасной вариант
Исключение:subtitle_preparation=falseна уровне ловушки — строгое отсутствие подготовки. Ключи нечувствительны к регистру; подчёркивания можно опускать.overallconfig.txt {#overallconfigtxt-en}
enabled=true
enabled_lists=traplist1
detect_subtitle=true
detect_chat=true
subtitle_preparation=true
preparation_time=3.0
preparation_color=#55FF55
main_color=#FFFFFF
hud_x=10
hud_y=10
hud_scale=1.0
hud_mode=ON_TRAP
render_background=true
hud_bg_opacity=0.5
hud_horizontal_padding=8
hud_vertical_padding=6
auto_reload_keywords=hitw,hole in the wall,游戏开始
debug=false| Ключ | По умолчанию | Значение |
|---|---|---|
enabled | true | Главный переключатель |
enabled_lists | traplist1 | Списки для загрузки (без .txt) |
detect_subtitle / detect_chat | true | Источники обнаружения |
subtitle_preparation | true | Подготовка по умолчанию для субтитров |
preparation_time / preparation_color | 3.0 / #55FF55 | Значения подготовки по умолчанию |
main_color | #FFFFFF | Цвет события по умолчанию |
hud_mode | ON_TRAP | ALWAYS / ON_TRAP / DISABLED |
hud_bg_opacity | 0.5 | Альфа фона 0–1 (также принимает % или 0–255) |
debug | false | Подробные логи совпадений + чат |
Цвета: #RRGGBB или RRGGBB.
Файлы списков ловушек {#trap-list-files-en}
- Любое имя:
traplist1.txt,pvp.txt, … - Указывайте без расширения в
enabled_listsили `/hitwtimer enable `.
# traplistconfig header (before first name=)
enabled=true
description=Classic HITW list
...
name=trap_a
pattern=...
events=
...Ключи заголовка: enabled, description, значения по умолчанию для подготовки/цвета/звука/источника/совпадения.
Написание ловушки {#writing-a-trap-en}
Обязательные
| Поле | Значение |
|---|---|
name= | Уникальный id / запасной заголовок HUD |
pattern= | Текст для совпадения (a|b — ИЛИ для не-REGEX) |
events= + ≥1 этап | Список этапов |
Необязательные (иначе список → общие)
enabled, source, subtitle_preparation, preparation_time, preparation_color, main_color, start_sound, end_sound, match_mode, case_sensitive
Минимальный
name=my_trap
pattern=keyword
events=
phase1|5
phase2|10Полный шаблон
name=your_trap_id
enabled=true
source=SUBTITLE
subtitle_preparation=true
preparation_time=3.0
preparation_color=#55FF55
main_color=#FFFFFF
start_sound=block.note_block.pling
end_sound=block.note_block.bell
pattern=english text|other keyword
match_mode=CONTAINS
case_sensitive=false
events=
stage one|5.0|#FFAA00|entity.experience_orb.pickup
stage two|12.0|
stage three|20.0|#55FFFF|Сопоставление {#matching-en}
| Режим | Поведение |
|---|---|
CONTAINS (по умолчанию) | Подстрока |
EQUALS | Полная строка |
STARTS_WITH | Префикс |
REGEX | Регулярное выражение |
| Для не-REGEX `pattern=a | b |
source=SUBTITLE / CHAT / BOTH. Глобальные detect_* должны разрешать источник. Дедупликация предотвращает быстрые повторные срабатывания от одного и того же текста/ловушки.
Подготовка {#preparation-en}
| Правило | Результат |
|---|---|
| Субтитры + подготовка разрешена | Автоматически вставляется Preparation |
У ловушки subtitle_preparation=false | Строго без подготовки |
| Триггер из чата | Никогда не подготавливается |
| Метка HUD | Всегда английское Preparation первой строкой |
start_sound | Играет, когда подготовка заканчивается |
Не добавляйте Preparation в events=.
Формат событий {#events-format-en}
events=
label|offsetSeconds|color(optional)|sound(optional)Смещения — абсолютные секунды после окончания подготовки (или после триггера), отсортированы по возрастанию. Запасной цвет: событие → main_color ловушки → список → общие → белый.
Отладка {#debugging-en}
debug=true, затем L — логи совпадений в консоли.- Сначала ослабьте
pattern+CONTAINS. - Скопируйте реальный текст субтитров с экрана.
/hitwtimer listдля включённых списков.- Всегда перезагружайте после редактирования файлов.
- HUD не отображается: проверьте режим H, позицию K,
enabled/hud_mode.
Сборка {#build-en}
# Windows
.\gradlew.bat build -x test
# Linux / macOS
./gradlew build -x testРезультат: build/libs/hitwtimer-*.jar Разработка: .\gradlew.bat runClient → конфиги в run/config/hitwtimer/.
FAQ {#faq-en}
Клавиши отсутствуют в управлении? Ищите в категории HITWtimer. K ничего не делает / нельзя перетащить? Нужно быть в мире без других экранов; должно появиться жёлтое окно редактирования. Субтитры отображаются, но таймера нет? Проверьте pattern, source, включение списка, detect_subtitle, hud_mode не DISABLED, debug=true. Нет Preparation? Источник — чат? У ловушки subtitle_preparation=false? Глобально/список отключён? Изменения конфига игнорируются? Нажмите L или /hitwtimer reload. Нет звука? Проверьте корректные id звуков vanilla; громкость master/UI включена. Несколько списков? Да: enabled_lists=traplist1,pvp или повторный enable. Не для Minecraft 26.2? Собрано для ~26.1.2. Для 26.2 нужны обновления зависимостей и GUI API (не drop-in).
Лицензия {#license-en}
CC0-1.0 — свободно использовать, изменять и распространять.
Совет: Скопируйте пример с падающим песком → установите pattern на реальный текст субтитров вашего сервера → debug=true, пока не сработает → отключите debug для обычной игры.
Частые вопросы
Как установить HITWtimer?
Установите Fabric под свою версию Minecraft, скачайте HITWtimer под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть HITWtimer?
У HITWtimer есть сборки для Minecraft 26.1.2.
Нужен ли HITWtimer на сервере?
Ставится только в игру; на сервер ставить не нужно