- Баллы
- 66
Нужно сделать переменную OnlineCount глобальной чтобы она читалась в счедулере. Добавить public к строке
long onlineCount = Bukkit.getOnlinePlayers().length; не получается
long onlineCount = Bukkit.getOnlinePlayers().length; не получается
Java:
public final class Main extends JavaPlugin implements Listener{
public void onEnable()
{
getServer().getPluginManager().registerEvents(this, this);
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
ScoreboardManager sbManager = Bukkit.getScoreboardManager();
final Scoreboard sBoard = sbManager.getNewScoreboard();
long onlineCount = Bukkit.getOnlinePlayers().length;
Team online = sBoard.registerNewTeam("online");
online.setSuffix(onlineCount);
online.addPlayer(Bukkit.getOfflinePlayer("Онлайн: "));
Objective obj = sBoard.registerNewObjective("MineChest", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(ChatColor.GRAY + "" + ChatColor.BOLD + "Mine" + ChatColor.GOLD + ChatColor.BOLD + "Chest");
Score score = obj.getScore(Bukkit.getOfflinePlayer("Онлайн: "));
score.setScore(1);
scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
@Override
public void run() {
long onlineCount = Bukkit.getOnlinePlayers().length;
for (Player player : Bukkit.getOnlinePlayers()){
player.setScoreboard(sBoard);
}
}
}, 0L, 100L);
}
}
