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

Статус
Закрыто для дальнейших ответов.

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);
   }
}
есть такой небольшой код, естественно написанный с подглядыванием у других исходников, но столкнувшись с проблемой, решить её не удалось, в итоге любое падение не наносит урон игроку.А прыжок работает
 
Когда ты обрабатываешь "двойной прыжок" - тебе надо в список добавлять ник игрока и в PlayerDamageEvent определять if(event.getCause() == DamageCause.FALL) и отменять его если в списке есть ник игрока.
 
Когда ты обрабатываешь "двойной прыжок" - тебе надо в список добавлять ник игрока и в PlayerDamageEvent определять if(event.getCause() == DamageCause.FALL) и отменять его если в списке есть ник игрока.
А других способов нет, или код надо переписать?
 
поднимаю тему, вопрос ещё не решён
 
Player.setFallingDistance
Или что-то такое
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх