Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Darth Udko, 27 авг 2016.

  1. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Как можно сделать данную функцию глобальной? Чтобы я мог получить ник игрока в другом классе
    Код:
    @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            String name = p.getName();
    
     
  2. Хостинг MineCraft
    <
  3. Novichock

    Novichock Активный участник Пользователь

    Баллы:
    76
    Skype:
    pavel.batalov1
    Создай HashMap,ну или массив строк и записывай туда ники,потом передавай экземпляр главного класса в нужный тебе класс.
     
  4. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Код:
    String name = p.getName();
    Мне нужно только вот это, тоесть ник игрока получить и записать его
     
  5. Novichock

    Novichock Активный участник Пользователь

    Баллы:
    76
    Skype:
    pavel.batalov1
    Ну так по этой же технологии создавай строку в главном классе,передавай экземпляр главного класса в слушатель и перезаписывай эту переменную как хочешь.
     
  6. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Можно в виде кода? А то чет сложно :D
     
  7. Novichock

    Novichock Активный участник Пользователь

    Баллы:
    76
    Skype:
    pavel.batalov1
    Код:
    .... class Твой_класс extends JavaPlugin {
      String name;
    
    //При регистрации слушателя в слушатель передаешь аргумент "this" - то есть класс в котором сейчас выполняется код
      }
    
    В конструкторе слушателя принимаешь экземпляр класса.В классе должна быть переменная вида. "Название_класса_которого получаешь  plugin"
     
  8. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Мне бы еще подробнее, а то я полный 0000000,1
     
  9. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
  10. Novichock

    Novichock Активный участник Пользователь

    Баллы:
    76
    Skype:
    pavel.batalov1
    Читай джавадоки.
     
  11. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    И выпиливаешься.
     
  12. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Обидно(
     
  13. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Может я делаю какую то наркоманию? Подскажите кто знает как мне здесь получить игрока и получить его ник и вписать в борд?
    Код:
    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);
            }
     
    Последнее редактирование: 27 авг 2016
  14. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Тебе чтоли нужно чтото на подобии %player%?
     
  15. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    А почему не пользуешься старым добрым дядькой? А почему ты пытаешься сделать всё сам, когда есть плагины с открытым кодом и таким же функционалом?
     
  16. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Да я уже весь ютуб облазил, там нету того, что мне нужно :([DOUBLEPOST=1472317305,1472317256][/DOUBLEPOST]
    Просто я не могу нигде вставить ивент входа игрока так как код перестает работать. И я вот пытаюсь что то сделать
     
  17. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Что не работает? Если тебе нужно чтото на подобие:
    Ваш ник: %player%
    то нужно для каждого игрока создавать свой скорбоард, если нет, то объясни нормально, что тебе нужно.
     
  18. Автор темы
    Darth Udko

    Darth Udko Старожил Пользователь

    Баллы:
    103
    Да, да как мне это сделать?
     
  19. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    .replace("%name%", p.getName());
     
  20. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Наврятли так можно в скорбоардах делать.
     
  21. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    А при чём тут тытруба то?
    Ищешь плагин со скорбордами, ищешь его сурсы, смотришь как он реализован, делаешь у себя так же. В чем проблема?
     

Поделиться этой страницей