1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов 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. TheZefirrkka

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

    Баллы:
    76
    Опять джедик гавнокодят, не помогайте ему плз.
    Лучше у меня норм джедик мой купи..
     
  3. Автор темы
    Grazy

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

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

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

    Баллы:
    96
    В консоль посмотри и найди момент загрузки/запуска плагина. Поймешь свою криворукость.
     
  5. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    У тебя типо джедикрафт без говнокода, да?
    Это случаем не твой-ли джеди?
     
  6. TheZefirrkka

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

    Баллы:
    76
    Щас бы мне сливать СВОЙ же джедик с чужого сервера... Подумай, прежде чем писать это...
    Мой джедик есть только у меня и у ещё 1 человека, ты даже не знаешь, что в нём.
     
  7. Автор темы
    Grazy

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

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

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

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

    demkom Guest

    лоооол. Орнул.
     
  10. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    С чего?
     
  11. Автор темы
    Grazy

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

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

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

    Баллы:
    76
    Тогда уж .size()
     
  13. Автор темы
    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]
     
  14. TheZefirrkka

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

    Баллы:
    76
    В моём плагин это уже создано, могу продать.
     
  15. Автор темы
    Grazy

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

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

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

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

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

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

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

    Баллы:
    76
    Хороший набив сообщений...
     
  19. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    У тебя тоже
     
  20. TheZefirrkka

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

    Баллы:
    76
    Покажи...
     

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