1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите как получить количество игроков которые находятся в ADVENTURE

Тема в разделе "Разработка плагинов для новичков", создана пользователем AguRChek_TV, 14 сен 2020.

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

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    как получить количество игроков которые находятся в ADVENTURE
     
  2. Erelima

    Erelima Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Erelima
    Что то подобное, или циклом
    Код:
    Bukkit.getOnlinePlayers().stream().filter(player -> player.getGameMode() == GameMode.ADVENTURE).forEach(player -> {});
     
  3. Автор темы
    AguRChek_TV

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    Код:
    int size = 0;
                ArrayList<Player> PE = new ArrayList<Player>(); // с адвенчуром
                ArrayList<Player> PL = new ArrayList<Player>(); // все игроки
                PL.addAll(Bukkit.getOnlinePlayers());
                for(Player pe : PL){
                    if(pe.getGameMode().equals(GameMode.ADVENTURE)) {
                            PE.add(pe);
                            size = PE.size();
                        }
                    }
    
                p.sendMessage("" + size);
    
    ну я либо тупенький, либо очень, но работает трогать кароч не буду.
     
  4. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Не, ну это даже не смешно. Попробуй начать изучение языка, а не сразу бросаться на плагины. Вопросов у тебя будет намного меньше.
    PHP:
    int count 0;
    for (
    Player player Bukkit.getOnlinePlayer())
        if (
    player.getGameMode() == GameMode.ADVENTUREcount++;
    p.sendMessage(Integer.toString(count));
    Тебе не нужно создавать новые коллекции(у тебя - ArrayList), у тебя уже есть Bukkit.getOnlinePlayers(), а для счёта игроков дак вообще достаточно, собственно, просто считать.
     
  5. Erelima

    Erelima Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Erelima
    :creeper:
     
  6. Автор темы
    AguRChek_TV

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

    Баллы:
    76
    Имя в Minecraft:
    AguRChek_TV
    так не интересно братик
     
  7. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Осталось только понять где тут 2 цикла, ибо filter не терминальная операция. В жабе помоему вообще почти нет терминальных промежуточных Stream операций.
     
  8. alexandrage

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

    Баллы:
    173
    И чем же он тогда отбирает если не циклом?
     
  9. Pigeon

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

    Баллы:
    76
    Сделать какую-нибудь команду и через неё проходиться циклом.
    PHP:
    @Override

    public boolean onCommand(CommandSender senderCommand cmdString labelString[] args) {

        if (
    sender instanceof Player) {

            
    Player p = (Playersender;
            
    int a 0;
           
            for(
    Player pl Bukkit.getOnlinePlayers()) {
           
                if(
    p.getGameMode() == GameMode.ADVENTURE) {
               
                    
    += 1;
               
                }
           
            }
       
            
    p.sendMessage("Кол-во игроков = " a);
       
        } else {

            
    sender.sendMessage("Вы не игрок!");

        }

        return 
    false;

    }
     
    Последнее редактирование: 14 сен 2020
  10. Erelima

    Erelima Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Erelima
    Этот код работает похоже на чистой магии и печеньках
     
  11. Pigeon

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

    Баллы:
    76
    :D

    Проходим циклом по каждому игроку, в теле цикла проверяем игрока на его игровой режим.
    Если ADVENTURE, то прибавляем к a 1, выводим сообщение игроку после цикла. Профит.

    Вообще, это то же, что написал ImDanix.
     
    Последнее редактирование: 14 сен 2020
  12. Erelima

    Erelima Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Erelima
    Присмотрись у кого ты геймод проверяешь
     
  13. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Ничем, на то они и не терминальные операции, что преобразуют элемент по цепочке когда терминальная операция запрашивает его.
     
  14. Pigeon

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

    Баллы:
    76
    Ну да, тупанул)
    Вместо "p" должно быть "pl" в цикле.
     

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