Shockingly good lag compensation

This commit is contained in:
austin 2021-11-05 20:15:23 -04:00
parent f70bd0c8e9
commit be6f725504

View File

@ -39,7 +39,9 @@ public class GroundMovementTree {
IDLE,
}
static final double STATE_DIFFERENCE_HARD_UPDATE_THRESHOLD = 0.1;
static final double STATE_DIFFERENCE_HARD_UPDATE_THRESHOLD = 1.0;
static final double STATE_DIFFERENCE_SOFT_UPDATE_THRESHOLD = 0.2;
static final double SOFT_UPDATE_MULTIPLIER = 0.1;
MovementTreeState state;
@ -140,6 +142,8 @@ public class GroundMovementTree {
// System.out.println(message.getpositionX() + " " + message.getpositionY() + " " + message.getpositionZ());
if(position.distance(message.getpositionX(),message.getpositionY(),message.getpositionZ()) > STATE_DIFFERENCE_HARD_UPDATE_THRESHOLD){
EntityUtils.getPosition(parent).set(message.getpositionX(),message.getpositionY(),message.getpositionZ());
} else if(position.distance(message.getpositionX(),message.getpositionY(),message.getpositionZ()) > STATE_DIFFERENCE_SOFT_UPDATE_THRESHOLD){
EntityUtils.getPosition(parent).add(new Vector3d(message.getpositionX(),message.getpositionY(),message.getpositionZ()).mul(SOFT_UPDATE_MULTIPLIER));
}
CreatureUtils.setMovementVector(parent, new Vector3f(message.getrotationX(),message.getrotationY(),message.getrotationZ()));
// EntityUtils.getEntityRotation(parent).set(message.getrotationX(), message.getrotationY(), message.getrotationZ(), message.getrotationW()).normalize();