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

Помогите Можно ли сделать игроку медленное падение?

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mr_RoboMan, 31 мар 2016.

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

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

    Баллы:
    123
    Я телепортирую игрока блоков на ~10 выше земли, можно ли ему как-то организовать "медленное" или хотя-бы "замедленное" падение? Ну чтоб и красиво было и урона не получил. Какими костылями это можно сделать? (1.9)
     
  2. Хостинг MineCraft
    <
  3. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    типо как с крыльями, только тупо вертикально вниз?
     
  4. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Возможно понесу полнейший бред, но можно попробывать добавлять велосити к игроку, направление которого будет противоположно падению.
     
  5. Dymeth

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

    Баллы:
    76
    Возможно новый эффект левитации?
     
  6. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Простейшее решение:
    Код:
        @EventHandler
        public void onMove(PlayerMoveEvent e)
        {
            Player pl = e.getPlayer();
    
            Location f = e.getFrom().clone();
            Location t = e.getTo().clone();
    
            //направление вектора движения
            Vector dir = t.subtract(f).toVector().normalize();
    
            //координаты валидны
            if(!(Double.isNaN(dir.getX()) && Double.isNaN(dir.getY()) && Double.isNaN(dir.getZ())))
            {
                if(dir.getY() < 0)
                {
                    if(Math.abs(dir.getBlockY()) > Math.abs(dir.getX()) && Math.abs(dir.getY()) > Math.abs(dir.getZ()))
                    {
                        //более красивое отлавливание падения делайте сами
                        pl.setVelocity(dir.multiply(0.5d));//0.5 - множитель замедления.
                    }
                }
            }
        }
    UPD: edited.
     
    Последнее редактирование: 31 мар 2016
  7. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Врядли, отрицательный эффект (типо левитация силой -1) нельзя же вроде..
    Спасибо, обязательно попробую когда дома буду!![DOUBLEPOST=1459424207,1459423777][/DOUBLEPOST]
    Если игрок падает с замедленной скоростью и не может двигатся это для меня вообще идеально!! Главное чтоб когда игрок достиг земли все стало нормально!!
     
  8. fall.us

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

    Баллы:
    76
    Имя в Minecraft:
    fallus
    Как вам угодно. Экспериментируйте.
     
  9. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Обязательно, но сейчас в боулинге - с телефона((
     
  10. GoodCoder

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

    Баллы:
    76
    Только эффект игроку какой-нибудь накладывать, иначе в клиенте он будет рывками падать, так как клиент думает что игрок падает с обычной скоростью.
     
  11. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Ээ... Любой эффект? И чем это поможет?
    Попробую, но читать плагины для меня сложнее чем писать...
     
  12. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Можешь дать feather falling на ботинки, если это минигейм
     
  13. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Не, не минигейм - в обычном мире надо (эх, протестил бы сейчас, да глаза сливаются уже..)
     
  14. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Окееей, попытаюсь, главное сразу выключить полет по приземлению, и "тащение" вниз, мне не нужны халявщики которые будут себе флай получать xD
     

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