if(!BlockType.canPassThrough(p.getLocation().add(0, 2, 0).getBlock().getTypeId()))
p.teleport(p.getLocation().add(0, speed, 0));
} else if (newLocation.getY() < p.getLocation().getY()) {
p.setVelocity(new Vector(0, -speed,0));
if(!BlockType.canPassThrough(p.getLocation().add(0, -1, 0).getBlock().getTypeId()))
p.teleport(p.getLocation().add(0, -speed, 0));
} else {
teleportFinish(player, destination, shift);
if(flyingPlayers.contains(p.getUniqueId())) {
p.setFlying(false);
p.setAllowFlight(p.getGameMode() == GameMode.CREATIVE);