Помогите Глобальная переменная

Darth Udko

Старожил
Пользователь
Баллы
103
Как можно сделать данную функцию глобальной? Чтобы я мог получить ник игрока в другом классе
Код:
@EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        String name = p.getName();
 
Создай HashMap,ну или массив строк и записывай туда ники,потом передавай экземпляр главного класса в нужный тебе класс.
 
Создай HashMap,ну или массив строк и записывай туда ники,потом передавай экземпляр главного класса в нужный тебе класс.
Код:
String name = p.getName();
Мне нужно только вот это, тоесть ник игрока получить и записать его
 
Код:
String name = p.getName();
Мне нужно только вот это, тоесть ник игрока получить и записать его
Ну так по этой же технологии создавай строку в главном классе,передавай экземпляр главного класса в слушатель и перезаписывай эту переменную как хочешь.
 
Ну так по этой же технологии создавай строку в главном классе,передавай экземпляр главного класса в слушатель и перезаписывай эту переменную как хочешь.
Можно в виде кода? А то чет сложно :D
 
Можно в виде кода? А то чет сложно :D
Код:
.... class Твой_класс extends JavaPlugin {
  String name;

//При регистрации слушателя в слушатель передаешь аргумент "this" - то есть класс в котором сейчас выполняется код
  }

В конструкторе слушателя принимаешь экземпляр класса.В классе должна быть переменная вида. "Название_класса_которого получаешь  plugin"
 
Код:
.... class Твой_класс extends JavaPlugin {
  String name;

//При регистрации слушателя в слушатель передаешь аргумент "this" - то есть класс в котором сейчас выполняется код
  }

В конструкторе слушателя принимаешь экземпляр класса.В классе должна быть переменная вида. "Название_класса_которого получаешь  plugin"
Мне бы еще подробнее, а то я полный 0000000,1
 
Может я делаю какую то наркоманию? Подскажите кто знает как мне здесь получить игрока и получить его ник и вписать в борд?
Код:
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().size();
   
        final Team online = sBoard.registerNewTeam("online");
        online.setSuffix("&a" + onlineCount);
        online.addPlayer(Bukkit.getOfflinePlayer("Онлайн: "));
      
        Objective obj = sBoard.registerNewObjective("Mine", "dummy");
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        obj.setDisplayName(ChatColor.GRAY + "" + ChatColor.BOLD + "Mine" + ChatColor.GOLD + ChatColor.BOLD + "Cst");
      
        Score score = obj.getScore(Bukkit.getOfflinePlayer("Онлайн: "));
        score.setScore(1);
   
        scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
            @Override
            public void run() {
                long onlineCount = Bukkit.getOnlinePlayers().size();
                online.setSuffix("&a" + onlineCount);
                for (Player player : Bukkit.getOnlinePlayers()){
                    player.setScoreboard(sBoard);
                }
            }
        }, 0L, 100L);
        }
 
Последнее редактирование:
Может я делаю какую то наркоманию? Подскажите кто знает как мне здесь получить игрока и получить его ник и вписать в борд?
Код:
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().size();
   
        final Team online = sBoard.registerNewTeam("online");
        online.setSuffix("&a" + 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().size();
                online.setSuffix("&a" + onlineCount);
                for (Player player : Bukkit.getOnlinePlayers()){
                    player.setScoreboard(sBoard);
                }
            }
        }, 0L, 100L);
        }
Тебе чтоли нужно чтото на подобии %player%?
 
Может я делаю какую то наркоманию? Подскажите кто знает как мне здесь получить игрока и получить его ник и вписать в борд?
Код:
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().size();
   
        final Team online = sBoard.registerNewTeam("online");
        online.setSuffix("&a" + 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().size();
                online.setSuffix("&a" + onlineCount);
                for (Player player : Bukkit.getOnlinePlayers()){
                    player.setScoreboard(sBoard);
                }
            }
        }, 0L, 100L);
        }
А почему не пользуешься старым добрым дядькой? А почему ты пытаешься сделать всё сам, когда есть плагины с открытым кодом и таким же функционалом?
 
А почему не пользуешься старым добрым дядькой? А почему ты пытаешься сделать всё сам, когда есть плагины с открытым кодом и таким же функционалом?
Да я уже весь ютуб облазил, там нету того, что мне нужно :(
Тебе чтоли нужно чтото на подобии %player%?
Просто я не могу нигде вставить ивент входа игрока так как код перестает работать. И я вот пытаюсь что то сделать
 
Да я уже весь ютуб облазил, там нету того, что мне нужно :(

Просто я не могу нигде вставить ивент входа игрока так как код перестает работать. И я вот пытаюсь что то сделать
Что не работает? Если тебе нужно чтото на подобие:
Ваш ник: %player%
то нужно для каждого игрока создавать свой скорбоард, если нет, то объясни нормально, что тебе нужно.
 
Что не работает? Если тебе нужно чтото на подобие:
Ваш ник: %player%
то нужно для каждого игрока создавать свой скорбоард, если нет, то объясни нормально, что тебе нужно.
Да, да как мне это сделать?
 
Да я уже весь ютуб облазил, там нету того, что мне нужно :(
А при чём тут тытруба то?
Ищешь плагин со скорбордами, ищешь его сурсы, смотришь как он реализован, делаешь у себя так же. В чем проблема?
 
Назад
Верх