Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.iclicks.yok.kingdom.scoreboard;
- import org.bukkit.entity.*;
- import org.bukkit.*;
- import org.bukkit.scoreboard.*;
- import me.iclicks.yok.main.*;
- import java.util.*;
- public class SDBBoard
- {
- private Scoreboard scoreboard;
- private Objective objective;
- private List<String> previousScoreboard;
- public SDBBoard(final Player player, final String title) {
- this.previousScoreboard = new ArrayList<String>();
- final ScoreboardManager scoreboardManager = Bukkit.getServer().getScoreboardManager();
- final Scoreboard scoreboard = scoreboardManager.getNewScoreboard();
- final Objective objective = scoreboard.registerNewObjective("scoreboard", "dummy");
- objective.setDisplaySlot(DisplaySlot.SIDEBAR);
- objective.setDisplayName(ChatColor.translateAlternateColorCodes('&', title));
- this.scoreboard = scoreboard;
- this.objective = objective;
- player.setScoreboard(scoreboard);
- }
- public Team getTeamByPlayer(final Player p) {
- return this.scoreboard.getTeam(me.iclicks.yok.kingdom.scoreboard.ScoreboardManager.getInstance().getScoreboardHandler().getPrefix(p, p));
- }
- public Team getTeamByString(final String s) {
- return this.scoreboard.getTeam(s);
- }
- public void setPrefix(final Player p, final String prefix) {
- Bukkit.getScheduler().runTask(Kingdom.pl, (Runnable)new Runnable() {
- @Override
- public void run() {
- if (SDBBoard.this.getTeamByString(prefix) == null) {
- SDBBoard.this.scoreboard.registerNewTeam(prefix);
- }
- final Team team = SDBBoard.this.scoreboard.getTeam(prefix);
- if (!team.hasEntry(p.getName())) {
- team.addEntry(p.getName());
- }
- team.setPrefix(prefix);
- }
- });
- }
- public void setTitle(final String title) {
- if (this.objective == null) {
- return;
- }
- this.objective.setDisplayName(title);
- }
- public void build(final List<String> lines) {
- Bukkit.getScheduler().runTaskAsynchronously(Kingdom.pl, (Runnable)new Runnable() {
- @Override
- public void run() {
- int score = lines.size();
- final List<String> l = new ArrayList<String>();
- for (final String s : lines) {
- if (score < 1) {
- break;
- }
- if (l.contains(s)) {
- continue;
- }
- l.add(s);
- final Integer innerMi = new Integer(score);
- Bukkit.getScheduler().runTask(Kingdom.pl, (Runnable)new Runnable() {
- @Override
- public void run() {
- SDBBoard.this.objective.getScore(s).setScore((int)innerMi);
- }
- });
- --score;
- }
- for (final String s : SDBBoard.this.previousScoreboard) {
- if (!lines.contains(s)) {
- Bukkit.getScheduler().runTask(Kingdom.pl, (Runnable)new Runnable() {
- @Override
- public void run() {
- SDBBoard.this.scoreboard.resetScores(s);
- }
- });
- }
- }
- SDBBoard.access$3(SDBBoard.this, l);
- }
- });
- }
- static /* synthetic */ void access$3(final SDBBoard sdbBoard, final List previousScoreboard) {
- sdbBoard.previousScoreboard = (List<String>)previousScoreboard;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement