Spokers
Пользователь
- Сообщения
- 70
- Решения
- 1
1) Сервер игнорирует существование скора
2)Spigot 1.8
3)
2)Spigot 1.8
3)
Java:
public ISCOREAPI sapi;
public void onEnable() {
sapi=new ISCOREAPI();
}
public static void onScore(Player p) {
File pl_f = new File("plugins/GZerus/players", ""+ p.getName() +".yml");
FileConfiguration pl = YamlConfiguration.loadConfiguration(pl_f);
ISCOREAPI api = new ISCOREAPI();
api.createObjective(Strings.p, "GZerus"); //Ваш заголовок
api.createTeam("GZerusP");
api.setScore(Bukkit.getOfflinePlayer("§e§lСтатистика"), 15);
api.setScore(Bukkit.getOfflinePlayer("§e§l " + p.getName()), 14);
api.setScore(Bukkit.getOfflinePlayer("§fСломано блоков: " + pl.getInt("users."+p.getName()+".blocks")), 13);
api.setScore(Bukkit.getOfflinePlayer("§fУбито монстров: " + pl.getInt("users."+p.getName()+".Kill_mob")), 12);
api.setScore(Bukkit.getOfflinePlayer("§fУбито игроков: " + pl.getInt("users."+p.getName()+".Kill_player")), 11);
api.addPlayerToTeam("GZerusP", p);
api.refreshPlayerScoreboard(p);
}
Java:
public class ISCOREAPI
{
/* ISCOREAPI by Firebreath15 v1.5
*
* Written for private use. Do not duplicate or republish.
*/
Scoreboard board;
Objective obj;
public ISCOREAPI()
{
this.board = Bukkit.getScoreboardManager().getNewScoreboard();
}
public void setScoreboard(Player p) {
this.board = p.getScoreboard();
this.obj = this.board.getObjective(DisplaySlot.SIDEBAR);
}
public void createObjective(String name, String desc) {
if (this.board.getObjective(name) == null) {
this.obj = this.board.registerNewObjective(name, desc);
this.obj.setDisplayName(name);
this.obj.setDisplaySlot(DisplaySlot.SIDEBAR); // Вы можете сделать не только "таблицы", можно и сделать подсчет над головой, главное в DisplaySlot выберите другой вариант. Их существует несколько. Посмотрите на вики
}
}
public void removeObjective(String obj) {
if(board.getObjective(obj)!=null){
this.board.getObjective(obj).unregister();
}
}
public void createTeam(String name) {
if (this.board.getTeam(name) == null) {
Team team = this.board.registerNewTeam(name);
team.setDisplayName(name);
}
}
public void removeTeam(String team) {
this.board.getTeam(team).unregister();
}
public void addPlayerToTeam(String team, Player p) {
this.board.getTeam(team).addPlayer(p);
}
public int getScores(OfflinePlayer p) {
Score score = this.obj.getScore(p);
return score.getScore();
}
public void setScore(OfflinePlayer p, int sc) {
Score score = this.obj.getScore(p);
score.setScore(sc);
}
public void removePlayerFromTeam(String team, Player p) {
if(this.board.getTeam(team)!=null){
if(this.board.getTeam(team).hasPlayer(p)){
this.board.getTeam(team).removePlayer(p);
}
}
}
public void refreshPlayerScoreboard(Player p) {
p.setScoreboard(this.board);
}
public Scoreboard getPlayerScoreboard(Player p) {
return p.getScoreboard();
}
public void removePlayerScoreboard(Player p) {
board.getObjective(DisplaySlot.SIDEBAR).unregister();
}