Бари босів у Minecraft

PaperMC надає просту основу для розширення серверної частини Minecraft за допомогою невеликих плагінів, без необхідності встановлювати щось клієнтам. Під час розробки плагінів виникає питання, як відображати динамічну інформацію гравцеві. Відповідь криється в часто недооціненій функції: панелі босів . Спочатку призначена для кінцевих босів, панель босів можна перепрофілювати та використовувати як мінімалістичний HUD.


Замість пояснень цифр, ви можете працювати з короткими статусами, які передають лише відчуття. Це часто має сильніший ефект, ніж чергове табло чи повідомлення в чаті. API Bossbar напрочуд потужний: колір, стиль і прогрес можна змінювати динамічно. На відміну від табло, Bossbar залишається непомітним у верхній частині екрана.

BossBar bar = Bukkit.createBossBar("", BarColor.BLUE, BarStyle.SOLID);
bar.addPlayer(player);

Приклад 1: Відображення температури: Значення Цельсія нормалізується в діапазоні 0–1, і колір вибирається відповідно: синій для холоду, зелений для приємного та червоний для спеки.:

bar.setTitle(String.format("🌡 %.0f°C", celsius));
bar.setProgress((celsius + 20) / 60.0);
bar.setColor(celsius < 10 ? BarColor.BLUE : celsius < 30 ? BarColor.GREEN : BarColor.RED);

Приклад 2: Кисень під водою: Сегментований дисплей ідеально підходить для дискретних значень, таких як вдихи. SEGMENTED_10 У вас є десять видимих одиниць:

bar.setTitle("💨 Sauerstoff");
bar.setStyle(BarStyle.SEGMENTED_10);
bar.setProgress(player.getRemainingAir() / 300.0);

Приклад 3: Пульсуюча шкала страху: Синусоїда викликає ритмічні коливання прогресу. У BukkitRunnable Це створює жвавий ефект.:

double pulse = 0.5 + 0.5 * Math.sin(phase);
bar.setProgress(fearLevel * pulse);
bar.setTitle(fearLevel > 0.7 ? "💀 GEFAHR" : "👁 Unruhe");

Ви можете одночасно об'єднати до п'яти панелей босів, що дозволяє використовувати складні системи HUD. Щоб зробити панель майже невидимою, ви встановлюєте прогрес на... 0.0001 – Заголовок залишається видимим, але індикатор прогресу зникає. Тому індикатор боса є недооціненим інструментом для створення атмосферної ігрової механіки. Особливо в жанрах жахів або виживання, його можна використовувати для підказування ситуацій, не розкриваючи гравцеві точні цифри.

Щоб ефективно реалізувати таку механіку, доцільно використовувати мій невеликий шаблон , який визначає структуру плагіна. Окрім конфігурації Gradle, репозиторій також містить сценарії збірки для локальних і робочих середовищ, а також приклади спеціальної зброї та пакетів ресурсів. Це дозволяє вам дуже швидко випробувати нові ідеї HUD, тому що вам не потрібно щоразу витрачати час на деталі упаковки, налаштування сервера та розгортання.

Назад