Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Как подкинуть игрока?

Discussion in 'Разработка плагинов для новичков' started by Nippels, Jun 6, 2017.

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

    Nippels Новичок Пользователь

    Trophy Points:
    21
    Имя в Minecraft:
    Nippels
    Хочу сделать так чтобы игрока бросило вверх на сколько-то блоков. Не знаю как :(
    Главное, чтобы не тп'шило, а именно кидало!
     
  2. Хостинг MineCraft
    <
  3. Sambon_

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

    Trophy Points:
    88
    Skype:
    morbla_kun
    Имя в Minecraft:
    Satael
    Ну, гипотетически, можно сделать так, чтобы его телепортировало циклически на 0.3333 блока до того момента, пока не достигнет нужной высоты, а дальше он сам упадёт.
     
  4. Автор темы
    Nippels

    Nippels Новичок Пользователь

    Trophy Points:
    21
    Имя в Minecraft:
    Nippels
    Вероятно. Если функция по легче setVelocity. Только она не работает =/
    Code:
    Vector vec = new Vector(p.getVelocity().getX(), p.getVelocity().getY() + 8, p.getVelocity().getZ());
            p.setVelocity(vec);
     
  5. hyndorik

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

    Trophy Points:
    66
    Имя в Minecraft:
    hyndo
    Code:
        public static void pushTo(Entity target, Location to, double multiply) {
            Vector unitVector = to.toVector().subtract(target.getLocation().toVector()).normalize();
            target.setVelocity(unitVector.multiply(multiply).add(new Vector(0.0, 0.1, 0.0)));
        }
        public static void pushFrom(Entity target, Location from, double multiply) {
            Vector unitVector = target.getLocation().toVector().subtract(from.toVector()).normalize();
            target.setVelocity(unitVector.multiply(multiply).add(new Vector(0.0, 0.1, 0.0)));
        }
     
  6. Grazy

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

    Trophy Points:
    76
    Имя в Minecraft:
    Prost
    Попробуй так, у меня все работает.
    PHP:
                Vector v player.getLocation().getDirection();
                
    v.setY(0).normalize().multiply(4).setY(1.5);
                
    player.setVelocity(v);
     
     
  7. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Объясните нубу, что за метод normalize() =(
     
  8. Cristalix

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

    Trophy Points:
    61
    Имя в Minecraft:
    Superzeka
    Где я могу почитать о векторе?
    (Гуглом пользоваться не умею)
     
  9. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    В ГУГЛЕ
     
  10. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Ну все - выбрасывай.
     
  11. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Видимо, никто не знает...
     
  12. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Ничего он не делает, вроде бы..
     
  13. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Делает там что-то с x y z вроде бы..
     
  14. Dymeth

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

    Trophy Points:
    76
    Приводит вектор к стандартному виду. Т.е. к длине в одну единицу.
    Соответственно multiply после этого задает конкретную длину, а не некоторое абстрактное значение.
     

Share This Page