Skip to content

지상 정지 상태 속도 수정

이 페이지에서는 블록 위 정지 상태에서 발생하던 1.57 m/s 잔류 중력 표시 오류 해결 과정을 설명합니다.


📊 지면 정지 속도 수정 정보 상자

비교 항목레거시 구현 (v1.0.0)최신 구현 (v1.1.0+)
물리 계산 방식커스텀 위치 차분 ($\Delta p = p_t - p_{t-1}$)바닐라 Entity.getKnownSpeed() API
정지 상태 속도 문제중력 리셋으로 인해 $1.57\text{ m/s}$ 오표시정지 상태에서 완벽하게 $0.00\text{ b/s}$ 표시
지면 감지임시 블록 충돌 검사Minecraft 네이티브 속도 벡터 관리
정확도틱 반올림 오류 발생 가능바닐라 물리와 100% 일치하는 정밀성

🛠 문제 원인 및 해결책 분석

레거시 정지 아티팩트

초기 버전(v1.0.0)에서는 연속 프레임 간 좌표 감산 방식으로 속도를 계산하여 지면에 서 있을 때도 Minecraft가 지속적으로 하향 속도($v_y \approx -0.0784$)를 재설정하여 움직임($1.57\text{ m/s}$)으로 잘못 표시되는 문제가 있었습니다.

해결책: 네이티브 getKnownSpeed() 통합

v1.1.0부터 Speedometer는 커스텀 좌표 차분 계산을 폐기하고 Minecraft의 네이티브 Entity.getKnownSpeed() API를 사용합니다:

java
Vec3 knownSpeed = entity.getKnownSpeed();

정지 상태의 플레이어는 정확히 $(0.00, 0.00, 0.00)$를 반환하여 완벽한 $0.00\text{ b/s}$를 출력합니다.


🔗 관련 페이지

Official documentation & web portal for Dasik Igaijinn mods.