Перейти к содержимому

GD656FrontVoice

GD656FrontVoice добавляет фракционные боевые голосовые оповещения — перезарядка, гранаты, убийства, предупреждения о подавлении — с голосовыми пакетами CN/US/RU. Работает с TACZ, определяет врагов по ванильной команде.

Forge
Загрузчики
Forge
Скачиваний на Modrinth
709 тыс.
Подписчиков на Modrinth
3
версий
5
Обновлён
29 июля 202629 июл.
Опубликован
в 2026

Коротко о моде

Работает на Forge
Для Minecraft 1.20.1
Нужен и в игре, и на сервере
Последняя версия — 0.0.15-1.20.1-forge от 29 июля 2026
Нужен [TACZ] LesRaisins Tactical Equipements и [TaCZ] Timeless and Classics Zero
Лицензия MIT — бесплатно
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игры1.20.1
Описание переведено автоматическиПоказать оригинал (EN)

Обзор

GD656FrontVoice — это мод для Minecraft, который добавляет динамическую систему боевых голосовых реплик на мультиплеерные серверы. Он воспроизводит фракционные голосовые сигналы — китайские (CN), американские (US) и русские (RU) — срабатывающие при боевых событиях: получение урона, бросок гранаты, перезарядка, убийство врагов, подавление огнём и другое.

Последнее обновление: 25 июля 2026 г. Некоторые функции могут быть не полностью задокументированы или могут измениться.

Совместимость

  • Настоятельно рекомендуется TACZ (Timeless and Classics Zero) 1.1.7-hotfix или новее — большинство триггеров боевых событий зависят от системы событий и API типов оружия TACZ;
  • Мягкая совместимость с LR Tactical — определяет метаемые сущности для предупреждения о гранатах и сигналов при броске, а также эффект огня для обнаружения горения;
  • Мягкая совместимость с GD656Conquest — определяет информацию о фракции/лагере для маршрутизации голосовых пакетов;
  • На данный момент поддерживается только Minecraft 1.20.1 Forge.

Установка на сервер

Этот мод разделён на клиентскую и серверную функциональность. Для полной работы требуется установка на обе стороны.

Функции только для сервера:

ФункцияПримечания
Обнаружение боевых событийСлушает события выстрела, перезарядки, убийства из TACZ и ванильные события урона/смерти
Система коридора подавляющего огняНакапливает стаки подавления, когда пули пролетают рядом с игроком, и запускает голосовые сигналы при достижении порогов
Обнаружение близкого пролёта снарядовОтслеживает снайперские пули и ракеты RPG, предупреждает игроков, когда снаряды пролетают рядом
Сканирование предупреждений о гранатахКаждый тик сканирует ближайшие враждебные метаемые предметы и предупреждает находящихся под угрозой игроков
Опрос пустого боезапасаКаждый тик проверяет состояние боезапаса удерживаемого игроком оружия TACZ
Обнаружение горенияОпределяет, когда игрок горит (ванильный огонь или эффект горючести из LR Tactical)
Обнаружение броска гранатыОпределяет, когда игрок начинает готовить гранату/коктейль Молотова/дымовую шашку
Маршрутизация голоса с учётом лагеряОпределяет, какой голосовой пакет (CN/US/RU) использовать для каждого игрока
Рассылка аудиопакетовОтправляет ClientboundPlayAudioPacket целевым клиентам

Функции только для клиента:

ФункцияПримечания
Воспроизведение голосовых сигналовПринимает пакеты, определяет голосовые сигналы через CueRouter и воспроизводит звуки
Маршрутизация от первого/третьего лицаВоспроизводит локальные (непозиционные) звуки для себя, позиционные звуки для других
Ограничение звукаОграничивает одновременные звуки на игрока и на тип, чтобы предотвратить спам
Система конфигурации и командКлиентские команды /gdfv для отладки и управления конфигурацией
Переопределение перспективы лагеряКлиентское определение союзник/враг может переопределить назначенный сервером голосовой пакет

Короче говоря: сервер обнаруживает и запускает все голосовые события; клиент отвечает за воспроизведение, маршрутизацию и ограничение. Сетевой трафик минимален (единственный самоописывающий тип пакета, ClientboundPlayAudioPacket).

Конфигурация и команды

