From 1ecedb203bc340b41cddceaa7fc3824dbd7dbfc5 Mon Sep 17 00:00:00 2001 From: Rin Date: Thu, 5 Feb 2026 00:33:54 +0800 Subject: [PATCH] fix(minecraft): correct gaze ray pitch direction --- services/minecraft/src/cognitive/reflex/gaze.test.ts | 6 +++--- services/minecraft/src/cognitive/reflex/gaze.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/services/minecraft/src/cognitive/reflex/gaze.test.ts b/services/minecraft/src/cognitive/reflex/gaze.test.ts index ecc846a0..463f4be0 100644 --- a/services/minecraft/src/cognitive/reflex/gaze.test.ts +++ b/services/minecraft/src/cognitive/reflex/gaze.test.ts @@ -1,5 +1,5 @@ -import { describe, expect, it } from 'vitest' import { Vec3 } from 'vec3' +import { describe, expect, it } from 'vitest' import { rayTraceBlockFromEntity } from './gaze' @@ -22,7 +22,7 @@ describe('rayTraceBlockFromEntity', () => { username: 'tester', position: new Vec3(0, 64, 0), yaw: 0, - pitch: Math.PI / 4, + pitch: -Math.PI / 4, } const result = rayTraceBlockFromEntity(bot, entity, { maxDistance: 8, step: 0.1 }) @@ -42,7 +42,7 @@ describe('rayTraceBlockFromEntity', () => { username: 'tester', position: new Vec3(0, 64, 0), yaw: 0, - pitch: -Math.PI / 4, + pitch: Math.PI / 4, } const result = rayTraceBlockFromEntity(bot, entity, { maxDistance: 8, step: 0.1 }) diff --git a/services/minecraft/src/cognitive/reflex/gaze.ts b/services/minecraft/src/cognitive/reflex/gaze.ts index b6d12b09..39bb2b1e 100644 --- a/services/minecraft/src/cognitive/reflex/gaze.ts +++ b/services/minecraft/src/cognitive/reflex/gaze.ts @@ -24,8 +24,8 @@ export interface PlayerGazeResult { function directionFromYawPitch(yaw: number, pitch: number): Vec3Like { const x = -Math.sin(yaw) * Math.cos(pitch) - // In Minecraft, positive pitch means looking down (negative Y direction). - const y = -Math.sin(pitch) + // Mineflayer pitch convention: positive pitch looks up, negative pitch looks down. + const y = Math.sin(pitch) const z = -Math.cos(yaw) * Math.cos(pitch) return { x, y, z } }