Wie mache ich eine Countdown leiste mit BossBarAPI?

2 Antworten

   @EventHandler
   public void onjoin(PlayerJoinEvent e){
      Player p = e.getPlayer();
      p.setHealth(0.0);
      BossBar bossBar = BossBarAPI.addBar(p,
         new TextComponent("§b§lDein Trinken! §f§c(Kommt noch!)"), message
    BossBarAPI.Color.BLUE, BossBarAPI.Style.NOTCHED_20, 1.0f, 20, 2);

Komme da nicht weiter. :(

Ganz einfach,

   @EventHandler
   public void onjoin(PlayerJoinEvent e){
      Player p = e.getPlayer();
      p.setHealth(0.0);
      BossBar bossBar = BossBarAPI.addBar(p,
         new TextComponent("§b§lDein Trinken! §f§c(Kommt noch!)"), message
    BossBarAPI.Color.BLUE, BossBarAPI.Style.NOTCHED_20, 1.0f, 20, 2);

Du kannst hier eine addBar für einen Spieler hinzufügen.

Also machst du eine Scheduler bzw. einen TaskTimer oder wie auch immer das unter Bukkit hieß, die in deinen Abständen ausgeführt wird und damit das für jeden Spieler gilt, iterierst du Bukkit.getOnlinePlayers() und setzt dann für die Spieler die BossBar. Ob es eine Funktion gibt die zu Updaten also ohne addBar musst du schauen, aber so geht es sicherlich auch.


MorrisBr 
Fragesteller
 29.01.2020, 18:05

mein problem ist ja das ich nicht weit wie die leben anzeige langsam runter geht

0
Simon221585  29.01.2020, 18:08
@MorrisBr

Dazu wäre es hilfreich zu wissen, welche BossBarAPI du benutzt.

Ich glaube ich habe deine gefunden.

public static BossBar addBar(Player player, BaseComponent component, Color color, Style style, float progress, int timeout, long interval, Property... properties)

Die Funktion hat auch noch diese Definition, und siehe da, es gibt einen float für progress. Schaus dir einfach mal an.

https://github.com/InventivetalentDev/BossBarAPI/blob/master/src/org/inventivetalent/bossbar/BossBarAPI.java

0
MorrisBr 
Fragesteller
 29.01.2020, 18:18
@Simon221585

Kannst du mit ein beispiel machen mit countdown Bossbar?
Meine BossBarAPI: BossBarAPI_v2.4.1.jar (Server: 1.8)

0