Помогите Партиклы

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

AlexMor

Активный участник
Пользователь
Баллы
76
Всем здравствуйте и с новым годом, надеюсь все покушали салат оливье, а кто еще не успел, что странно, сейчас же идет и ест!
Вопрос очень краток:
Как создать партиклы по координатам, но чтоб они были выше на 1 блок чем уровень твердых блоков (чтоб не спавнились в земле).
Заранее спасибо знающим людям))
 
И на счет гугла, я нашел тему про партиклы но не понятно, а про проверку твердый ли блок по координатам я вообще не нашел
 
Java:
World w; //не забываем его инициализировать например Bukkit.getServer().getWorld("world");
//где то задал локацию location
//проверяем локацию
if (location.getBlock().getType()==Material.AIR){
   w.spawnParticle(Particle.Название, location - локация, int/*у разных партиклов отвечает за разное*/);
}
написал от руки, так что проверяй синтаксис
а еще используй поиск, недавно апалась подобная тема
 
Всем здравствуйте и с новым годом, надеюсь все покушали салат оливье, а кто еще не успел, что странно, сейчас же идет и ест!
Вопрос очень краток:
Как создать партиклы по координатам, но чтоб они были выше на 1 блок чем уровень твердых блоков (чтоб не спавнились в земле).
Заранее спасибо знающим людям))
Если хочешь проверить блок твёрдый или нет, проверяй его на блок AIR.
 
Как то так:
Код:
    public void action(Player p){
        int x=p.getLocation().getBlockX();
        int z=p.getLocation().getBlockZ();
        int y=p.getLocation().getBlockY();
        for(;y<255;y++){
            if(isAllowedBlock(p.getWorld().getBlockAt(x, y, z))) break;
        }
        p.spawnParticle(Particle.PORTAL, new Location(p.getWorld(), x, y, z), 0);
    }

    public boolean isAllowedBlock(Block b){
        return (b.getType()==Material.AIR) || (b.isLiquid());
    }
 
Как то так:
Код:
    public void action(Player p){
        int x=p.getLocation().getBlockX();
        int z=p.getLocation().getBlockZ();
        int y=p.getLocation().getBlockY();
        for(;y<255;y++){
            if(isAllowedBlock(p.getWorld().getBlockAt(x, y, z))) break;
        }
        p.spawnParticle(Particle.PORTAL, new Location(p.getWorld(), x, y, z), 0);
    }

    public boolean isAllowedBlock(Block b){
        return (b.getType()==Material.AIR) || (b.isLiquid());
    }
Круто спасибо!!!
 
Назад
Верх