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

  • Автор темы Автор темы AdraliK
  • Дата начала Дата начала

AdraliK

Участник
Пользователь
Баллы
31
Имя в Minecraft
AdraliK
Всем здравствуйте. Как сделать так, чтобы была проверка: есть ли Entity на таких то координатах X, Y, Z???
 
По нормальному никак. На них нет мове ивента. Юзай шедулер.

Я знаю что ивента такого нету но есть такая вещь, как loc.getWorld().getBlockAt(x, y, z) - получает блок на определённых кордах
Искал что-то подобное для Entity, но не нашел((
 
Хммм, а можно ли как-то проверить через взгляд игрока?
 
Зависит для чего. Обычно через BukkitRunnable c проверкой через
делают.

Слышал уже от других пользователей, но я новичок и я не совсем понимаю как это сделать, вы можете составить код. Кстати, покопался и нашел как сделать проверку с определенным радиусом,но всё же хочется сделать через проверку кордов
 
Пример для зомби. Подходит когда надо проверить забрел ли моб куда-то. Для других целей, возможно, можно использовать код внутри run() в ивенте.
PHP:
//Вместо ... - твои значения
Location loc = ...;
double radius = ...;
new BukkitRunnable() {
  public void run() {
    Collection<Entity> entities = loc.getWorld().getNearbyEntities(loc,radius,radius,radius); //получение всех сущностей в радиусе
    for(Entity entity : entities) {
        //Будем искать всех зомби в радиусе вокруг локации
        if(entity instanceof Zombie) { //проверка зомби ли это
          Zombie zombie = (Zombie) entity;
          //TODO что-нить
        }
    }
  }
}.runTaskTimer(plugin, 0, 100); //запуск раз в 100 тиков = 5 секунд
 
Слышал уже от других пользователей, но я новичок и я не совсем понимаю как это сделать, вы можете составить код. Кстати, покопался и нашел как сделать проверку с определенным радиусом,но всё же хочется сделать через проверку кордов
Ну а как ты себе представляешь через проверку коордов?
Там не буквально радиус, getNearbyEntities как раз проверяет в кубоиде, можешь сделать 0.5 0.5 0.5, и это будет тебе 1 блок.
 
Назад
Верх