Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ScoreboardManager {
- public ScoreboardManager() {
- }
- private Scoreboard getScoreboard(Player p) {
- if(p.getScoreboard() != null) {
- return p.getScoreboard();
- }else {
- Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
- return sb;
- }
- }
- private void setSidebar(Player p, String title, HashMap<String, Integer> sidebar) {
- Scoreboard sb = getScoreboard(p);
- Objective obj = sb.getObjective(p.getName());
- if(obj != null) {
- obj.unregister();
- }
- obj = sb.registerNewObjective(p.getName(), "dummy");
- obj.setDisplayName(title);
- obj.setDisplaySlot(DisplaySlot.SIDEBAR);
- for(String strings : sidebar.keySet()) {
- obj.getScore(strings).setScore(sidebar.get(strings));
- }
- p.setScoreboard(sb);
- }
- private void createTeam(Player p, String name, String entry, String prefix, String suffix) {
- try {
- Scoreboard sb = getScoreboard(p);
- Team team = sb.getTeam(name);
- if(team == null) {
- sb.registerNewTeam(name);
- }
- team.addEntry(entry);
- team.setPrefix(prefix);
- team.setSuffix(suffix);
- }catch(Exception ex) {}
- }
- public static void runScoreboardScheduler() {
- Bukkit.getScheduler().scheduleSyncRepeatingTask(Murder.plugin, new Runnable() {
- @Override
- public void run() {
- for(Player all : Bukkit.getOnlinePlayers()) {
- Murder.scoreboardManager.createTeam(all, "living", "Unschuldige übrig: ", "", "§a" + (Murder.player.size() + Murder.detective.size()));
- Murder.scoreboardManager.createTeam(all, "time", "Zeit übrig: ", "", "§a" + secondsToTime(Murder.ingamecount));
- if(Murder.state == GameState.LOBBY) {
- Murder.scoreboardManager.createTeam(all, "detective", "Detektiv lebt: ", "", "§aJa");
- Murder.scoreboardManager.createTeam(all, "dropped", "Bogen gedroppt: ", "", "§cNein");
- Murder.scoreboardManager.createTeam(all, "map", "§8➥ ", "", "§7Voting");
- }else {
- if(Murder.detective.size() == 1) {
- Murder.scoreboardManager.createTeam(all, "detective", "Detektiv lebt: ", "", "§aJa");
- }else {
- Murder.scoreboardManager.createTeam(all, "detective", "Detektiv lebt: ", "", "§cNein");
- }
- Murder.scoreboardManager.createTeam(all, "map", "§8➥ ", "", "§a" + Murder.map);
- }
- }
- }
- }, 0, 10);
- }
- public static void sendScoreboard(Player p) {
- HashMap<String, Integer> sidebar = new HashMap<>();
- sidebar.put(" ", 9);
- sidebar.put("Unschuldige übrig: ", 8);
- sidebar.put("Zeit übrig: ", 7);
- sidebar.put(" ", 6);
- sidebar.put("Detektiv lebt: ", 5);
- sidebar.put(" ", 4);
- sidebar.put("Karte: ", 3);
- sidebar.put("§8➥ ", 2);
- sidebar.put(" ", 1);
- sidebar.put("§bVillageMC.§3de", 0);
- Murder.scoreboardManager.setSidebar(p, Murder.prefix, sidebar);
- }
- private static String secondsToTime(int sec) {
- int seconds = sec % 60;
- int minutes = sec / 60;
- return String.format("%02d:%02d", minutes, seconds);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement