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

Помогите Двойной прыжок и урон от падения

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

Статус темы:
Закрыта.
  1. Автор темы
    Valerra2

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

    Баллы:
    36
    Имя в Minecraft:
    Draherx
    Код:
      @EventHandler
       public void onMove(PlayerMoveEvent e)
       {
         Player p = e.getPlayer();
         if(p.getGameMode() == GameMode.CREATIVE || p.getGameMode() == GameMode.SPECTATOR){
           return;
         }
         if(p.isOnGround()){
           if (!p.getAllowFlight()){
             p.setAllowFlight(true);
           }
         }
       }
       @EventHandler
       public void onToggle (PlayerToggleFlightEvent e){
         Player p = e.getPlayer();
         if(p.getGameMode() == GameMode.CREATIVE || p.getGameMode() == GameMode.SPECTATOR){
           return;
         }
         e.setCancelled(true);
         p.setFlying(false);
         p.setAllowFlight(false);
         Location loc = p.getLocation();
         org.bukkit.util.Vector v = loc.getDirection().multiply(0.5D).setY(0.4D);
         p.setVelocity(v);
         loc.getWorld().playSound(loc,Sound.BLOCK_SNOW_BREAK, 2.2F, 3.1F);
       }
    }
    есть такой небольшой код, естественно написанный с подглядыванием у других исходников, но столкнувшись с проблемой, решить её не удалось, в итоге любое падение не наносит урон игроку.А прыжок работает
     
  2. Хостинг MineCraft
    <
  3. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Когда ты обрабатываешь "двойной прыжок" - тебе надо в список добавлять ник игрока и в PlayerDamageEvent определять if(event.getCause() == DamageCause.FALL) и отменять его если в списке есть ник игрока.
     
  4. Автор темы
    Valerra2

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

    Баллы:
    36
    Имя в Minecraft:
    Draherx
    А других способов нет, или код надо переписать?
     
  5. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Не переписывать, а дописывать)
     
  6. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    нахрена, если дамаг и так не работает.
     
  7. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    А, не так понял задачу.
     
  8. Автор темы
    Valerra2

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

    Баллы:
    36
    Имя в Minecraft:
    Draherx
    поднимаю тему, вопрос ещё не решён
     
  9. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Ну так, включи логику: игроки в полёте не получают дамаг
     
  10. Dymeth

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

    Баллы:
    76
    Player.setFallingDistance
    Или что-то такое
     
Статус темы:
Закрыта.

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