From fb12119e5c0856c88080dfce44473a3c1e2c87d9 Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Mon, 29 Jun 2015 15:35:12 +0200 Subject: [PATCH] While Recording, only insert S19PacketEntityHeadLook for recording player if value actually changed | https://trello.com/c/9MZeTBgj/ --- .../events/handlers/RecordingHandler.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java b/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java index 6475769d..440a5ae4 100755 --- a/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java @@ -38,6 +38,7 @@ public class RecordingHandler { private int ticksSinceLastCorrection = 0; private boolean wasSleeping = false; private int lastRiding = -1; + private Integer rotationYawHeadBefore = 0; @SubscribeEvent public void onPlayerJoin(EntityJoinWorldEvent e) { @@ -104,6 +105,7 @@ public class RecordingHandler { public void resetVars() { lastX = lastY = lastZ = null; + rotationYawHeadBefore = null; lastEffects = new ArrayList(); playerItems = new ItemStack[5]; } @@ -162,16 +164,22 @@ public class RecordingHandler { ConnectionEventHandler.insertPacket(packet); //HEAD POS - S19PacketEntityHeadLook head = new S19PacketEntityHeadLook(); - ByteBuf bb1 = Unpooled.buffer(); - PacketBuffer pb1 = new PacketBuffer(bb1); + int rotationYawHead = ((int)(e.player.rotationYawHead * 256.0F / 360.0F)); - pb1.writeVarIntToBuffer(entityID); - pb1.writeByte(((int) (e.player.rotationYawHead * 256.0F / 360.0F))); + if(rotationYawHead != rotationYawHeadBefore) { + S19PacketEntityHeadLook head = new S19PacketEntityHeadLook(); + ByteBuf bb1 = Unpooled.buffer(); + PacketBuffer pb1 = new PacketBuffer(bb1); - head.readPacketData(pb1); + pb1.writeVarIntToBuffer(entityID); + pb1.writeByte(rotationYawHead); - ConnectionEventHandler.insertPacket(head); + head.readPacketData(pb1); + + ConnectionEventHandler.insertPacket(head); + + rotationYawHeadBefore = rotationYawHead; + } S12PacketEntityVelocity vel = new S12PacketEntityVelocity(entityID, e.player.motionX, e.player.motionY, e.player.motionZ); ConnectionEventHandler.insertPacket(vel);