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

Помогите Проверка координат Entity

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

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

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

    Баллы:
    31
    Имя в Minecraft:
    AdraliK
    Всем здравствуйте. Как сделать так, чтобы была проверка: есть ли Entity на таких то координатах X, Y, Z???
     
  2. Mr Hosting
  3. alexandrage

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

    Баллы:
    173
    По нормальному никак. На них нет мове ивента. Юзай шедулер.
     
  4. Автор темы
    AdraliK

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

    Баллы:
    31
    Имя в Minecraft:
    AdraliK
    Я знаю что ивента такого нету но есть такая вещь, как loc.getWorld().getBlockAt(x, y, z) - получает блок на определённых кордах
    Искал что-то подобное для Entity, но не нашел((
     
  5. Автор темы
    AdraliK

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

    Баллы:
    31
    Имя в Minecraft:
    AdraliK
    Хммм, а можно ли как-то проверить через взгляд игрока?
     
  6. alexandrage

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

    Баллы:
    173
    getNearbyEntities
     
  7. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Зависит для чего. Обычно через BukkitRunnable c проверкой через
    делают.
     
  8. Автор темы
    AdraliK

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

    Баллы:
    31
    Имя в Minecraft:
    AdraliK
    Слышал уже от других пользователей, но я новичок и я не совсем понимаю как это сделать, вы можете составить код. Кстати, покопался и нашел как сделать проверку с определенным радиусом,но всё же хочется сделать через проверку кордов
     
  9. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Пример для зомби. Подходит когда надо проверить забрел ли моб куда-то. Для других целей, возможно, можно использовать код внутри run() в ивенте.
    PHP:
    //Вместо ... - твои значения
    Location loc = ...;
    double radius = ...;
    new 
    BukkitRunnable() {
      public 
    void run() {
        
    Collection<Entityentities loc.getWorld().getNearbyEntities(loc,radius,radius,radius); //получение всех сущностей в радиусе
        
    for(Entity entity entities) {
            
    //Будем искать всех зомби в радиусе вокруг локации
            
    if(entity instanceof Zombie) { //проверка зомби ли это
              
    Zombie zombie = (Zombieentity;
              
    //TODO что-нить
            
    }
        }
      }
    }.
    runTaskTimer(plugin0100); //запуск раз в 100 тиков = 5 секунд
     
  10. LuckyZeeRo

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

    Баллы:
    76
    Имя в Minecraft:
    i0xHeX
    Ну а как ты себе представляешь через проверку коордов?
    Там не буквально радиус, getNearbyEntities как раз проверяет в кубоиде, можешь сделать 0.5 0.5 0.5, и это будет тебе 1 блок.
     

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