Not sure where to put this. You'd figure there would be some sort of "Bug Reports" forum... But there isn't. So I'll just post it here and hope that it fits in. Basically, there's a problem with yaw calculation all the way down to the NMS level. I hope at least one person can save a couple wasted hours (unlike myself) by reading this and knowing why they're getting values like 746 and -1285 for yaw. When the player is looking directly South, the yaw is 0. Yaw counterclockwise of South up to -179.999[...] is negative. Yaw clockwise of South up to 180 is positive. This is the way it should be. I'm using South because South is what is currently showing up as 0. In the past, this used to be North before the direction switch. When you do a complete 360° circle counterclockwise, all yaw counterclockwise of due South past the complete circle is always a negative number Yaw should be a positive number when clockwise of due South, up to 180. When you do a complete 360° circle clockwise, all yaw clockwise of due South past the complete circle is always a positive number Yaw should be a negative number when counterclockwise of due South, up to -179.999[...]. So basically yaw isn't being reset when it goes less than -180 and greater than 180, and it's also not respecting the fact that counterclockwise of due South should be a negative number and clockwise of due South should be a positive number. float yaw = ((EntityLiving)((CraftLivingEntity)((LivingEntity)p)).getHandle()).yaw; I also tapped into NMS code to see if it was calculated the same there, and it is. I guess this means that to do the yaw-based calculations that I do, I'll have to start using some ugly Location loc2 = loc.clone(); loc2.setYaw(o); 's everywhere. tl;dr: yaw not correctly being calculated all the way down to the NMS level.