/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.arkhamnetwork.arcade.minigame.skywars.manager;
import org.arkhamnetwork.arcade.commons.manager.Manager;
import org.arkhamnetwork.arcade.commons.scoreboard.ArcadeScoreboard;
import org.arkhamnetwork.arcade.core.configuration.ArcadeConfiguration;
import org.arkhamnetwork.arcade.minigame.skywars.SkyWars;
import org.arkhamnetwork.arcade.minigame.skywars.struct.SkywarsPlayer;
import org.bukkit.ChatColor;
/**
*
* @author devan_000
*/
public class SkywarsScoreboardManager extends Manager {
private final SkyWars plugin;
public SkywarsScoreboardManager(SkyWars plugin) {
this.plugin = plugin;
}
public void doGameTick() {
if (plugin.getCurrentStage() == null) {
return;
}
for (SkywarsPlayer player : plugin.getPlayers().values()) {
ArcadeScoreboard currentScoreboard = player.getScoreboard();
if (plugin.getCurrentStage().getId() == 0) {
if (!plugin.hasEnoughPlayersToStart()) {
currentScoreboard.setName("&aWaiting for players...");
} else {
currentScoreboard.setName("&aStarting in &f"
+ plugin.getGameTask().getTimeUntilStart());
}
if (!currentScoreboard.hasLine(0)) {
currentScoreboard.addLine(0, " ", 15);
}
if (!currentScoreboard.hasLine(1)) {
currentScoreboard.addLine(1, "&ePlayers&9>", 14);
}
if (!currentScoreboard.hasLine(2)) {
currentScoreboard.addLine(
2,
String.valueOf(ChatColor.WHITE
+ ""
+ plugin.getPlayers().size()
+ ChatColor.WHITE
+ "/"
+ ChatColor.WHITE
+ ""
+ plugin.getCurrentMapData()
.getMaxPlayers()), 13);
} else {
currentScoreboard.updateLine(
2,
String.valueOf(ChatColor.WHITE
+ ""
+ plugin.getPlayers().size()
+ ChatColor.WHITE
+ "/"
+ ChatColor.WHITE
+ ""
+ plugin.getCurrentMapData()
.getMaxPlayers()), 13);
}
if (!currentScoreboard.hasLine(3)) {
currentScoreboard.addLine(3, " ", 12);
}
if (!currentScoreboard.hasLine(4)) {
currentScoreboard.addLine(4, "&eScore&9>", 11);
}
if (!currentScoreboard.hasLine(5)) {
if (player.getUserProfile() == null) {
currentScoreboard.addLine(5, ChatColor.GRAY
+ "Fetching...", 10);
} else {
currentScoreboard.addLine(
5,
ChatColor.WHITE
+ String.valueOf(player
.getUserProfile().getScore()),
10);
}
} else {
if (player.getUserProfile() == null) {
currentScoreboard.updateLine(5, ChatColor.GRAY
+ "Fetching...", 10);
} else {
currentScoreboard.updateLine(
5,
ChatColor.WHITE
+ String.valueOf(player
.getUserProfile().getScore()),
10);
}
}
if (!currentScoreboard.hasLine(6)) {
currentScoreboard.addLine(6, ChatColor.YELLOW + " ", 9);
}
if (!currentScoreboard.hasLine(7)) {
currentScoreboard.addLine(7, "&eCredits&9>", 8);
}
if (!currentScoreboard.hasLine(8)) {
if (player.getUserProfile() == null) {
currentScoreboard.addLine(8, ChatColor.GRAY
+ "Fetching... ", 7);
} else {
currentScoreboard.addLine(
8,
ChatColor.WHITE
+ String.valueOf(player
.getUserProfile()
.getArcadeCreditBalance())
+ " ", 7);
}
} else {
if (player.getUserProfile() == null) {
currentScoreboard.updateLine(8, ChatColor.GRAY
+ "Fetching... ", 7);
} else {
currentScoreboard.updateLine(
8,
ChatColor.WHITE
+ String.valueOf(player
.getUserProfile()
.getArcadeCreditBalance())
+ " ", 7);
}
}
if (!currentScoreboard.hasLine(9)) {
currentScoreboard.addLine(9, ChatColor.YELLOW + " ", 6);
}
if (!currentScoreboard.hasLine(10)) {
currentScoreboard.addLine(10, "&eMap&9>", 5);
}
if (!currentScoreboard.hasLine(11)) {
currentScoreboard.addLine(11, plugin.getCurrentMapData()
.getName(), 4);
} else {
currentScoreboard.updateLine(11, plugin.getCurrentMapData()
.getName(), 4);
}
if (!currentScoreboard.hasLine(12)) {
currentScoreboard.addLine(12, ChatColor.YELLOW + " ", 3);
}
if (!currentScoreboard.hasLine(13)) {
currentScoreboard.addLine(13, "&eServer&9>", 2);
}
if (!currentScoreboard.hasLine(14)) {
currentScoreboard.addLine(14, ChatColor.WHITE
+ ArcadeConfiguration.getServerName(), 1);
}
}
}
}
}