Все параметры можно настроить через экран конфигурации мода Forge или с помощью игровых команд:

/gdfv debug summary              Показать статистику аудиоманифеста
/gdfv debug list [filter]        Список зарегистрированных звуковых событий
/gdfv debug play local <sound_event> [volume] [pitch]
/gdfv debug play position <sound_event> <pos> [volume] [pitch] [distance]
/gdfv debug play entity <sound_event> <entity> [volume] [pitch] [distance]
/gdfv debug play cue <voice_cue> <camp> <entity> [volume]
/gdfv config reload              Горячая перезагрузка файлов конфигурации

Команды требуют уровень разрешений 2 (оператор сервера). Изменения конфигурации вступают в силу немедленно; поддерживается горячая перезагрузка во время работы через перезагрузку конфигурации на основе рефлексии.

Ключевые параметры конфигурации

Конфигурация сервера (common):

ConfigПо умолчаниюОписание
audio.serverEnabledtrueГлавный переключатель сервера для трансляции звука
audio.serverMasterVolume1.0Глобальный множитель громкости (0.0–4.0)

Клиентский конфиг:

ConfigПо умолчаниюОписание
audio.enabledtrueГлавный переключатель воспроизведения на клиенте
audio.friendlyVoicePackCNГолосовой пак для союзных игроков (когда Conquest не установлен или игнорируется)
audio.enemyVoicePackUSГолосовой пак для вражеских игроков (когда Conquest не установлен или игнорируется)
audio.detectEnemyByVanillaTeamtrueОпределять вражеских игроков через ванильную команду (isAlliedTo), работает без Conquest
audio.ignoreConquestCampfalseИгнорировать назначение лагеря Conquest, использовать конфиг friendly/enemy вместо этого
audio.fallbackThirdPersonForLocaltrueИспользовать 3P-звук, если вариант 1P отсутствует
audio.masterVolume1.0Общая громкость на клиенте (0.0–4.0)
audio.firstPersonVolume1.0Дополнительный множитель громкости для звуков от первого лица (0.0–4.0)
audio.thirdPersonVolume1.0Дополнительный множитель громкости для звуков от третьего лица (0.0–4.0)
audio.maxSimultaneousSingleTpSound2Максимум одновременно играющих 3P-звуков одного типа
audio.maxSimultaneousTpPlayersFriendly3Максимум союзных игроков, одновременно издающих 3P-звуки
audio.maxSimultaneousTpPlayersEnemy3Максимум вражеских игроков, одновременно издающих 3P-звуки
audio.maxThirdPersonDistance48.0Максимальная дистанция слышимости 3P-звуков (блоки)

Возможности

Голосовые реплики по событиям

Следующие голосовые реплики срабатывают от определённых игровых событий на сервере:

