WlanGehtNicht
Schafhirte
Hey,
bei meinem Scoreboard Plugin habe ich auch ein Scoreboard. Das aktualisiert sich aber erst, wenn jemand den Server betritt oder den Server verlässt.
Ich möchte aber, dass es sich nach ein paar Sekunden aktualisiert. Wie mache ich das?
bei meinem Scoreboard Plugin habe ich auch ein Scoreboard. Das aktualisiert sich aber erst, wenn jemand den Server betritt oder den Server verlässt.
Ich möchte aber, dass es sich nach ein paar Sekunden aktualisiert. Wie mache ich das?
Code:
package de.wlangehtnicht.skypvp.listener;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;
import de.wlangehtnicht.coinapi.listener.Coins;
import de.wlangehtnicht.skypvp.main.Main;
public class Event_Scoreboard implements Listener {
private Main pl;
public Event_Scoreboard(Main main) {
this.pl = main;
}
public void setScoreboard(Player p) {
ScoreboardManager sm = Bukkit.getScoreboardManager();
final Scoreboard board = sm.getNewScoreboard();
final Objective o = board.registerNewObjective("test", "dummy");
o.setDisplaySlot(DisplaySlot.SIDEBAR);
o.setDisplayName("§8> §4SkyPvP §8<");
o.getScore("§b ").setScore(6);
o.getScore("§cOnline: ").setScore(5);
o.getScore("§7" + Bukkit.getOnlinePlayers().size() + "/" + Bukkit.getMaxPlayers()).setScore(4);
o.getScore("§c ").setScore(3);
o.getScore("§cCoins: ").setScore(2);
o.getScore("§7 " + Coins.get(p.getUniqueId())).setScore(1);
p.setScoreboard(board);
}
@EventHandler
public void onJoin(PlayerJoinEvent e) {
new BukkitRunnable() {
@Override
public void run() {
for(Player all : Bukkit.getOnlinePlayers()) {
setScoreboard(all);
}
}
}.runTaskLater(this.pl, 1);
}
@EventHandler
public void onQuit(PlayerQuitEvent e) {
new BukkitRunnable() {
@Override
public void run() {
for(Player all : Bukkit.getOnlinePlayers()) {
setScoreboard(all);
}
}
}.runTaskLater(this.pl, 1);
}
}