--- a/net/minecraft/network/protocol/game/ClientboundSetEntityDataPacket.java
+++ b/net/minecraft/network/protocol/game/ClientboundSetEntityDataPacket.java
@@ -12,10 +12,15 @@
     private final List<SynchedEntityData.DataItem<?>> packedItems;
 
     public ClientboundSetEntityDataPacket(int id, SynchedEntityData tracker, boolean forceUpdateAll) {
+    // Paper start
+        this(id, tracker, forceUpdateAll, true);
+    }
+    public ClientboundSetEntityDataPacket(int id, SynchedEntityData tracker, boolean forceUpdateAll, boolean clearDirty) {
+    // Paper end
         this.id = id;
         if (forceUpdateAll) {
             this.packedItems = tracker.getAll();
-            tracker.clearDirty();
+            if (clearDirty) tracker.clearDirty(); // Paper
         } else {
             this.packedItems = tracker.packDirty();
         }
