if (arrow.getShooter() instanceof Player && Variables.jump.containsKey(((Player) arrow.getShooter()).getUniqueId())) { final Player p = (Player) arrow.getShooter(); if (p.getGameMode() != GameMode.CREATIVE && Variables.jump.get(p.getUniqueId())) arrow.getWorld().dropItem(arrow.getLocation(), SlimefunItem.getItem("GRAPPLING_HOOK")); if (p.getLocation().distance(arrow.getLocation()) < 3.0D) { if (arrow.getLocation().getY() > p.getLocation().getY()) { p.setVelocity(new Vector(0.0D, 0.25D, 0.0D)); else p.setVelocity(arrow.getLocation().toVector().subtract(p.getLocation().toVector())); for (Entity n: Variables.remove.get(p.getUniqueId())) { n.remove(); double d = arrow.getLocation().distance(l); double t = d; double v_x = (1.0D + 0.08000000000000001D * t) * (arrow.getLocation().getX() - l.getX()) / t; double v_y = (1.0D + 0.04D * t) * (arrow.getLocation().getY() - l.getY()) / t - 0.5D * g * t; double v_z = (1.0D + 0.08000000000000001D * t) * (arrow.getLocation().getZ() - l.getZ()) / t;