@@ -69,7 +69,7 @@ object RotationManager : RequestHandler<RotationRequest>(
6969 var activeRotation = Rotation .ZERO
7070 var serverRotation = Rotation .ZERO
7171 @JvmStatic var prevServerRotation = Rotation .ZERO
72- var baritoneRequest : RotationRequest ? = null
72+ private var usingBaritoneRotation = false
7373
7474 var activeRequest: RotationRequest ? = null
7575 private var changedThisTick = false
@@ -89,6 +89,7 @@ object RotationManager : RequestHandler<RotationRequest>(
8989 }
9090
9191 listen<TickEvent .Post >(priority = Int .MIN_VALUE ) {
92+ usingBaritoneRotation = false
9293 activeRequest?.let { request ->
9394 request.age++
9495 }
@@ -177,7 +178,8 @@ object RotationManager : RequestHandler<RotationRequest>(
177178 @JvmStatic
178179 fun handleBaritoneRotation (yaw : Float ) {
179180 runSafe {
180- baritoneRequest = lookAt(Rotation (yaw, player.pitch)).requestBy(BaritoneManager )
181+ activeRequest = lookAt(Rotation (yaw, player.pitch)).requestBy(BaritoneManager )
182+ usingBaritoneRotation = true
181183 }
182184 }
183185
@@ -188,7 +190,7 @@ object RotationManager : RequestHandler<RotationRequest>(
188190 */
189191 @JvmStatic
190192 fun redirectStrafeInputs (input : Input ) = runSafe {
191- if (activeRequest == baritoneRequest ) return @runSafe
193+ if (usingBaritoneRotation ) return @runSafe
192194
193195 val movementYaw = movementYaw ? : return @runSafe
194196 val playerYaw = player.yaw
@@ -272,7 +274,7 @@ object RotationManager : RequestHandler<RotationRequest>(
272274 prevServerRotation = serverRotation
273275 serverRotation = activeRotation
274276
275- if (activeRequest?.rotationMode == RotationMode .Lock ) {
277+ if (activeRequest?.rotationConfig?. rotationMode == RotationMode .Lock ) {
276278 mc.player?.yaw = serverRotation.yawF
277279 mc.player?.pitch = serverRotation.pitchF
278280 }
@@ -285,19 +287,15 @@ object RotationManager : RequestHandler<RotationRequest>(
285287 private fun SafeContext.updateActiveRotation () {
286288 activeRotation = activeRequest?.let { active ->
287289 val rotationTo = if (active.keepTicks >= 0 )
288- active.target.targetRotation.value
289- ? : activeRotation // the same context gets used again && the rotation is null this tick
290+ active.target.targetRotation.value ? : activeRotation // the same context gets used again && the rotation is null this tick
290291 else player.rotation
291292
292- val speedMultiplier = if (active.keepTicks < 0 ) 1.0 else active.speedMultiplier
293- val turnSpeed = active.turnSpeed * speedMultiplier
294-
295293 if (active.keepTicks-- <= 0 ) {
296294 active.decayTicks--
297295 }
298296
299297 // Important: do NOT wrap the result yaw; keep it continuous to match vanilla packets
300- serverRotation.slerp(rotationTo, turnSpeed)
298+ serverRotation.slerp(rotationTo, active.rotationConfig. turnSpeed)
301299 } ? : player.rotation
302300
303301 logger.debug(" Active rotation set to $activeRotation " , activeRequest)
@@ -313,45 +311,43 @@ object RotationManager : RequestHandler<RotationRequest>(
313311
314312 @JvmStatic
315313 val lockRotation
316- get() = activeRequest?.let {
317- if (it.rotationMode == RotationMode .Lock && it.keepTicks > 0 && it.decayTicks > 0 )
318- return @let activeRotation
319- else null
314+ get() = activeRequest?.let { active ->
315+ activeRotation.takeIf { active.rotationConfig.rotationMode == RotationMode .Lock && active.keepTicks > 0 && active.decayTicks > 0 }
320316 }
321317
322318 @JvmStatic
323319 val headYaw
324- get() = if ( activeRequest == null ) null else activeRotation.yawF
320+ get() = activeRotation.yawF. takeIf { activeRequest != null }
325321
326322 @JvmStatic
327323 val headPitch
328- get() = if ( activeRequest == null ) null else activeRotation.pitchF
324+ get() = activeRotation.pitchF. takeIf { activeRequest != null }
329325
330326 @JvmStatic
331327 val handYaw
332- get() = if ( activeRequest?.rotationMode == RotationMode .Lock ) activeRotation.yawF else null
328+ get() = activeRotation.yawF. takeIf { activeRequest?.rotationConfig?. rotationMode == RotationMode .Lock }
333329
334330 @JvmStatic
335331 val handPitch
336- get() = if ( activeRequest?.rotationMode == RotationMode .Lock ) activeRotation.pitchF else null
332+ get() = activeRotation.pitchF. takeIf { activeRequest?.rotationConfig?. rotationMode == RotationMode .Lock }
337333
338334 @JvmStatic
339335 val movementYaw: Float?
340336 get() {
341- if (activeRequest == null || activeRequest?.rotationMode == RotationMode .Silent ) return null
342- return activeRotation.yaw.toFloat()
337+ return if (activeRequest == null || activeRequest?.rotationConfig?. rotationMode == RotationMode .Silent ) null
338+ else activeRotation.yaw.toFloat()
343339 }
344340
345341 @JvmStatic
346342 val movementPitch: Float?
347343 get() {
348- if (activeRequest == null || activeRequest?.rotationMode == RotationMode .Silent ) return null
349- return activeRotation.pitch.toFloat()
344+ return if (activeRequest == null || activeRequest?.rotationConfig?. rotationMode == RotationMode .Silent ) null
345+ else activeRotation.pitch.toFloat()
350346 }
351347
352348 @JvmStatic
353349 fun getRotationForVector (deltaTime : Double ): Vec2d ? {
354- if (activeRequest == null || activeRequest?.rotationMode == RotationMode .Silent ) return null
350+ if (activeRequest == null || activeRequest?.rotationConfig?. rotationMode == RotationMode .Silent ) return null
355351
356352 val rot = lerp(deltaTime, serverRotation, activeRotation)
357353 return Vec2d (rot.yaw, rot.pitch)
0 commit comments