Amélioration de la commande /staff et meilleure gestion de la file d'attente /Staff

This commit is contained in:
2015-01-27 02:37:46 -05:00
parent 85fa583ef5
commit b01ffd8bcb
6 changed files with 247 additions and 76 deletions

View File

@@ -0,0 +1,60 @@
package net.mc_pandacraft.java.util;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;
public class ScoreBoardUtil {
/**
* Met à jour la Sidebar d'un Scoreboard donné
* @param scBrd Le Scoreboard à mettre à jour (ne doit pas être null)
* @param title Le titre de la Sidebar
* @param lines Les lignes qui doivent être affichés. Si un éléments du tableau est null, il sera compté comme une chaine vide. Toutes les lignes seront rognés aux 16 premiers caractères
*/
public static void updateScoreboardSidebar(Scoreboard scBrd, String title, String[] lines) {
if (scBrd == null) throw new IllegalArgumentException("scBrd doit être non null");
Objective obj = scBrd.getObjective("sidebar_autogen");
if (obj != null)
obj.unregister();
if (lines == null || lines.length == 0)
return;
obj = scBrd.registerNewObjective("sidebar_autogen", "dummy");
obj.setDisplayName(title == null ? "" : title);
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
int boardPos = lines.length;
for (String line : lines) {
if (line == null) line = "";
Score score = obj.getScore(
Bukkit.getServer().getOfflinePlayer(
line.substring(
0,
(line.length()>16) ? 16 : line.length()
)
)
);
score.setScore(boardPos);
boardPos--;
}
}
/**
* Met à jour la Sidebar d'un Scoreboard donné
* @param scBrd Le Scoreboard à mettre à jour
* @param title Le titre de la Sidebar
* @param lines Les lignes qui doivent être affichés. Si un éléments du tableau est null, il sera compté comme une chaine vide. Toutes les lignes seront rognés aux 16 premiers caractères
*/
public static void updateScoreboardSidebar(Scoreboard scBrd, String title, List<String> lines) {
updateScoreboardSidebar(scBrd, title, lines.toArray(new String[lines.size()]));
}
}