
Better Ping Display [Fabric] — Minecraft Java Edition 1.15.2 - 1.21.11+
Залежності: · Завантажувач: Fabric, Quilt · Версія Minecraft: 1.15.2 - 1.21.11+ · Версія мода: 1.2.0 · Обов'язкові залежності: Fabric API…
Залежності: · Завантажувач: Fabric, Quilt · Версія Minecraft: 1.15.2 - 1.21.11+ · Версія мода: 1.2.0 · Обов'язкові залежності: Fabric API Стандартний інтерфейс Minecraft відображає затримку підключення гравців у меню сп
Залежності:
· Завантажувач: Fabric, Quilt
· Версія Minecraft: 1.15.2 - 1.21.11+
· Версія мода: 1.2.0
· Обов'язкові залежності: Fabric API
Стандартний інтерфейс Minecraft відображає затримку підключення гравців у меню списку мережі (клавіша TAB) у вигляді графічної іконки з п'яти вертикальних стовпчиків. Такий підхід не надає точної інформації про стабільність з'єднання, оскільки однакова іконка може відповідати затримці як у 80 мілісекунд, так і в 140 мілісекунд. У змагальному геймплеї, PvP-битвах чи під час адміністрування великих ігрових серверів точні показники пігу є критично важливими. Модифікація Better Ping Display [Fabric] вирішує цю проблему, замінюючи абстрактні графічні смужки точним числовим значенням затримки у мілісекундах безпосередньо у меню списку гравців.
Технічний принцип роботи та обмеження стандартного рендерингу затримки
Для передачі інформації про пінг сервер Minecraft надсилає пакети оновлення списку гравців (у сучасних версіях гри за це відповідає пакет ClientboundPlayerInfoUpdatePacket). Кожен запис у пакеті містить цілочисельний параметр затримки (latency), виражений у мілісекундах. Клієнтська частина гри отримує ці дані та зберігає їх у пам'яті як властивість об'єкта PlayerInfo (в ранніх версіях відомого як NetworkPlayerInfo).
Під час рендерингу списку гравців на екрані, ванільний клас інтерфейсу PlayerListHud (або PlayerTabOverlay у мапінгах Yarn) перебирає всіх підключених користувачів і визначає рівень затримки. За відображення іконки відповідає внутрішній метод renderLatencyIcon (або renderPingIcon). Цей метод порівнює ціле число мілісекунд із фіксованими порогами:
· Значення менше 0 відображає іконку відсутності з'єднання (червоний хрестик).
· Значення менше 150 мілісекунд відповідає максимальним п'яти стовпчикам.
· Діапазон від 150 до 299 мілісекунд відображає чотири стовпчики.
· Діапазон від 300 до 599 мілісекунд показує три стовпчики.
· Діапазон від 600 до 999 мілісекунд виводить два стовпчики.
· Затримка від 1000 мілісекунд відображає один стовпчик.
Таким чином, точні числові значення відкидаються безпосередньо перед виведенням на екран, а замість них малюється відповідний спрайт із файлу текстур icons.png.
Better Ping Display вносить зміни у цей процес за допомогою системи Mixin. Клас ін'єкції модифікує поведінку PlayerListHud у момент малювання рядка кожного гравця. Модифікація перехоплює виклик малювання графічних стовпчиків і блокує його виконання (або виконує паралельно залежно від конфігурації). Замість цього виконується виклик отримати точне значення latency через об'єкт PlayerInfo. Далі мод передає це число у текстовий рендерер клієнта Font, який динамічно малює символи на екрані з урахуванням налаштованого стилю та позиціонування елементів інтерфейсу.
Основні функції: цифрове відображення, колірна шкала та графічні стовпчики
Мод розширює інформативність інтерфейсу мережевої статистики через такі функціональні можливості:
· Числовий показник у реальному часі: Відображає точну величину затримки в мілісекундах. Гравець бачить фактичний стан з'єднання кожного учасника без необхідності наведення курсору чи введення діагностичних команд у чат.
· Автоматичне колірне маркування: Модифікація за замовчуванням фарбує текст пігу в залежності від якості зв'язку. Низька затримка (менше 100 мілісекунд) підсвічується зеленим кольором, середня (від 100 до 299 мілісекунд) набуває жовтого або оранжевого забарвлення, а висока затримка (від 300 мілісекунд і більше) забарвлюється в червоний колір. Це допомагає миттєво виявити гравців із нестабільним підключенням.
· Суміщений режим відображення: Користувач може увімкнути одночасне виведення числових значень та оригінальних ванільних смужок пігу. У цьому разі текст малюється ліворуч від графічної іконки, зберігаючи звичний візуальний стиль Minecraft.
· Клієнтська архітектура: Модифікація працює суто на стороні клієнта. Вона не вимагає встановлення на сервер і не надсилає серверу додаткових запитів. Мод зчитує лише ту інформацію про трафік, яку сервер Minecraft передає за замовчуванням усім підключеним клієнтам. Завдяки цьому Better Ping Display працює на будь-яких серверах, включаючи офіційні сервери Realms та публічні сервери без підтримки модифікацій.
Налаштування, сумісність та екосистема
Конфігурування параметрів відображення здійснюється через редагування файлу betterpingdisplay.json, який автоматично створюється у директорії config після першого запуску гри. Файл містить такі налаштування:
· autoColorPingText – логічний прапорець (true/false). У разі значення true колір пігу змінюється автоматично від зеленого до червоного залежно від швидкості з'єднання. Якщо вказано false, колір стає статичним і визначається наступним параметром.
· pingTextColor – текстове поле для встановлення шістнадцяткового коду кольору (наприклад, #A0A0A0 для світло-сірого). Цей колір використовується лише тоді, коли автоматичне колірне маркування вимкнено.
· renderPingBars – логічний прапорець, який керує рендерингом стандартних ванільних стовпчиків затримки поруч із цифровим показником.
· pingTextFormatString – рядок форматування тексту. За замовчуванням встановлено значення %dms, де символ %d є обов'язковим технічним маркером, який під час рендерингу замінюється на поточне число мілісекунд затримки.
У версії мода 1.2.0 та новіших з'явилася підтримка графічного інтерфейсу налаштувань безпосередньо в меню гри. Для доступу до візуального меню конфігурації у списку модифікацій необхідно встановити два додаткові допоміжні компоненти: бібліотеку YetAnotherConfigLib (YACL) та мод Mod Menu. За їх наявності у грі з'являється зручне вікно з перемикачами та повзунками для зміни параметрів Better Ping Display.
Модифікація сумісна з більшістю клієнтських оптимізаторів (таких як Sodium, Lithium, FerriteCore) та графічних покращень (Iris Shaders). Вона не викликає конфліктів під час гри на серверах із кастомними плагінами на списки гравців, оскільки змінює лише етап локального рендерингу на клієнті, не впливаючи на структуру мережевих пакетів.
Параметр | Значення | Опис |
| TRUE | Автоматичний колір тексту. Якщо увімкнено (true), колір чисел автоматично змінюватиметься залежно від якості з'єднання (наприклад, зелений для низького пінгу, червоний — для високого). |
| FALSE | Відображення смуг пінгу. Визначає, чи показувати стандартні ванільні смуги (палички) якості зв'язку. У цьому випадку їх вимкнено (false), щоб звільнити місце для тексту. |
| "#A0A0A0" | Колір тексту. Статичний колір відображення (у форматі HEX-коду, тут це світло-сірий). Він застосовується у тому випадку, якщо автоматичне забарвлення (autoColorPingText) буде вимкнено. |
| "%dms" | Формат відображення. Шаблон для виведення тексту на екран. Змінна %d автоматично замінюється на поточне числове значення вашого пінгу, а ms додає приписку "мілісекунди" (результат виглядатиме як "45ms"). |
Висновок
Better Ping Display [Fabric] – це компактна та ефективна клієнтська модифікація, яка виправляє суттєвий недолік стандартного списку гравців Minecraft. На відміну від аналогічних рішень на кшталт Numeral Ping чи Ping Display, цей мод має просту інтеграцію з бібліотекою YACL для налаштування параметрів прямо у грі та дозволяє зберігати ванільні іконки затримки. Головним обмеженням є залежність частоти оновлення чисел від налаштувань самого сервера (за замовчуванням сервер Minecraft надсилає оновлення статистики пігу раз на кілька секунд, тому миттєві коливання затримки не відображатимуться миттєво). Мод ідеально підходить для гравців мережевих режимів та адміністраторів серверів, яким потрібен чіткий контроль мережевих параметрів без зайвого навантаження на систему.
Встановлення
Типове встановлення займає близько 5 хвилин. Порядок однаковий; відрізняються лише лоадер і відповідна збірка.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











