API 'done'
This commit is contained in:
		
					parent
					
						
							
								08ab8edb76
							
						
					
				
			
			
				commit
				
					
						7936e7a615
					
				
			
		
					 418 changed files with 56 additions and 84 deletions
				
			
		
							
								
								
									
										79
									
								
								patches/api/Add-API-for-quit-reason.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								patches/api/Add-API-for-quit-reason.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,79 @@
 | 
			
		|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Mariell Hoversholm <proximyst@proximyst.com>
 | 
			
		||||
Date: Sat, 14 Nov 2020 16:19:58 +0100
 | 
			
		||||
Subject: [PATCH] Add API for quit reason
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
diff --git a/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java b/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java
 | 
			
		||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
			
		||||
--- a/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java
 | 
			
		||||
+++ b/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java
 | 
			
		||||
@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
 | 
			
		||||
 public class PlayerQuitEvent extends PlayerEvent {
 | 
			
		||||
     private static final HandlerList handlers = new HandlerList();
 | 
			
		||||
     private net.kyori.adventure.text.Component quitMessage; // Paper
 | 
			
		||||
+    private final QuitReason reason; // Paper
 | 
			
		||||
 
 | 
			
		||||
     @Deprecated // Paper
 | 
			
		||||
     public PlayerQuitEvent(@NotNull final Player who, @Nullable final String quitMessage) {
 | 
			
		||||
+        // Paper start
 | 
			
		||||
+        this(who, quitMessage, null);
 | 
			
		||||
+    }
 | 
			
		||||
+    @Deprecated // Paper
 | 
			
		||||
+    public PlayerQuitEvent(@NotNull final Player who, @Nullable final String quitMessage, @Nullable QuitReason quitReason) {
 | 
			
		||||
         super(who);
 | 
			
		||||
         this.quitMessage = quitMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(quitMessage) : null; // Paper
 | 
			
		||||
+        this.reason = quitReason == null ? QuitReason.DISCONNECTED : quitReason;
 | 
			
		||||
     }
 | 
			
		||||
     // Paper start
 | 
			
		||||
+    @Deprecated
 | 
			
		||||
     public PlayerQuitEvent(@NotNull final Player who, @Nullable final net.kyori.adventure.text.Component quitMessage) {
 | 
			
		||||
+        this(who, quitMessage, null);
 | 
			
		||||
+    }
 | 
			
		||||
+    public PlayerQuitEvent(@NotNull final Player who, @Nullable final net.kyori.adventure.text.Component quitMessage, @Nullable QuitReason quitReason) {
 | 
			
		||||
         super(who);
 | 
			
		||||
         this.quitMessage = quitMessage;
 | 
			
		||||
+        this.reason = quitReason == null ? QuitReason.DISCONNECTED : quitReason;
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     /**
 | 
			
		||||
@@ -0,0 +0,0 @@ public class PlayerQuitEvent extends PlayerEvent {
 | 
			
		||||
     public static HandlerList getHandlerList() {
 | 
			
		||||
         return handlers;
 | 
			
		||||
     }
 | 
			
		||||
+
 | 
			
		||||
+    // Paper start
 | 
			
		||||
+    @NotNull
 | 
			
		||||
+    public QuitReason getReason() {
 | 
			
		||||
+        return this.reason;
 | 
			
		||||
+    }
 | 
			
		||||
+
 | 
			
		||||
+    public enum QuitReason {
 | 
			
		||||
+        /**
 | 
			
		||||
+         * The player left on their own behalf.
 | 
			
		||||
+         * <p>
 | 
			
		||||
+         * This does not mean they pressed the disconnect button in their client, but rather that the client severed the
 | 
			
		||||
+         * connection themselves. This may occur if no keep-alive packet is received on their side, among other things.
 | 
			
		||||
+         */
 | 
			
		||||
+        DISCONNECTED,
 | 
			
		||||
+
 | 
			
		||||
+        /**
 | 
			
		||||
+         * The player was kicked from the server.
 | 
			
		||||
+         */
 | 
			
		||||
+        KICKED,
 | 
			
		||||
+
 | 
			
		||||
+        /**
 | 
			
		||||
+         * The player has timed out.
 | 
			
		||||
+         */
 | 
			
		||||
+        TIMED_OUT,
 | 
			
		||||
+
 | 
			
		||||
+        /**
 | 
			
		||||
+         * The player's connection has entered an erroneous state.
 | 
			
		||||
+         * <p>
 | 
			
		||||
+         * Reasons for this may include invalid packets, invalid data, and uncaught exceptions in the packet handler,
 | 
			
		||||
+         * among others.
 | 
			
		||||
+         */
 | 
			
		||||
+        ERRONEOUS_STATE,
 | 
			
		||||
+    }
 | 
			
		||||
+    // Paper end
 | 
			
		||||
 }
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue