SashegDev 31d7753471 feat(voiddeath): muffled death in the void, local message only
Одиннадцатый этап, последний из задуманных.

Сообщение о смерти в пустоте не уходит в общий чат: забирается через
deathMessage(null) и отправляется только тем, кто в радиусе 100 блоков от места
смерти. Текст сообщения при этом тот же самый, что и обычно.

Убийство кого-то отдельным обработчиком ловить не пришлось: «X убит Y» — это
то же самое событие PlayerDeathEvent, что и «X умер». Различаются они только
текстом, который и так передаётся как есть.

Крик визера: громкость 0.2, дальность доставки 150 блоков. Отдельного
ENTITY_WITHER_SCREAM в enum нет — визer's крик в ванилле называется
entity.wither.spawn, то есть ENTITY_WITHER_SPAWN.

Про «дальность 150» честно: это радиус доставки пакета на сервере, то есть кто
его вообще получил. Громкость 0.2 — громкость пакета, а клиент дальше
применяет своё позиционное затухание: у источника слышно, в сотне метров
почти нет. Чтобы звук был одинаково громким на всех 150 блоках, громкость
пришлось бы поднять до 9.4, и тогда заглушало бы всех рядом с источником.
Именно для такой задачи в Delta есть раздельная дальность звука, и флаг
decoupled-sound-range-enabled на проде включён: без него World#playSound с
радиусом молча уходит в стоковое поведение, где радиус выводится из
громкости, то есть 0.2 даёт 3.2 блока.

Проверено: плагин грузится без ошибок, флаг виден в /delta как true. Сама
смерть в пустоте не проверялась — нужен игрок.
2026-10-19 20:49:27 +00:00
S
Description
BlackKnife plugin - DeltaMine
611 KiB
Languages
Java 100%