Полоски боссов в 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");

Вы можете одновременно использовать до пяти полосок прогресса боссов, что позволяет создавать сложные системы интерфейса. Чтобы сделать полоску практически невидимой, установите уровень прогресса на... 0.0001 – Заголовок остается видимым, но индикатор выполнения исчезает. Таким образом, индикатор босса — недооцененный инструмент для создания атмосферы в игре. Особенно в хоррор-играх или играх на выживание его можно использовать для намека на ситуации, не раскрывая игроку конкретных цифр.

Для эффективной реализации подобных механизмов я рекомендую использовать мой небольшой шаблон , определяющий структуру плагина. Помимо конфигурации Gradle, репозиторий также содержит скрипты сборки для локальной и производственной сред, а также примеры пользовательского оружия и пакетов ресурсов. Это позволяет быстро опробовать новые идеи HUD, поскольку вам не нужно каждый раз заниматься упаковкой, настройкой сервера и деталями развертывания.

Назад