▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/GD656FrontVoice
GD656FrontVoice

GD656FrontVoice

Мод GD656FrontVoice добавляет динамическую озвучку боя на серверах Minecraft: перезарядка, гранаты, убийства, подавление огнём. Работает с TACZ, поддерживает голосовые пакеты CN/US/RU и определяет врагов по ванильным командам или GD656Conquest.

Оцените первым
322.6K
2

GD656FrontVoice - это мод для Майнкрафт, который кардинально меняет атмосферу PvP-сражений на серверах с военными модами вроде TACZ. Если вы когда-нибудь хотели, чтобы перестрелки звучали как в настоящем тактическом шутере - с криками "Граната!", "Перезаряжаюсь!", "Подавление!" - то это именно то, что нужно. Мод анализирует события боя и проигрывает соответствующие голосовые реплики на русском, английском или китайском языке в зависимости от фракции игрока.

Зачем это нужно

В ванильном Майнкрафте нет никакой звуковой обратной связи во время боя, кроме звуков ударов и выстрелов. На серверах с TACZ (Timeless and Classics Zero) перестрелки становятся интенсивными, но игроки часто не замечают, что их подавляют, что рядом упала граната или что союзник погиб. GD656FrontVoice решает эту проблему: вы всегда слышите, что происходит вокруг, даже если не видите противника. Это повышает ситуационную осведомлённость и делает геймплей глубже.

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

  • TACZ 1.1.7-hotfix или новее - настоятельно рекомендуется, большинство триггеров завязано на событиях TACZ.
  • LR Tactical - мягкая совместимость: определяет метаемые гранаты и эффект горения.
  • GD656Conquest - мягкая совместимость: определяет фракцию игрока для выбора голосового пакета.
  • Поддерживается только Minecraft 1.20.1 Forge.

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

Мод разделён на клиентскую и серверную части. Обе стороны должны быть установлены для полной функциональности.

Серверные функции:

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

Клиентские функции:

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

Короче: сервер детектит и запускает все события, клиент отвечает за воспроизведение и троттлинг. Сетевой трафик минимальный - один самодостаточный тип пакета.

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

Все параметры можно менять через экран конфига 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):

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

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

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

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

Мод отслеживает кучу событий и проигрывает соответствующие реплики. Вот полный список:

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

Система коридора подавления

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

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

Обнаружение промахов снарядов

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

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

Для каждого снаряда проверяется пересечение отрезка между предыдущей и текущей позицией с увеличенным bounding box вражеских игроков. Также срабатывает при первом прямом попадании из снайперки или РПГ. Кулдаун - 3 секунды на цель.

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

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

  • Сканирование: каждые 5 тиков сервер проверяет радиус 5 блоков вокруг каждого игрока на наличие ThrowableItemEntity типа 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 автоматически определяет его через рефлексию и использует его API для трёх целей:

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

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

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

Важно знать

  • Мод требует установки и на сервер, и на клиент для полной работы.
  • Находится в активной разработке (версия 0.x), фичи могут меняться.
  • Если вы собираете PvP-сервер с TACZ - это практически must-have. Атмосфера становится намного реалистичнее, а игроки получают важную тактическую информацию через звук.
  • На слабых машинах троттлинг и ограничения помогут избежать лагов звука.

Скачайте мод GD656FrontVoice и превратите свои перестрелки в Майнкрафт в настоящий боевик!

Партнёрский материал

Как поиграть с друзьями с модом GD656FrontVoice?

Мод GD656FrontVoice куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода GD656FrontVoice будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

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

Minecraft: Java Edition

1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Детали

Лицензия:
Опубликован:1 месяц назад
Обновлён:1 месяц назад
Главная