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

Прыжок на несколько блоков в высоту

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

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

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

    Баллы:
    16
    Пробовал сделать прыжок на 2 или 3 блока вверх, но пока что ничего толкового не вышло. Никто не знает, как реализовать?
     
  2. Mr Hosting
  3. MrMagaChannel

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

    Баллы:
    46
    Имя в Minecraft:
    mrmagachannel
    Эффект прыгучести
     
  4. Автор темы
    Taranton

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

    Баллы:
    16
    Я имею в виду конкретно прыжок на определенное кол-во блоков. Например, на 3. Без эффектов, через код.
     
  5. LetsDank

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

    Баллы:
    6
    Имя в Minecraft:
    LetsDank
    Код:
    @EventHandler
    public void onFlightAttempt(PlayerToggleFlightEvent event) {
     
        if(!event.isFlying && event.getPlayer().getGameMode() != GameMode.CREATIVE) {
     
            event.getPlayer().setVelocity(event.getPlayer().getVelocity().add(new Vector(0,0.25,0)));
            event.setCancelled(true);
     
        }
     
    }
     
  6. Автор темы
    Taranton

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

    Баллы:
    16
    Ничего не поменялось(
     
  7. hyndorik

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

    Баллы:
    76
    Имя в Minecraft:
    hyndo
    И че не работает?
     
  8. Nikolai_Faint

    Nikolai_Faint Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    Faint
    Войти в креатив.
     
  9. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Vector v = p.getLocation().getDirection();
    v.setY(1.5);
    p.setVelocity(v);
     
  10. Автор темы
    Taranton

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

    Баллы:
    16
    Ну этот ивент не вызывается. После махинаций с PlayerMove все таки заходит, но данное условие не выполняется
     
  11. Автор темы
    Taranton

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

    Баллы:
    16
    Зачем заходить в креатив, если в условии прописано, что режим не должен быть креатив
     
  12. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    А для чего именно вам нужен этот код?
     
  13. Автор темы
    Taranton

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

    Баллы:
    16
    Для своих целей. Делаю один плагин
     
  14. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Хмм, не хочешь не говори. Если тебе нужно подкинуть игрока на три блока вверх, векторы тебе в помощь.
     
  15. Автор темы
    Taranton

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

    Баллы:
    16
    Ну игроки будут прыгать не на 1 блок в высоту, а на 2-3.
    В этот же ивент помещать? PlayerToggleFlight?
     
  16. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Смотри, получаешь игрока с самого ивента:
    Код:
        @EventHandler
        public void ars(PlayerToggleFlightEvent e){
            Player p = e.getPlayer();
            Vector v = p.getLocation().getDirection().setY(3);
            p.setVelocity(v);
        }
    
    Не совсем понял что за ивент ты слушаешь...
    Тут скорее всего нужна будет задержка, а то игроки смогут летать), еще античит кикать будет)
     
    Последнее редактирование: 9 окт 2017
  17. Автор темы
    Taranton

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

    Баллы:
    16
    Ну как я понял, этот ивент работает если нажать на пробел два раза. А я вот хотел бы, чтобы при нажатии одного раза прыжок был на 2 блока вверх
     
  18. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Может тебе дать игроку просто эфект прыгучести, вот посмотри мой пример.
    Код:
    @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player player = e.getPlayer();
            if (player.getWorld().getName().equals("World_the_end")) {
                PotionEffectType type = PotionEffectType.JUMP;
                PotionEffect effect = new PotionEffect(type, 999999999, 3, false, false);
                player.addPotionEffect(effect);
            } else {
                PotionEffectType type = PotionEffectType.JUMP;
                player.removePotionEffect(type);
            }
        }
    
     
  19. Автор темы
    Taranton

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

    Баллы:
    16
    И можно установить на какое количество блоков он будет подпрыгивать?
     
  20. hyndorik

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

    Баллы:
    76
    Имя в Minecraft:
    hyndo
  21. alexandrage

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

    Баллы:
    173
    Со стороны сервера вообще нет определения прыжка, этим занимается клиаент. Тебе придется дать эффект прыгучисти 2-3 уровня. Нравится тебе это, или нет.
     

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