Bonjour,
Il y a un problème sur cette partie :
this.motionX *= 0.90d;
if (this.motionX < 0.0001d) this.motionX = 0;
this.motionY *= 0.90d;
if (this.motionY < 0.0001d) this.motionY = 0;
this.motionZ *= 0.90d;
if (this.motionZ < 0.0001d) this.motionZ = 0;
Quand la motion est négative, tu la met à 0, donc tu peux de déplacer que dans une direction. Il faudrait plutôt faire:
if (Math.abs(this.motionTruc) < 0.0001d) this.motionTruc = 0;
Autre chose, je pense que ton updateControls va crash sur serveur. Il faudrait passer par un proxy pour pas avoir de problème