Bossbars und Titel: Persistenter Zustand, Timings und die Aufteilung von Wert/Maximum
Eine Bossbar überlebt Neustarts, ein Titel nicht. Hier ist das Erstellen-dann-Modifizieren-Muster, die Fade-Timings, die Leute rückwärts einstellen, und wie man eine Fortschrittsanzeige steuert.
Beide zeichnen Text auf dem Bildschirm, und da endet die Ähnlichkeit. Titel sind „Fire-and-Forget“; Bossbars sind persistente Objekte, die man verwalten muss.
Bossbars sind zustandsbehaftet
/bossbar add my:timer {"text":"Time left"}
/bossbar set my:timer players @a
/bossbar set my:timer max 600
/bossbar set my:timer value 600
/bossbar set my:timer color red
/bossbar set my:timer style notched_10
Eine ID, dann Befehle, die sie modifizieren. Punkte, an denen Leute stolpern:
- Die Leiste ist unsichtbar, bis sie Spieler hat. Eine zu erstellen und niemals
set ... players auszuführen, erzeugt nichts, ohne Fehler.
- Sie bleibt im Welt-Speicher bestehen. Eine für ein Minispiel erstellte Leiste ist in der
nächsten Sitzung immer noch da. /bossbar remove wenn fertig, sonst sammeln sie sich an.
valueundmaxsind getrennt, und die Leiste zeigtvalue / max. Nur
value auf einer Leiste einzustellen, deren Maximum immer noch 100 ist, ergibt eine unsinnige Füllung.
Farben: pink white red orange yellow green blue purple. Stile: progress notched_6 notched_10 notched_12 notched_20.
Einen Countdown steuern
/bossbar set my:timer value 599
einmal pro Sekunde aus einer wiederholenden Funktion ist der gesamte Mechanismus. Es gibt keinen eingebauten Timer. Das Auslesen ist auch nützlich:
/execute store result score @s Left run bossbar get my:timer value
bossbar get unterstützt value, max, players und visible, was eine Bossbar zu einer brauchbaren globalen Variable macht, wenn der Spieler sie sehen soll.
Titel sind vorübergehend
/title @a times 10 70 20
/title @a subtitle {"text":"Get ready"}
/title @a title {"text":"Round 2"}
Drei Dinge in dieser Reihenfolge, und die Reihenfolge ist wichtig:
- Zuerst
times. Das Einstellen nach dem Titel hat keine Auswirkung auf den bereits angezeigten Titel. subtitlevortitle. Der Untertitel allein zeigt nichts an; das Senden des Titels
löst das Erscheinen des Paares aus. Umgekehrt wird der erste ohne Untertitel angezeigt.
times ist fadeIn stay fadeOut in Ticks — 20 Ticks pro Sekunde. 10 70 20 ist eine halbe Sekunde rein, dreieinhalb gehalten, eine raus. Leute stellen 1 1 1 ein und wundern sich, warum nichts erscheint: drei Ticks insgesamt sind ein Blitz.
Actionbar ist separat
/title @a actionbar {"text":"Saved"}
Die Zeile über der Hotbar. Sie ignoriert times vollständig — sie wird für ein festes paar Sekunden angezeigt und verblasst. Das erneute Senden bei jedem Tick hält sie dauerhaft oben, was die Standardmethode ist, ein benutzerdefiniertes HUD zu betreiben.
Löschen
/title @a clear entfernt das, was angezeigt wird; /title @a reset stellt auch die Standard-Timings wieder her. Für Bossbars blendet /bossbar set my:timer visible false aus, ohne den Zustand zu zerstören.
Erstelle Bossbar, Titel und die restlichen Steuer- und Debug-Befehle aus einem Formular im Advanced Command Builder — Control & Debug.