From b2ccef4334ac8498dcc62feab9377ca4e7b55c73 Mon Sep 17 00:00:00 2001 From: ExeRSolver Date: Thu, 1 Feb 2024 20:56:34 -0500 Subject: [PATCH] Update yaw-based angle correction --- .../model/datastate/endereye/NormalEnderEyeThrow.java | 4 ++-- .../model/datastate/highprecision/BoatEnderEyeThrow.java | 4 ++-- .../integrationtests/PreferencesIntegrationTests.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/ninjabrainbot/model/datastate/endereye/NormalEnderEyeThrow.java b/src/main/java/ninjabrainbot/model/datastate/endereye/NormalEnderEyeThrow.java index d8288332..f97f07e9 100644 --- a/src/main/java/ninjabrainbot/model/datastate/endereye/NormalEnderEyeThrow.java +++ b/src/main/java/ninjabrainbot/model/datastate/endereye/NormalEnderEyeThrow.java @@ -48,8 +48,8 @@ public EnderEyeThrowType getType() { private static double getCorrectedHorizontalAngle(double alpha, double crosshairCorrection) { alpha += crosshairCorrection; - // Determined experimentally, exact cause unknown - alpha -= 0.00079 * Math.sin((alpha + 45) * Math.PI / 180.0); + // Caused by rounding in client-bound move entity packets + alpha -= 0.000824 * Math.sin((alpha + 45) * Math.PI / 180.0); return alpha; } diff --git a/src/main/java/ninjabrainbot/model/datastate/highprecision/BoatEnderEyeThrow.java b/src/main/java/ninjabrainbot/model/datastate/highprecision/BoatEnderEyeThrow.java index a14141d6..3375341f 100644 --- a/src/main/java/ninjabrainbot/model/datastate/highprecision/BoatEnderEyeThrow.java +++ b/src/main/java/ninjabrainbot/model/datastate/highprecision/BoatEnderEyeThrow.java @@ -49,8 +49,8 @@ public EnderEyeThrowType getType() { private static double getCorrectedHorizontalAngle(double alpha, double crosshairCorrection) { alpha += crosshairCorrection; - // Determined experimentally, exact cause unknown - alpha -= 0.00079 * Math.sin((alpha + 45) * Math.PI / 180.0); + // Caused by rounding in client-bound move entity packets + alpha -= 0.000824 * Math.sin((alpha + 45) * Math.PI / 180.0); return alpha; } diff --git a/src/test/java/ninjabrainbot/integrationtests/PreferencesIntegrationTests.java b/src/test/java/ninjabrainbot/integrationtests/PreferencesIntegrationTests.java index a06aa9ab..4494ae66 100644 --- a/src/test/java/ninjabrainbot/integrationtests/PreferencesIntegrationTests.java +++ b/src/test/java/ninjabrainbot/integrationtests/PreferencesIntegrationTests.java @@ -37,8 +37,8 @@ void CrosshairCorrectionIntegrationTest(float crosshairCorrection) { // Assert TestUtils.awaitSwingEvents(); - double experimentallyCorrectedHorizontalAngle = horizontalAngle - 0.00079 * Math.sin((horizontalAngle + 45) * Math.PI / 180.0); + double packetRoundingCorrectedHorizontalAngle = horizontalAngle - 0.000824 * Math.sin((horizontalAngle + 45) * Math.PI / 180.0); Assertions.assertEquals(Math.round((horizontalAngle + crosshairCorrection) * 100f) / 100f, enderEyePanelTestAdapter.getPanel(0).getAngle(), 1e-4); - Assertions.assertEquals(experimentallyCorrectedHorizontalAngle + crosshairCorrection, integrationTestBuilder.dataState.getThrowList().get(0).horizontalAngle(), 1e-4); + Assertions.assertEquals(packetRoundingCorrectedHorizontalAngle + crosshairCorrection, integrationTestBuilder.dataState.getThrowList().get(0).horizontalAngle(), 1e-4); } }