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

Помогите Получить игроков в радиусе

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    swat1x
    Нужно получить игроков в радиусе и отправить им сообщения. Уже пробовал получить энтити игроков в лист, а потом отправлять им сообщения - не получилось. Можно не кидать ссылку на старые темы с нерабочими кодами, а пример самого РАБОЧЕГО кода
     
  2. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    PHP:
            player.getNearbyEntities(r1r2r2).forEach(entity -> {
                if (!(
    entity instanceof Player))
                    return;
                
    entity.sendMessage("Message");
            });
     
  3. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Если используешь Paper и его API, то Location#getNearbyEntitiesByType(Player.class, radius, radius, radius, null)
     
  4. __Void__

    __Void__ Участник Пользователь

    Баллы:
    36
    Вот еще вариантик:
    Код:
    player.getWorld().getNearbyEntities(
            player.getLocation(),
            10.0D, 10.0D, 10.0D,
            entity -> entity.getType() == EntityType.PLAYER
    ).forEach(entity -> entity.sendMessage("You are nearby"));
    
    Или, если больше нравится с instanceof
    Код:
    player.getWorld().getNearbyEntities(
            player.getLocation(),
            10.0D, 10.0D, 10.0D,
            entity -> entity instanceof Player
    ).forEach(entity -> entity.sendMessage("You are nearby"));
    
    Чтобы исключить игрока, вокруг которого нужно получать сущности:
    Код:
    player.getWorld().getNearbyEntities(
            player.getLocation(),
            10.0D, 10.0D, 10.0D,
            entity -> entity instanceof Player && entity != player
    ).forEach(entity -> entity.sendMessage("You are nearby"));
    
     
  5. alexandrage

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

    Баллы:
    173
    player.getLocation().getNearbyPlayers(radius);
     
Статус темы:
Закрыта.

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