12
1

Continouus updating scoreboard

Signed-off-by: Lixfel <agga-games@gmx.de>
Dieser Commit ist enthalten in:
Lixfel 2021-04-02 21:42:17 +02:00
Ursprung 864304693c
Commit d8aefba51b

Datei anzeigen

@ -41,11 +41,12 @@ import org.bukkit.scoreboard.Scoreboard;
import java.util.*;
public class FightScoreboard implements Listener {
public class FightScoreboard implements Listener, ScoreboardCallback {
private static final Set<FightState> fullScoreboard = EnumSet.of(FightState.RUNNING, FightState.SPECTATE);
private int index = 0;
private String title = "";
private final HashMap<String, Integer> scores = new HashMap<>();
@ -55,22 +56,12 @@ public class FightScoreboard implements Listener {
public FightScoreboard(){
new StateDependentListener(ArenaMode.All, FightState.All, this);
new StateDependentTask(ArenaMode.All, FightState.All, this::nextIndexDisplay, 0, 200);
new StateDependentTask(ArenaMode.All, FightState.All, this::updateScoreboard, 0, 20);
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
SWScoreboard.createScoreboard(event.getPlayer(), new ScoreboardCallback() {
@Override
public HashMap<String, Integer> getData() {
return scores;
}
@Override
public String getTitle() {
return title;
}
});
SWScoreboard.createScoreboard(event.getPlayer(), this);
}
@EventHandler
@ -114,20 +105,17 @@ public class FightScoreboard implements Listener {
}
}
private void nextIndexDisplay() {
index++;
if(index > 2)
index = 0;
FightTeam team = null;
if(index == 1)
team = Fight.getRedTeam();
if(index == 2)
team = Fight.getBlueTeam();
scores.clear();
if(team != null)
teamScoreboard(team);
else
generalScoreboard();
private void updateScoreboard() {
switch((index++ / 10) % 3){
case 0:
generalScoreboard();
break;
case 1:
teamScoreboard(Fight.getBlueTeam());
break;
case 2:
teamScoreboard(Fight.getRedTeam());
}
}
private void setTitle(String t) {
@ -139,4 +127,14 @@ public class FightScoreboard implements Listener {
scores.put(string, i);
RecordSystem.scoreboardData(string, i);
}
@Override
public String getTitle() {
return title;
}
@Override
public HashMap<String, Integer> getData() {
return scores;
}
}