--- a/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
+++ b/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
@@ -50,7 +_,7 @@
     public ClientboundLevelChunkPacketData(RegistryFriendlyByteBuf buffer, int x, int z) {
         this.heightmaps = HEIGHTMAPS_STREAM_CODEC.decode(buffer);
         int varInt = buffer.readVarInt();
-        if (varInt > 2097152) {
+        if (varInt > 2097152) { // Paper - diff on change - if this changes, update PacketEncoder
             throw new RuntimeException("Chunk Packet trying to allocate too much memory on read.");
         } else {
             this.buffer = new byte[varInt];
@@ -155,6 +_,7 @@
             CompoundTag updateTag = blockEntity.getUpdateTag(blockEntity.getLevel().registryAccess());
             BlockPos blockPos = blockEntity.getBlockPos();
             int i = SectionPos.sectionRelative(blockPos.getX()) << 4 | SectionPos.sectionRelative(blockPos.getZ());
+            blockEntity.sanitizeSentNbt(updateTag); // Paper - Sanitize sent data
             return new ClientboundLevelChunkPacketData.BlockEntityInfo(i, blockPos.getY(), blockEntity.getType(), updateTag.isEmpty() ? null : updateTag);
         }
     }
