diff --git a/src/main/kotlin/net/hareworks/npc-mannequin/service/MannequinTickTask.kt b/src/main/kotlin/net/hareworks/npc-mannequin/service/MannequinTickTask.kt index 3fc1038..04798db 100644 --- a/src/main/kotlin/net/hareworks/npc-mannequin/service/MannequinTickTask.kt +++ b/src/main/kotlin/net/hareworks/npc-mannequin/service/MannequinTickTask.kt @@ -1,6 +1,8 @@ package net.hareworks.npc_mannequin.service +import net.hareworks.npc_mannequin.mannequin.MannequinRecord import org.bukkit.GameMode +import org.bukkit.Location class MannequinTickTask(private val registry: MannequinRegistry) { fun tick() { @@ -106,19 +108,19 @@ class MannequinTickTask(private val registry: MannequinRegistry) { var startYaw = state.resetStartYaw var endYaw = homeLoc.yaw // Normalize to -180..180 - while (startYaw < -180) startYaw += 360 - while (startYaw >= 180) startYaw -= 360 - while (endYaw < -180) endYaw += 360 - while (endYaw >= 180) endYaw -= 360 - + while (startYaw < -180f) startYaw += 360f + while (startYaw >= 180f) startYaw -= 360f + while (endYaw < -180f) endYaw += 360f + while (endYaw >= 180f) endYaw -= 360f + var diff = endYaw - startYaw - if (diff < -180) diff += 360 - if (diff > 180) diff -= 360 + if (diff < -180f) diff += 360f + if (diff > 180f) diff -= 360f val currentYaw = startYaw + (diff * progress) val currentPitch = state.resetStartPitch + (homeLoc.pitch - state.resetStartPitch) * progress - val newLoc = location.clone() + val newLoc = location.clone() as Location newLoc.yaw = currentYaw newLoc.pitch = currentPitch