Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.ScoreboardManager;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.Set;
- public class Board {
- private static ScoreboardManager manager = Bukkit.getScoreboardManager();
- private Scoreboard scoreboard;
- private Objective objective;
- public Board(String name) {
- this.scoreboard = manager.getNewScoreboard();
- this.objective = scoreboard.registerNewObjective("Board", "dummy");
- this.objective.setDisplaySlot(DisplaySlot.SIDEBAR);
- }
- public Board(Player player) {
- if(player.getScoreboard() != null && player.getScoreboard().getObjective(DisplaySlot.SIDEBAR) != null) {
- this.scoreboard = player.getScoreboard();
- this.objective = scoreboard.getObjective(DisplaySlot.SIDEBAR);
- } else {
- this.scoreboard = manager.getNewScoreboard();
- this.objective = scoreboard.registerNewObjective("Board", "dummy");
- this.objective.setDisplaySlot(DisplaySlot.SIDEBAR);
- }
- }
- public String getDisplayName() {
- return objective.getDisplayName();
- }
- public void setDisplayName(String displayName) {
- objective.setDisplayName(displayName);
- }
- public void addEntry(int score, String text) {
- if(score > 15) {
- return;
- }
- for(String entry : scoreboard.getEntries()) {
- if(objective.getScore(entry).getScore() == score) {
- if(entry.equals(text)) {
- return;
- }
- scoreboard.resetScores(entry);
- break;
- }
- }
- objective.getScore(text).setScore(score);
- }
- public void removeEntry(int score) {
- if(score > 16) {
- return;
- }
- for(String entry : scoreboard.getEntries()) {
- if(objective.getScore(entry).getScore() == score) {
- scoreboard.resetScores(entry);
- break;
- }
- }
- }
- public void clear() {
- for(String entry : scoreboard.getEntries()) {
- scoreboard.resetScores(entry);
- }
- }
- public Set<String> getEntries() {
- return Collections.unmodifiableSet(scoreboard.getEntries());
- }
- public void send(Player... players) {
- if(players != null) {
- send(Arrays.asList(players));
- }
- }
- public void send(List<Player> players) {
- for(Player player : players) {
- player.setScoreboard(scoreboard);
- }
- }
- }
Add Comment
Please, Sign In to add comment