case "FunTimeSnap": {
float clampedYawSpeed = Math.min(Math.max(Math.abs(yawDelta), 0.8F), 65.0F);
float clampedPitchSpeed = Math.min(Math.max(Math.abs(pitchDelta), 0.8F), 75.0F);
float yawRandomness = ThreadLocalRandom.current().nextFloat(-1.5F, 1.5F);
float pitchRandomness = ThreadLocalRandom.current().nextFloat(-1.5F, 1.5F);
yaw = this.rotateVector.x + (yawDelta > 0.0F ? clampedYawSpeed : -clampedYawSpeed) + yawRandomness;
pitch = MathHelper.clamp(this.rotateVector.y + (pitchDelta > 0.0F ? clampedPitchSpeed : -clampedPitchSpeed), -70.0F, 70.0F) + pitchRandomness;
if (!this.shouldPlayerFalling()) {
float smoothYaw = (mc.player.rotationYaw - this.rotateVector.x) * 0.5F;
float smoothPitch = (mc.player.rotationPitch - this.rotateVector.y) * 0.5F;
yaw = this.rotateVector.x + smoothYaw + yawRandomness;
pitch = MathHelper.clamp(this.rotateVector.y + smoothPitch, -70.0F, 70.0F) + pitchRandomness;
}
gcd = SensUtils.getGCDValue();
yaw -= (yaw - this.rotateVector.x) % gcd;
pitch -= (pitch - this.rotateVector.y) % gcd;
this.rotateVector = new Vector2f(yaw, pitch);
if ((Boolean)this.options.getValueByName("Коррекция движения").get()) {
mc.player.rotationYawOffset = yaw;
}
break;
}