From be6f725504daddb918e6bb14190c28b3a2b7fcc0 Mon Sep 17 00:00:00 2001 From: austin Date: Fri, 5 Nov 2021 20:15:23 -0400 Subject: [PATCH] Shockingly good lag compensation --- .../entity/state/movement/GroundMovementTree.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java b/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java index 985e6dec..3f8ad261 100644 --- a/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java +++ b/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java @@ -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();