- Для версий
- 1.21.+
Legacy-рендер голограмм FancyHolograms для клиентов Minecraft 1.12.2 и 1.16.5
mcHologramsProvider корректно показывает текстовые голограммы FancyHolograms игрокам со старыми клиентами Minecraft.
На Paper/Purpur 1.21.11 FancyHolograms использует TextDisplay. Клиенты 1.12.2 и 1.16.5 эту сущность не поддерживают: ViaBackwards может скрыть её, отбросить metadata или оставить некорректное представление. Провайдер заменяет только legacy-представление и не вмешивается в современный путь.
Как это работает
- Клиенты 1.19.4+ продолжают получать нативный TextDisplay FancyHolograms.
- Для старого клиента исходные TextDisplay spawn/metadata/teleport/destroy пакеты подавляются до ViaBackwards.
- Через публичный API FancyHolograms отдельно для каждого игрока читаются видимость, дистанция, позиция и уже разрешённый placeholder-текст.
- Каждая строка отправляется только этому игроку как невидимый marker ArmorStand с custom name.
- Текст, перемещение, hide/show и удаление синхронизируются пакетами.
- Постоянные ArmorStand в мире не создаются; entity ID уничтожаются при выходе, удалении голограммы или выключении плагина.
- Публичный API и Fancy-мост используют одну область entity ID — коллизий между двумя legacy-путями нет.
- Неудавшиеся destroy-пакеты повторяются bounded reconcile-таймером.
Исправление позиции в 1.1.2
Legacy offset изменён с -1.15 на -0.35: каждая строка поднята ровно на 0.80 блока. В фиксированной камере vanilla-клиента центр голограммы переместился с Ypx=206.36 до Ypx=94.04/94.36. Межстрочный шаг 0.25 сохранён.
Совместимость
- Сервер: Paper/Purpur 1.21.11, Java 21.
- Клиенты: vanilla 1.12.2 и 1.16.5 через ViaVersion/ViaBackwards 5.11.0.
- FancyHolograms: публичные API 2.9.x и 2.10.x.
- В scope входит центрированный текст. ItemDisplay, BlockDisplay, click/hitbox и left/right alignment не заявлены.
Важно о высоте мира
[WARNING]Плагин исправляет только голограммы. Клиенты до 1.17 по-прежнему не отображают блоки ниже Y=0 и выше Y=255 в мире 1.18+. Legacy-facing спавн должен находиться внутри Y=0..255 либо использовать отдельный сдвинутый мир.[/WARNING]
Проверка релиза
- Три byte-identical offline/no-cache сборки, 41/41 тест в каждой.
- Packet lifecycle 1.12.2 и 1.16.5: ArmorStand 6/8/6, text metadata 8, TextDisplay 0, leftovers 0.
- Vanilla 1.16.5: 1122 signal pixels, centroid Y=94.04, после удаления 0.
- Vanilla 1.12.2: 488 signal pixels, centroid Y=94.36, после удаления 0.
- Нагрузка 16 viewers × 48 holograms: mean/p95/max 0.229/0.346/3.793 ms, steady-state packet churn 0.
Зависимости
- ProtocolLib 5.4.0.
- ViaVersion 5.11.0.
- ViaBackwards 5.11.0.
- FancyHolograms 2.9.x/2.10.x.
Плагин бесплатный. Лицензирования, телеметрии и сетевого updater-запроса нет.