--- a/net/minecraft/world/entity/player/ProfilePublicKey.java
+++ b/net/minecraft/world/entity/player/ProfilePublicKey.java
@@ -24,7 +_,7 @@
 
     public static ProfilePublicKey createValidated(SignatureValidator signatureValidator, UUID profileId, ProfilePublicKey.Data data) throws ProfilePublicKey.ValidationException {
         if (!data.validateSignature(signatureValidator, profileId)) {
-            throw new ProfilePublicKey.ValidationException(INVALID_SIGNATURE);
+            throw new ProfilePublicKey.ValidationException(INVALID_SIGNATURE, org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PUBLIC_KEY_SIGNATURE); // Paper - kick event causes
         } else {
             return new ProfilePublicKey(data);
         }
@@ -88,8 +_,16 @@
     }
 
     public static class ValidationException extends ThrowingComponent {
+        public final org.bukkit.event.player.PlayerKickEvent.Cause kickCause; // Paper
+        @io.papermc.paper.annotation.DoNotUse @Deprecated // Paper
         public ValidationException(Component component) {
+            // Paper start
+            this(component, org.bukkit.event.player.PlayerKickEvent.Cause.UNKNOWN);
+        }
+        public ValidationException(Component component, org.bukkit.event.player.PlayerKickEvent.Cause kickCause) {
+            // Paper end
             super(component);
+            this.kickCause = kickCause; // Paper
         }
     }
 }
