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

Помогите Рывок для игрока

Тема в разделе "Разработка плагинов для новичков", создана пользователем MOR_IV, 26 май 2017.

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

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Приветствую. В геометрии не силён, вот и пишу сюда.
    Имеем игрока, так вот его надо толкнуть в направлении взгляда на определенное количество блоков.
    Уже давно ломаю голову.
    Если беру вектор взгляда, умножаю на число, то вверх летит очень сильно, а стоя на земле на короткое расстояние.
    Может есть у кого готовое решение?
    Любые идеи.
     
  2. Хостинг MineCraft
    <
  3. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Умножай x и z взгляда на один коэффициент, а y на другой =)
     
  4. Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    B1ruk
    Код:
        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)));
        }
    Это должно помочь в реализации
     
  5. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Да действительно, стало лучше.

    Честно, мало помогло. Мне проще взять просто вектор взгляда и умножить.

    Ещё идеи?
     
  6. MamkinHasker

    MamkinHasker Ньюби

    Баллы:
    1
    Имя в Minecraft:
    MamkinHasker
    Бери motionX и MotionZ *= 2.0f;
    Должно толкнуть как следует.
     
  7. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    motionX *= 0.4F;
    motionY *= 0.7F;
    motionZ *= 0.4F;
     
  8. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
     
  9. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Не много не догоняю, как это притулить?
    И как сделать движение в направлении взгляда?
    Говорю же в геометрии вообще не шарю.
     
  10. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    CraftPlayer или setVelocity
     
  11. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    p.setVelocity(p.getLocation().getDirection().multiply(20));
     
  12. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Вот в данный момент так и сделал, только умножаю на вектор, с маленьким y, что бы исключить высокий прыжок в небо.
     

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