From f5099a2b6d29099433e66781a8b26ab11e1902c8 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Tue, 3 Sep 2024 09:48:02 +0200 Subject: Backend: Graph Node Editor improvements (#2451) Co-authored-by: Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com> Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../at/hannibal2/skyhanni/utils/LocationUtils.kt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt index b9a790d31..ba82321f2 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt @@ -106,4 +106,24 @@ object LocationUtils { val maxZ = min(this.maxZ, other.maxZ) return AxisAlignedBB(minX, minY, minZ, maxX, maxY, maxZ) } + + fun calculatePlayerYaw(): Float { + val player = Minecraft.getMinecraft().thePlayer + var yaw = player.rotationYaw % 360 + if (yaw < 0) yaw += 360 + if (yaw > 180) yaw -= 360 + + return yaw + } + + fun calculatePlayerFacingDirection(): LorenzVec { + var yaw = LocationUtils.calculatePlayerYaw() + 180 + return when { + yaw < 45 -> LorenzVec(0, 0, -1) + yaw < 135 -> LorenzVec(1, 0, 0) + yaw < 225 -> LorenzVec(0, 0, 1) + yaw < 315 -> LorenzVec(-1, 0, 0) + else -> LorenzVec(0, 0, -1) + } + } } -- cgit