Помогите [РЕШЕНО] Получить окружающие рядом блоки

  • Автор темы Автор темы AlbertV
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

AlbertV

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Lingue
Всем привет! Я хочу получить блоки находящиеся рядом с Armor Stand. Метод такой не нашел.
Нашел лишь только такие:
- getHighestBlockAt и т.д.
 
Ну так циклом перебираешь в радиусе от самого стенда - world.getBlockAt(). В чём проблема?
 
Ну так циклом перебираешь в радиусе от самого стенда - world.getBlockAt(). В чём проблема?
Я написал так:
Код:
Location standloc = stand.getLocation();
if(stand.getLocation().getWorld().getBlockAt(standloc).getType() != Material.AIR) {
    stand.remove();
}
И нифига(
 
PHP:
//с расчёта что меч где-то на уровне глаз стенда
if(stand.getEyeLocation().getBlock().getType()==Material.AIR) {
  stand.remove();
}
//методом выше стенд исчезнет когда залетит в блок, можно делать это и раньше
//                       |Добавляем 0.5 блока по направлению движения стенда|
if(stand.getEyeLocation().add(stand.getVelocity().normalize().multiply(0.5)).getBlock().getType()==Material.AIR) {
  stand.remove();
}
 
PHP:
//с расчёта что меч где-то на уровне глаз стенда
if(stand.getEyeLocation().getBlock().getType()==Material.AIR) {
  stand.remove();
}
//методом выше стенд исчезнет когда залетит в блок, можно делать это и раньше
//                       |Добавляем 0.5 блока по направлению движения стенда|
if(stand.getEyeLocation().add(stand.getVelocity().normalize().multiply(0.5)).getBlock().getType()==Material.AIR) {
  stand.remove();
}
((

Тоже не работает(
 
Где ты его используешь? Дай больше кода
PHP:
BukkitRunnable runnable = new BukkitRunnable() {
   @Override
    public void run() {
        stand.setVelocity(player.getLocation().getDirection());
        List<Entity> ne = (List<org.bukkit.entity.Entity>) stand.getLocation().getWorld().getNearbyEntities(stand.getLocation(), 1, 1, 1);
        for (org.bukkit.entity.Entity all : ne) {
            if (all instanceof Player && all.equals((Object) player) || all instanceof ArmorStand || all instanceof Item || !(all instanceof LivingEntity))
                continue;
            ((LivingEntity) all).damage(5);
            stand.remove();
            if (stand.getEyeLocation().add(stand.getVelocity().normalize().multiply(0.5)).getBlock().getType() != Material.AIR) {
                stand.remove();
            }
        }
    }
};
runnable.runTaskTimer(Main.getInstance(), 0L, 0L);
 
PHP:
BukkitRunnable runnable = new BukkitRunnable() {
    [USER=79777]@Override[/USER]
    public void run() {
        stand.setVelocity(player.getLocation().getDirection());
        List<Entity> ne = (List<org.bukkit.entity.Entity>) stand.getLocation().getWorld().getNearbyEntities(stand.getLocation(), 1, 1, 1);
        for (org.bukkit.entity.Entity all : ne) {
            if (all instanceof Player && all.equals((Object) player) || all instanceof ArmorStand || all instanceof Item || !(all instanceof LivingEntity))
                continue;
            ((LivingEntity) all).damage(5);
            stand.remove();
            if (stand.getEyeLocation().add(stand.getVelocity().normalize().multiply(0.5)).getBlock().getType() != Material.AIR) {
                stand.remove();
            }
        }
    }
};
runnable.runTaskTimer(Main.getInstance(), 0L, 0L);
Используй тег php для подсветки, на форуме нету для джавы.
И вынеси код с проверкой блока с цикла, он никогда не запустится когда надо.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх