package utils; /** * Scoreboard management class * @author Mark Denihan * */ public class ScoreboardStatus { private static boolean scoreboardEnabled = true; private static String scoreboardClass = new String(); private static boolean adminOnlyScoreboard = false; private static boolean classSpecificScoreboard = false; /** * Returns if user is authorised to see scoreboard currenly. * @param userRole Must be player or admin * @return */ public static boolean canSeeScoreboard (String userRole) { boolean authorised = true; if(adminOnlyScoreboard) authorised = userRole.equalsIgnoreCase("admin"); return authorised && scoreboardEnabled; } /** * Disables scoreboard functions */ public static void disableScoreboard() { scoreboardEnabled = false; adminOnlyScoreboard = false; scoreboardClass = new String(); classSpecificScoreboard = false; } /** * Used to tell if the current scoreboard config is set to Class Specific * @return Boolean Value */ public static boolean getClassSpecificScoreboard() { return classSpecificScoreboard; } public static String getScoreboardClass() { return scoreboardClass; } /** * Is the scoreboard configured to be displayed? * @return */ public static boolean isScoreboardEnabled() { return scoreboardEnabled; } /** * Sets the scoreboard to be admin only */ public static void setScoreboardAdminOnly() { adminOnlyScoreboard = true; } /** * Enables public Scoreboard based on scores from specific class * @param theClass Class to base the Scoreboard on */ public static void setScoreboardClass(String theClass) { scoreboardClass = theClass; scoreboardEnabled = true; adminOnlyScoreboard = false; classSpecificScoreboard = false; } /** * Sets the scoreboard to show users the score from their class only */ public static void setScoreboardClassSpecific() { scoreboardEnabled = true; scoreboardClass = new String(); adminOnlyScoreboard = false; classSpecificScoreboard = true; } /** * Method to know if user is running a class specific scoreboard or not * @return True if class specific scoreboard is enabled. Otherwise False */ public static boolean isClassSpecificScoreboard () { return classSpecificScoreboard; } /** * Sets scoreboard to list all players regardless of class */ public static void setScoreboeardOpen() { scoreboardEnabled = true; scoreboardClass = new String(); adminOnlyScoreboard = false; classSpecificScoreboard = false; } }