Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
чо - та долго.5 минут
Спасибо огромное!)-_-
Щас се будет
создаем статичный метод со входящим аргументом Player:
public static void (Player p) {
}
Находим сам ск:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
}
Регаем новую задачу:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
}
Выводим вывод ск и его название:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(String);
}
Задаем сами очки и их значение (у нас же dummy)
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(String);
Score sc = obj.getScore(Bukkit.getOnlinePlayers().size + Bukkit.getMaxPlayers()); // я знаю, что не поставил слэш, но не как-то по***.
sc.setScore(int)
}
И последнее:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(String);
Score sc = obj.getScore(Bukkit.getOnlinePlayers().size + Bukkit.getMaxPlayers());
sc.setScore(int)
p.setScoreboard(board);
}
Регаешь два твоих ивента на выход и вход, вызываешь этот статичный метод, указываешь ему аргумент (это игрок) и профит. Ты получил то, что хотел.
Я сделал немного по другому...но у меня возникли проблемы,вот код-_-
Щас се будет
создаем статичный метод со входящим аргументом Player:
public static void classname (Player p) {
}
Находим сам ск:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
}
Регаем новую задачу:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
}
Выводим вывод ск и его название:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(String);
}
Задаем сами очки и их значение (у нас же dummy)
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(String);
Score sc = obj.getScore(Bukkit.getOnlinePlayers().size + Bukkit.getMaxPlayers()); // я знаю, что не поставил слэш, но не как-то по***.
sc.setScore(int)
}
И последнее:
public static void (Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManageer();
Scoreboard board = manager.getNewScoreBoard();
Objective obj = board.registerNewObjective("obj", "dummy");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName(String);
Score sc = obj.getScore(Bukkit.getOnlinePlayers().size + Bukkit.getMaxPlayers());
sc.setScore(int)
p.setScoreboard(board);
}
Регаешь два твоих ивента на выход и вход, вызываешь этот статичный метод, указываешь ему аргумент (это игрок) и профит. Ты получил то, что хотел.
public PlayerListener(){
Objective obj = scoreboard.registerNewObjective("Test","Test");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName("Test_Server");
Score score = obj.getScore(ChatColor.GOLD+ "Сервер: "+ ChatColor.GREEN + "Test");
score.setScore(5);
}
@EventHandler
public void JoinPlayer(PlayerJoinEvent event){
Player p = event.getPlayer();
p.setScoreboard(scoreboard);
Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR);
Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + Bukkit.getOnlinePlayers().size()));
score.setScore(1);
}
@EventHandler
public void move(PlayerQuitEvent event){
Player p = event.getPlayer();
Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR);
Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + (Bukkit.getOnlinePlayers().size() - 1)));
score.setScore(1);
}
public PlayerListener(){
Objective obj = scoreboard.registerNewObjective("Test","Test");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName("Test_Server");
Score score = obj.getScore(ChatColor.GOLD+ "Сервер: "+ ChatColor.GREEN + "Test");
score.setScore(5);
}
@EventHandler
public void JoinPlayer(PlayerJoinEvent event){
Player p = event.getPlayer();
p.setScoreboard(scoreboard);
Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR);
Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + Bukkit.getOnlinePlayers().size()));
score.setScore(1);
}
@EventHandler
public void move(PlayerQuitEvent event){
Player p = event.getPlayer();
Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR);
Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + (Bukkit.getOnlinePlayers().size() - 1)));
score.setScore(1);
}
Ты вообще сделал не так. Во-первых я бы порекомендовал делать скорборд в статическом методе, оттуда его вызывать из ивентов.Спасибо огромное!)
Я сделал немного по другому...но у меня возникли проблемы,вот код
Проблема на картинке...мне нужно чтобы оно перечисляло(когда игрок зашел на сервер),а не создавало новый score, и отнимало (-1) когда игрок выходитКод:public PlayerListener(){ Objective obj = scoreboard.registerNewObjective("Test","Test"); obj.setDisplaySlot(DisplaySlot.SIDEBAR); obj.setDisplayName("Test_Server"); Score score = obj.getScore(ChatColor.GOLD+ "Сервер: "+ ChatColor.GREEN + "Test"); score.setScore(5); } @EventHandler public void JoinPlayer(PlayerJoinEvent event){ Player p = event.getPlayer(); p.setScoreboard(scoreboard); Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR); Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + Bukkit.getOnlinePlayers().size())); score.setScore(1); } @EventHandler public void move(PlayerQuitEvent event){ Player p = event.getPlayer(); Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR); Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + (Bukkit.getOnlinePlayers().size() - 1))); score.setScore(1); }
Я сделал немного по другому...но у меня возникли проблемы,вот код
Проблема на картинке...мне нужно чтобы оно перечисляло(когда игрок зашел на сервер),а не создавало новый score, и отнимало (-1) когда игрок выходитКод:public PlayerListener(){ Objective obj = scoreboard.registerNewObjective("Test","Test"); obj.setDisplaySlot(DisplaySlot.SIDEBAR); obj.setDisplayName("Test_Server"); Score score = obj.getScore(ChatColor.GOLD+ "Сервер: "+ ChatColor.GREEN + "Test"); score.setScore(5); } @EventHandler public void JoinPlayer(PlayerJoinEvent event){ Player p = event.getPlayer(); p.setScoreboard(scoreboard); Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR); Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + Bukkit.getOnlinePlayers().size())); score.setScore(1); } @EventHandler public void move(PlayerQuitEvent event){ Player p = event.getPlayer(); Objective obj = scoreboard.getObjective(DisplaySlot.SIDEBAR); Score score = obj.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.BLUE + "Сейчас онлайн: " + ChatColor.YELLOW + "" + ChatColor.BOLD + (Bukkit.getOnlinePlayers().size() - 1))); score.setScore(1); }
Я разобрался)тема закрытаТы вообще сделал не так. Во-первых я бы порекомендовал делать скорборд в статическом методе, оттуда его вызывать из ивентов.
Ясное дело, что дублируется, ведь ты, как я понял создаешь два разных объекта.