Голосовая репликаУсловие срабатыванияВоспроизведение
DEATHИгрок умирает (LivingDeathEvent), не наблюдательСлоями: 1P смерть + SFX себе; 3P реакция на смерть союзника для ближайших товарищей по команде
EXPLOSION_CLOSEИгрок получает урон от взрыва, но выживает (здоровье > 0)1P себе, перезарядка 1 секунда
LOW_HEALTH_PANICЗдоровье игрока падает ниже 5.0 (полсердца × 5)1P себе, срабатывает один раз за эпизод низкого здоровья
HEAVY_HURTИгрок получает урон от пули TACZ (не снайперской, не RPG, не от взрыва), выживает1P себе, перезарядка 10 секунд, подавляется, если в тот же тик срабатывает реплика с более высоким приоритетом
BURNINGИгрок горит (ванильно) или имеет эффект LR Tactical lrtactical:flammableСлоями 1P: крик + пламя + искра, срабатывает один раз за эпизод горения
REQUEST_AMMOУ держимого оружия TACZ игрока ноль патронов в магазине, ноль патронов в стволе и нет подходящих патронов в инвентаре1P себе, срабатывает один раз за эпизод пустого магазина; перепроверяет каждые 1с при пустом, 3с при заряженном
GRENADE_ALERTВраг с гранатой LR Tactical находится в радиусе 5 блоков1P себе, сканирует каждые 5 тиков; исключает свои гранаты
THROW_GRENADEИгрок начинает подготовку взрывной гранаты или коктейля Молотова LR Tactical (удержание ПКМ)3P-трансляция отслеживающим игрокам
THROW_SMOKEИгрок начинает подготовку дымовой гранаты LR Tactical (удержание ПКМ)3P-трансляция отслеживающим игрокам
RELOADINGИгрок перезаряжает оружие TACZ (GunReloadEvent)3P-трансляция отслеживающим игрокам, перезарядка 1 секунда
SUPPRESSED6+ стаков подавления от огня не из пулемёта накапливаются за 1 секунду (см. Suppression Fire Corridor)1P цели, перезарядка 4 секунды
MACHINE_GUN_ALERT6+ стаков подавления от огня пулемёта накапливаются за 1 секунду1P цели, перезарядка 4 секунды
SUPPRESSING_HOSTILEСтрелок накапливает 9+ стаков подавления на врагах за 1 секунду1P стрелку, перезарядка 4 секунды, ограничено 1-секундным разделением агрессивных реплик
SNIPER_ALERTСнайперская пуля пролетает в пределах 5 блоков от игрока, ИЛИ игрок впервые получает попадание от снайпера1P цели, перезарядка 3 секунды
RPG_ALERTРакета RPG пролетает в пределах 10 блоков от игрока, ИЛИ игрок впервые получает попадание от RPG1P цели, перезарядка 3 секунды
KILL_ENEMYИгрок убивает врага из оружия TACZ (не в голову, или рядом нет союзников для nice-shot)1P убийце
NICE_SHOTИгрок совершает убийство в голову, и союзный наблюдатель находится в пределах 5 блоков3P ближайшему союзному наблюдателю
FRIENDLY_FIREИгрок убивает товарища по команде, и союзный наблюдатель находится в пределах 2 блоков3P ближайшему союзному наблюдателю, перезарядка 4 секунды
TEAMMATE_DOWNEDТоварищ по команде убит поблизости3P-трансляция ближайшим союзникам (срабатывает через отложенную смерть GDCQ)

Коридор подавляющего огня

Когда игрок стреляет из оружия TACZ, сервер вычисляет коридор огня — цилиндрический объём, простирающийся на 24 блока вперёд от позиции глаз стрелка с радиусом 1.6 блока вдоль направления взгляда. Каждый враждебный, живой игрок, не находящийся в режиме наблюдателя, внутри этого коридора получает один стак подавления.

  • Стаки подавления на цели истекают через 20 тиков (1 секунду) с момента первого стака
  • 6 стаков: вызывает SUPPRESSED на цели (или MACHINE_GUN_ALERT, если все стаки пришли от пулемёта)
  • 9 стаков: дополнительно вызывает SUPPRESSING_HOSTILE на стрелке
  • Кулдауны предотвращают повторный спам: 4 секунды на цель для suppressed, 4 секунды на стрелка для suppressing hostile, с 1-секундным разделительным гейтом для агрессивного сигнала

Обнаружение близкого пролёта снарядов

Когда спавнятся сущности пуль TACZ (EntityJoinLevelEvent), сервер начинает их отслеживать. Каждый тик отслеживаемые снаряды классифицируются по типу оружия:

  • Снайперские пули (тип оружия sniper): радиус близкого пролёта 5 блоков
  • Ракеты RPG (тип оружия rpg): радиус близкого пролёта 10 блоков

Для каждого снаряда сегмент перемещения между его последней и текущей позицией проверяется на пересечение с хитбоксами ближайших враждебных игроков с помощью пересечения сегмента с расширенным боксом. Обнаружение также срабатывает при первом прямом попадании из снайперской винтовки или RPG. Оба сигнала имеют 3-секундный кулдаун на цель.

Нераспознанные снаряды удаляются после 5 тиков проверки; мёртвые или удалённые снаряды очищаются автоматически.

Оповещение о гранатах и обнаружение броска

  • Сканирование оповещений: Каждые 5 тиков сервер сканирует радиус в 5 блоков вокруг каждого игрока на предмет сущностей ThrowableItemEntity из LR Tactical типа EXPLOSIVE_GRENADE. Свои гранаты исключаются.
  • Обнаружение броска: Каждый тик проверяется, активно ли игрок использует (удерживает правую кнопку мыши) метательный предмет из LR Tactical. Когда игрок начинает подготовку или переключается на другой тип гранаты, срабатывает соответствующий сигнал — THROW_SMOKE для дымовых гранат, THROW_GRENADE для осколочных гранат и коктейлей Молотова.

