Minecraft Boss Bars

PaperMC zapewnia prostą podstawę do rozszerzania serwera Minecraft za pomocą małych wtyczek, bez konieczności instalowania czegokolwiek przez klientów. Podczas tworzenia wtyczek pojawia się pytanie, jak wyświetlać graczowi dynamiczne informacje. Odpowiedź tkwi w często pomijanej funkcji podstawowej wersji gry: pasku bossa . Pierwotnie przeznaczony dla bossów końcowych, pasek bossa można przekształcić i wykorzystać jako minimalistyczny interfejs HUD.


Zamiast objaśniać liczby, możesz korzystać z krótkich statusów, które przekazują jedynie emocje. Często ma to silniejszy efekt niż inna tablica wyników czy wiadomości na czacie. Interfejs API Bossbar jest zaskakująco wydajny: kolor, styl i postęp można zmieniać dynamicznie. W przeciwieństwie do tablic wyników, Bossbar pozostaje dyskretnie widoczny u góry ekranu.

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

Przykład 1: Wyświetlacz temperatury: Wartość w stopniach Celsjusza normalizuje się w zakresie 0–1, a kolor dobiera się odpowiednio: niebieski oznacza zimno, zielony – przyjemnie, a czerwony – gorąco.:

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);

Przykład 2: Tlen pod wodą: Wyświetlacz segmentowy doskonale nadaje się do wyświetlania wartości dyskretnych, np. oddechów. SEGMENTED_10 Masz dziesięć widocznych jednostek:

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

Przykład 3: Pulsujący pasek strachu: Fala sinusoidalna powoduje rytmiczne wahania postępu. W BukkitRunnable Daje to żywy efekt.:

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

Możesz nałożyć na siebie do pięciu pasków bossów jednocześnie, co umożliwia tworzenie złożonych systemów HUD. Aby pasek był prawie niewidoczny, ustaw postęp na... 0.0001 – Tytuł pozostaje widoczny, ale pasek postępu znika. Pasek bossa jest zatem niedocenianym narzędziem w budowaniu atmosfery gry. Szczególnie w grach typu horror lub survival można go wykorzystać do sugerowania sytuacji, nie ujawniając graczowi konkretnych liczb.

Aby sprawnie wdrożyć takie mechanizmy, polecam skorzystanie z mojego krótkiego szablonu , który definiuje strukturę wtyczki. Oprócz konfiguracji Gradle, repozytorium zawiera również skrypty kompilacji dla środowisk lokalnych i produkcyjnych, a także przykłady niestandardowych broni i pakietów zasobów. Pozwala to na szybkie testowanie nowych pomysłów na HUD, ponieważ nie trzeba za każdym razem zajmować się pakowaniem, konfiguracją serwera i szczegółami wdrożenia.

Plecy