From 5fb1cf34e248fd091768add3a3a76b6d0c8f0e54 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Mon, 16 Oct 2017 11:29:04 +0200 Subject: [PATCH] Fix half-despawned player entities (see #93) when the entity is moved greater distances --- src/main/java/com/replaymod/replay/ReplaySender.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/replaymod/replay/ReplaySender.java b/src/main/java/com/replaymod/replay/ReplaySender.java index 9e000d3a..92d97bd4 100755 --- a/src/main/java/com/replaymod/replay/ReplaySender.java +++ b/src/main/java/com/replaymod/replay/ReplaySender.java @@ -829,7 +829,11 @@ public class ReplaySender extends ChannelDuplexHandler { for (Entity entity : entitiesInChunk) { // Skip interpolation of position updates coming from server // (See: newX in EntityLivingBase or otherPlayerMPX in EntityOtherPlayerMP) - entity.onUpdate(); + // Needs to be called at least 4 times thanks to + // EntityOtherPlayerMP#otherPlayerMPPosRotationIncrements (max vanilla value is 3) + for (int i = 0; i < 4; i++) { + entity.onUpdate(); + } // Check whether the entity has left the chunk int chunkX = MathHelper.floor_double(entity.posX / 16);