地面靜止速度修復
本頁面記錄了站在方塊上靜止時速度讀數異常 (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 速度向量管理 |
| 精度 | 易產生 Tick 捨入與抖動誤差 | 100% 與原版物理引擎完全精準對齊 |
🛠 問題根因與解決方案分析
傳統靜止假象問題
在早期版本 (v1.0.0) 中,透過連續幀之間座標相減計算速度曾引發缺陷:當玩家靜止在地面上方塊時,Minecraft 持續重設向下重力速度 ($v_y \approx -0.0784$),導致被誤判為正在移動 ($1.57\text{ m/s}$)。
解決方案:接入原生 getKnownSpeed() API
自 v1.1.0 起,速度計徹底廢除了自訂位置差分估算,改用 Minecraft 原生 Entity.getKnownSpeed() API:
java
Vec3 knownSpeed = entity.getKnownSpeed();靜止不動的玩家將清晰準確地返回 $(0.00, 0.00, 0.00)$,顯示為完全穩定的 $0.00\text{ b/s}$。
