Skip to content

Correction de vitesse à l'arrêt

Cette page documente la résolution des valeurs fantômes (1.57 m/s) lors de l'arrêt sur un bloc.


📊 Infobox du correctif de repos au sol

AspectImplémentation héritée (v1.0.0)Implémentation moderne (v1.1.0+)
Méthode physiqueDelta de position personnalisé ($\Delta p = p_t - p_{t-1}$)API native Entity.getKnownSpeed()
Problème de reposAffichait $1.57\text{ m/s}$ en raison de la gravitéAffiche proprement $0.00\text{ b/s}$ à l'arrêt
Détection du solVérifications ad-hoc des collisions de blocsGestion native des vecteurs de vitesse de Minecraft
PrécisionSujet aux erreurs d'arrondi100% de précision calquée sur la physique vanilla

🛠 Analyse du problème et solution

L'artefact de repos hérité

Dans les premières versions (v1.0.0), soustraire les coordonnées entre les images provoquait un bogue : au sol, Minecraft réinitialise continuellement la vitesse vers le bas ($v_y \approx -0.0784$), faussement comptabilisée comme mouvement ($1.57\text{ m/s}$).

La solution : intégration native de getKnownSpeed()

À partir de la v1.1.0, Speedometer a supprimé les calculs de delta de position personnalisés au profit de l'API native Entity.getKnownSpeed() :

java
Vec3 knownSpeed = entity.getKnownSpeed();

Les joueurs immobiles rapportent proprement $(0.00, 0.00, 0.00)$, affichant $0.00\text{ b/s}$.


🔗 Pages associées

Official documentation & web portal for Dasik Igaijinn mods.