Режимы воспроизведения звука

Клиент поддерживает три режима воспроизведения:

РежимПоведениеПрименение
LOCALБез позиционирования, плоская громкость (SoundSource.PLAYERS, relative=true)Обратная связь от первого лица (например, урон, смерть, низкое здоровье)
POSITIONСтатичная позиция в мире, затухание по расстояниюЗвуки, привязанные к позиции в мире
ENTITYПривязан к живой сущности, следует за её перемещением каждый тик, останавливается при удалении сущностиЗвуки, привязанные к игроку от третьего лица (например, перезарядка, бросок гранат)

Для воспроизведения от первого лица громкость масштабируется на firstPersonVolume; для третьего лица — на thirdPersonVolume. Если у сигнала нет варианта звука от первого лица, клиент может откатиться к варианту от третьего лица (управляется fallbackThirdPersonForLocal).

Ограничение звуков

Чтобы предотвратить перегрузку звуком в интенсивных перестрелках, клиент применяет троттлинг:

  • Лимит от первого лица на игрока: Одновременно активен только один звук от первого лица, кроме BURNING (собственный список на сигнал) и сигналов с неограниченным приоритетом (DEATH, FINAL_DEATH и все звуки возрождения)
  • Лимит от третьего лица на игрока: У одного игрока не может быть двух активных звуков от третьего лица
  • Лимит от третьего лица на тип: Не более maxSimultaneousSingleTpSound (по умолчанию 2) экземпляров одного типа сигнала глобально
  • Лимит игроков на лагерь: Не более maxSimultaneousTpPlayersFriendly (по умолчанию 3) дружественных и maxSimultaneousTpPlayersEnemy (по умолчанию 3) враждебных игроков, издающих звуки от третьего лица. При достижении лимита самый дальний игрок вытесняется, если новый игрок ближе

Наложение звуков

Некоторые сигналы воспроизводят несколько звуковых слоёв одновременно:

  • DEATH: слой от первого лица fp.death.death + слой SFX fp.death.sfx; реакция союзника от третьего лица через tp.{camp}.death
  • BURNING: три слоя от первого лица — fp.burning.scream + fp.burning.flame + fp.burning.spark

Интеграция с GD656Conquest

Когда на сервере установлен GD656Conquest, GD656FrontVoice автоматически обнаруживает его через reflection и использует его API для трёх целей:

  1. Определение фракции: resolveCamp(player) возвращает фракцию игрока (CN/US/RU) из командной системы Conquest. Назначенный голосовой пак следует за фактической фракцией игрока, а не откатывается к значениям по умолчанию.
  2. Проверка враждебности: isSameCamp(left, right) определяет, принадлежат ли два игрока к одной команде Conquest. Это заменяет ванильную проверку isAlliedTo для враждебности, то есть враждебными для подавления, предупреждения снайпера и предупреждения об RPG считаются только игроки из разных команд Conquest.
  3. Отложка сигнала смерти: shouldDeferDeathCue(player) позволяет Conquest управлять тем, воспроизводится ли голосовой сигнал смерти сразу или откладывается (например, для систем downed/revive).

Без GD656Conquest: все игроки по умолчанию используют голосовой пак CN; враждебность по фракциям откатывается к ванильным проверкам альянса.

На клиенте опция конфига ignoreConquestCamp позволяет игрокам переопределить фракцию, полученную от сервера, и вместо неё использовать свои настройки friendlyVoicePack / enemyVoicePack.


Примечания

  • Для полной функциональности мод требует установки как на клиенте, так и на сервере;
  • Мод находится в активной разработке (0.x); функции могут продолжать развиваться;
  • Часть кода была создана с помощью ИИ-технологий;
  • Лицензировано под MIT License.

Частые вопросы

Как установить GD656FrontVoice?

Установите Forge под свою версию Minecraft, скачайте GD656FrontVoice под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть GD656FrontVoice?

У GD656FrontVoice есть сборки для Minecraft 1.20.1.

Нужен ли GD656FrontVoice на сервере?

Нужен и в игре, и на сервере

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее