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

Помогите Сколько игроков в gm 0

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

Статус темы:
Закрыта.
  1. Автор темы
    ermaksochi

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

    Баллы:
    66
    Код:
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if(args.length == 0) {
                return false;
            }
            else if(args[0].equals("start")) {
                if(args.length == 1) {
                sender.sendMessage("Укажите название ивента (Spleef)");
                return true;
                }
                if (Bukkit.getServer().getOnlinePlayers().length <= 1) {
                    sender.sendMessage("Недостаточно игроков для запуска ивента, нужно как минимум 2 игрока");
                return true;
                }
                if(args[0].equals("start") && args[1].equals("Spleef")) {
                    Bukkit.getPluginManager().registerEvents(new Spleef(plugin), plugin);
                return true;
                }
            }
    
    В этом коде видно что он достаёт сколько игроков на сервере онлайн, но он достаёт всех даже тех кто в креативе а мне надо только тех кто в gm 0
    P.S. Я плагин пишу на 1.7.10 версии майнкрафт
     
    Последнее редактирование: 31 авг 2018
  2. the3dester

    the3dester Новичок Пользователь

    Баллы:
    6
    Что-то вроде этого, не знаю правильно ли написал, т.к без среды разработки написал.
    Код:
    List<String> players = Bukkit.getOnlinePlayers().stream().filter(player -> player.getGameMode() == GameMode.SURVIVAL).collect(Collectors.toList());
    Я конечно понимаю, что писать это глупо, но я советую перейти на версию поновее, хотя бы на 1.10.
     
  3. Автор темы
    ermaksochi

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

    Баллы:
    66
    Шо я не так делаю? upload_2018-8-31_23-23-37.png
     
  4. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Динозавришь
    PHP:
    public int countPlayersByGamemode(GameMode mode) {
      
    int count 0;
      for(
    Player playerBukkit.getOnlinePlayers()){
        if(
    player.getGameMode()==modecount++;
      }
      return 
    count;
    }
     
  5. the3dester

    the3dester Новичок Пользователь

    Баллы:
    6
    Видимо, в старых версиях Bukkit.getOnlinePlayers() возвращает массив.
     
    Последнее редактирование: 1 сен 2018
  6. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Arrays.stream
     
Статус темы:
Закрыта.

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