+ Added way to disable the scoreboard.

This commit is contained in:
Steffion 2013-09-22 15:54:36 +02:00
parent 197e647ece
commit 572ef9d948
2 changed files with 59 additions and 55 deletions

View File

@ -82,6 +82,7 @@ public enum ConfigC {
"%A%arenaname%", "%A%players%%N/%A%maxplayers%", "%A%arenaname%", "%A%players%%N/%A%maxplayers%",
"%EIngame: %A%timeleft%" }, W.config), "%EIngame: %A%timeleft%" }, W.config),
scoreboard_enabled (true, W.config),
scoreboard_title ("[" + BlockHunt.pdfFile.getName() + "]", W.config), scoreboard_title ("[" + BlockHunt.pdfFile.getName() + "]", W.config),
scoreboard_timeleft ("%ATime left:", W.config), scoreboard_timeleft ("%ATime left:", W.config),
scoreboard_seekers ("%NSeekers:", W.config), scoreboard_seekers ("%NSeekers:", W.config),

View File

@ -12,28 +12,29 @@ import org.bukkit.scoreboard.Scoreboard;
public class ScoreboardHandler { public class ScoreboardHandler {
public static void createScoreboard(Arena arena) { public static void createScoreboard(Arena arena) {
if ((Boolean) W.config.get(ConfigC.scoreboard_enabled) == true) {
Scoreboard board = arena.scoreboard; Scoreboard board = arena.scoreboard;
if (board.getObjective(arena.arenaName) != null) { if (board.getObjective(arena.arenaName) != null) {
updateScoreboard(arena); updateScoreboard(arena);
return; return;
} }
Objective object = board.registerNewObjective(arena.arenaName, "dummy"); Objective object = board.registerNewObjective(arena.arenaName,
"dummy");
object.setDisplaySlot(DisplaySlot.SIDEBAR); object.setDisplaySlot(DisplaySlot.SIDEBAR);
object.setDisplayName(MessageM.replaceAll((String) W.config object.setDisplayName(MessageM.replaceAll((String) W.config
.get(ConfigC.scoreboard_title))); .get(ConfigC.scoreboard_title)));
Score timeleft = object Score timeleft = object.getScore(Bukkit.getOfflinePlayer(MessageM
.getScore(Bukkit.getOfflinePlayer(MessageM
.replaceAll((String) W.config .replaceAll((String) W.config
.get(ConfigC.scoreboard_timeleft)))); .get(ConfigC.scoreboard_timeleft))));
timeleft.setScore(arena.timer); timeleft.setScore(arena.timer);
Score seekers = object Score seekers = object.getScore(Bukkit.getOfflinePlayer(MessageM
.getScore(Bukkit.getOfflinePlayer(MessageM
.replaceAll((String) W.config .replaceAll((String) W.config
.get(ConfigC.scoreboard_seekers)))); .get(ConfigC.scoreboard_seekers))));
seekers.setScore(arena.seekers.size()); seekers.setScore(arena.seekers.size());
Score hiders = object.getScore(Bukkit.getOfflinePlayer(MessageM Score hiders = object.getScore(Bukkit.getOfflinePlayer(MessageM
.replaceAll((String) W.config.get(ConfigC.scoreboard_hiders)))); .replaceAll((String) W.config
.get(ConfigC.scoreboard_hiders))));
hiders.setScore(arena.playersInArena.size() - arena.seekers.size()); hiders.setScore(arena.playersInArena.size() - arena.seekers.size());
if (arena.gameState == ArenaState.INGAME) { if (arena.gameState == ArenaState.INGAME) {
for (Player pl : arena.playersInArena) { for (Player pl : arena.playersInArena) {
@ -46,24 +47,25 @@ public class ScoreboardHandler {
} }
} }
} }
}
public static void updateScoreboard(Arena arena) { public static void updateScoreboard(Arena arena) {
if ((Boolean) W.config.get(ConfigC.scoreboard_enabled) == true) {
Scoreboard board = arena.scoreboard; Scoreboard board = arena.scoreboard;
Objective object = board.getObjective(DisplaySlot.SIDEBAR); Objective object = board.getObjective(DisplaySlot.SIDEBAR);
object.setDisplayName(MessageM.replaceAll((String) W.config object.setDisplayName(MessageM.replaceAll((String) W.config
.get(ConfigC.scoreboard_title))); .get(ConfigC.scoreboard_title)));
Score timeleft = object Score timeleft = object.getScore(Bukkit.getOfflinePlayer(MessageM
.getScore(Bukkit.getOfflinePlayer(MessageM
.replaceAll((String) W.config .replaceAll((String) W.config
.get(ConfigC.scoreboard_timeleft)))); .get(ConfigC.scoreboard_timeleft))));
timeleft.setScore(arena.timer); timeleft.setScore(arena.timer);
Score seekers = object Score seekers = object.getScore(Bukkit.getOfflinePlayer(MessageM
.getScore(Bukkit.getOfflinePlayer(MessageM
.replaceAll((String) W.config .replaceAll((String) W.config
.get(ConfigC.scoreboard_seekers)))); .get(ConfigC.scoreboard_seekers))));
seekers.setScore(arena.seekers.size()); seekers.setScore(arena.seekers.size());
Score hiders = object.getScore(Bukkit.getOfflinePlayer(MessageM Score hiders = object.getScore(Bukkit.getOfflinePlayer(MessageM
.replaceAll((String) W.config.get(ConfigC.scoreboard_hiders)))); .replaceAll((String) W.config
.get(ConfigC.scoreboard_hiders))));
hiders.setScore(arena.playersInArena.size() - arena.seekers.size()); hiders.setScore(arena.playersInArena.size() - arena.seekers.size());
if (arena.gameState == ArenaState.INGAME) { if (arena.gameState == ArenaState.INGAME) {
for (Player pl : arena.playersInArena) { for (Player pl : arena.playersInArena) {
@ -76,6 +78,7 @@ public class ScoreboardHandler {
} }
} }
} }
}
public static void removeScoreboard(Player player) { public static void removeScoreboard(Player player) {
player.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard()); player.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());