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

Помогите Как достать команду (Team) из события PlayerJoinEvent.[Scoreboard]

Тема в разделе "Разработка плагинов для новичков", создана пользователем Grazy, 7 май 2017.

  1. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Помогите нужно достать команду(Team), из события PlayerJoinEvent, и вывести всех игроков этой командой как онлайн. Пытался мудрить сам, но ничего не вышло. Вот код:
    Код:
    public class JediScoreBoard
      implements Listener
    {
      List<Scoreboard> sb = new ArrayList<Scoreboard>();
      static ArrayList<Player> jedi = new ArrayList<Player>();
      static ArrayList<Player> sith = new ArrayList<Player>();
    @EventHandler
      public void onJoin(PlayerJoinEvent e, Objective stats)
      {
        Player p = e.getPlayer();
        Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
        this.sb.add(sb);
        Team jedi = sb.registerNewTeam("Jedi");
        jedi.setPrefix(ChatColor.DARK_AQUA + " ");
        Team sith = sb.registerNewTeam("Sith");
        sith.setPrefix(ChatColor.DARK_RED + " ");
        p.setScoreboard(sb);
        for (Scoreboard board : this.sb) {
          if (Levels.getFaction(p).equalsIgnoreCase("Jedi")) { //Проверка из какой фракции игрок.
            board.getTeam("Jedi").addPlayer(p);
          } else if (Levels.getFaction(p).equalsIgnoreCase("Sith")) { //Проверка из какой фракции игрок.
            board.getTeam("Sith").addPlayer(p);
          }
        for (Player player : Bukkit.getOnlinePlayers()) {
            if (Levels.getFaction(player).equalsIgnoreCase("Jedi")) {  //Проверка из какой фракции игрок.
               (jedi).addPlayer(player);
            } else if (Levels.getFaction(player).equalsIgnoreCase("Sith")) { //Проверка из какой фракции игрок.
              (sith).addPlayer(player);
            }
          }
        }
        updateScoreboard(p);
      }
      @SuppressWarnings("deprecation")
    public static void updateScoreboard(Player p)
      {
        p.getScoreboard().clearSlot(DisplaySlot.SIDEBAR);
        Scoreboard playerBoard = p.getScoreboard();
        for (Objective obj : playerBoard.getObjectives()) {
          obj.unregister();
        }
        Objective stats = playerBoard.registerNewObjective("Stats", "dummy");
        stats.setDisplaySlot(DisplaySlot.SIDEBAR);
        stats.setDisplayName(ChatColor.DARK_GREEN + "UniWars");
        stats.getScore(ChatColor.GOLD + "Сторона").setScore(17);
          if (!Levels.faction.containsKey(p.getName())) {
             stats.getScore(ChatColor.GRAY +"-").setScore(16);
          } else if (((String)Levels.faction.get(p.getName())).equalsIgnoreCase("Jedi")) { //Проверка из какой фракции игрок.
            stats.getScore(ChatColor.DARK_AQUA + "Светлая").setScore(16);
          } else if (((String)Levels.faction.get(p.getName())).equalsIgnoreCase("Sith")) { //Проверка из какой фракции игрок.
            stats.getScore(ChatColor.DARK_RED + "Темная").setScore(16);
            }
        stats.getScore(ChatColor.DARK_GRAY +"  ").setScore(15);
        stats.getScore(ChatColor.GOLD + "Баланс").setScore(9);
        stats.getScore(Main.econ.getBalance(p.getName()) + " ").setScore(8);
        stats.getScore("").setScore(7);
        stats.getScore(ChatColor.GOLD + "Убийств").setScore(6);
        stats.getScore(Levels.kills.get(p.getName()) + "").setScore(5);
        stats.getScore("   ").setScore(4);
        stats.getScore(ChatColor.GOLD + "Смерти").setScore(3);
        stats.getScore(Levels.deaths.get(p.getName()) + " ").setScore(2);
       if (Levels.getFaction(p).equalsIgnoreCase("Jedi")) { //Проверка из какой фракции игрок.
          stats.getScore(playerBoard.getTeam("Jedi").getPlayers().toArray() + " ").setScore(1);
           p.setPlayerListName(jedi + p.getName());
       }
       if (Levels.getFaction(p).equalsIgnoreCase("Sith")) { //Проверка из какой фракции игрок.
           stats.getScore(playerBoard.getTeam("Jedi").getPlayers().toArray() + " ").setScore(1); 
           p.setPlayerListName((Team)sith + p.getName());
        }
      }
    }
     
     
  2. Хостинг MineCraft
    <
  3. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Опять джедик гавнокодят, не помогайте ему плз.[DOUBLEPOST=1494171304,1494171238][/DOUBLEPOST]Лучше у меня норм джедик мой купи..
     
  4. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Ну тк денюшек нету, вот и приходиться самому все делать. Да и переписывать в этом плагине малость, главное упорство и прямые руки. Давай сейчас не об этом, не хочу с кем либо ссорится.
     
  5. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    В консоль посмотри и найди момент загрузки/запуска плагина. Поймешь свою криворукость.
     
  6. HunterGaming

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

    Баллы:
    46
    Имя в Minecraft:
    HunterGaming13
    У тебя типо джедикрафт без говнокода, да?[DOUBLEPOST=1494188275][/DOUBLEPOST]
    Это случаем не твой-ли джеди?
     
  7. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Щас бы мне сливать СВОЙ же джедик с чужого сервера... Подумай, прежде чем писать это...[DOUBLEPOST=1494200281,1494200247][/DOUBLEPOST]
    Мой джедик есть только у меня и у ещё 1 человека, ты даже не знаешь, что в нём.
     
  8. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Убрал уже давно.
    ------------------------------------------------------------------------------------------------------------------------------------
    Метод playerBoard.getTeam("Jedi").getPlayers().toArray() не работает.
     
  9. HunterGaming

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

    Баллы:
    46
    Имя в Minecraft:
    HunterGaming13
    Зачем toArray(), если это итак массив?!
     
  10. demkom

    demkom Администратор Пользователь

    Баллы:
    76
    Skype:
    demkom1983
    Имя в Minecraft:
    G_demkom_G
    лоооол. Орнул.
     
  11. HunterGaming

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

    Баллы:
    46
    Имя в Minecraft:
    HunterGaming13
    С чего?
     
  12. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    На ютубе видел что онлайн Team, так выводили toArray() [0].
    Мне нужно достать из события PlayerJoinEvent, команды jedi и sith, тк как их там создали я не могу достать их оттуда.
    Я тк понял что должно получиться что-то типа такого: Jedi.getPlayers().toArray() + " ".
     
  13. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Тогда уж .size()
     
  14. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Пфф, в одном из плагинов я нашел решения своем проблемы, но он обсуфицырован.
    Код там такой:
    Код:
            JediScoreBoard.\u380b(jedi);
            JediScoreBoard.\u380b(sith);
            for (Player player2 : Bukkit.getOnlinePlayers()) {
                if (JediScoreBoard.\ub804(JediScoreBoard.\u04d6(player2), JediScoreBoard$Jabba.\u7096("\udb05\u71cc\u196e\u2d1e")) != false) {
                    JediScoreBoard.\u9af2(jedi, player2);
                }
                if (JediScoreBoard.\ub804(JediScoreBoard.\u04d6(player2), JediScoreBoard$Jabba.\u7096("\udb1c\u71c0\u197e\u2d1f")) != false) {
                    JediScoreBoard.\u9af2(sith, player2);
                }
            if (JediScoreBoard.\u48b5(jedi, player) != false) {
                objective2.getScore((String)JediScoreBoard.\ub7bd(JediScoreBoard.\u6821(JediScoreBoard.\uc3ed(new StringBuilder(), ChatColor.DARK_AQUA), JediScoreBoard.\u8da3(jedi)))).setScore(1);
                player.setPlayerListName((String)JediScoreBoard.\ub7bd(JediScoreBoard.\u40c3(JediScoreBoard.\uc3ed(new StringBuilder(), ChatColor.DARK_AQUA), player.getName())));
            }
            if (JediScoreBoard.\u48b5(sith, player) != false) {
                objective2.getScore((String)JediScoreBoard.\ub7bd(JediScoreBoard.\u6821(JediScoreBoard.\uc3ed(new StringBuilder(), ChatColor.DARK_RED), JediScoreBoard.\u8da3(sith)))).setScore(1);
                player.setPlayerListName((String)JediScoreBoard.\ub7bd(JediScoreBoard.\u40c3(JediScoreBoard.\uc3ed(new StringBuilder(), ChatColor.DARK_RED), player.getName())));
            }
            }
        }
    [\code]
     
  15. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    В моём плагин это уже создано, могу продать.
     
  16. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Нет, зачем покупать если можно саму все сделать. Не пиши больше не по теме.
     
  17. VeryNothing

    VeryNothing Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    null
    Тебе в ком.раздел, тут помощь новичкам, а не оказания платных услуг.
     
  18. Автор темы
    Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Кхм, если мне нужно было-бы переписать плагин я бы и написал в ком.раздел, или даже купил уже готовый. В этом разделе все задают вопросы о том как писать плагины, а не "напишите мне пж, потому-что я не умею"(хотя и такие бывают).
     
  19. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Хороший набив сообщений...
     
  20. HunterGaming

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

    Баллы:
    46
    Имя в Minecraft:
    HunterGaming13
    У тебя тоже
     
  21. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Покажи...
     

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