Providing access to the player's LoginResult on LoginEvent

This commit is contained in:
phenomax 2017-08-10 18:41:17 +02:00 committed by Jamie Mansfield
parent b477eba646
commit 9f73d70f15
No known key found for this signature in database
GPG Key ID: 27F6918C0D47DF94

View File

@ -0,0 +1,69 @@
From c04d240c0c773c3d8bd4553097394916c51578b3 Mon Sep 17 00:00:00 2001
From: phenomax <phenomax@revayd.net>
Date: Thu, 10 Aug 2017 18:41:17 +0200
Subject: [PATCH] Providing access to the player's LoginResult on LoginEvent
diff --git a/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java b/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java
index fa507753..ca76793d 100644
--- a/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java
+++ b/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java
@@ -10,6 +10,7 @@ import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.PendingConnection;
import net.md_5.bungee.api.plugin.Cancellable;
+import net.md_5.bungee.connection.LoginResult; // Waterfall: Parse LoginResult object to new constructor of LoginEvent
/**
* Event called to represent a player logging in.
@@ -29,6 +30,14 @@ public class LoginEvent extends AsyncEvent<LoginEvent> implements Cancellable
*/
@Setter(AccessLevel.NONE)
private BaseComponent[] cancelReasonComponents;
+
+ // Waterfall start - adding the LoginResult variable to provide access to it, when calling the login event
+ /**
+ * The player's login result containing his textures
+ */
+ private LoginResult loginResult;
+ // Waterfall end
+
/**
* Connection attempting to login.
*/
@@ -40,6 +49,15 @@ public class LoginEvent extends AsyncEvent<LoginEvent> implements Cancellable
this.connection = connection;
}
+ // Waterfall start - adding new constructor for LoginResult
+ public LoginEvent(PendingConnection connection, Callback<LoginEvent> done, LoginResult loginResult)
+ {
+ super( done );
+ this.connection = connection;
+ this.loginResult = loginResult;
+ }
+ // Waterfall end
+
/**
* @return reason to be displayed
* @deprecated Use component methods instead.
diff --git a/proxy/src/main/java/net/md_5/bungee/connection/LoginResult.java b/api/src/main/java/net/md_5/bungee/connection/LoginResult.java
similarity index 100%
rename from proxy/src/main/java/net/md_5/bungee/connection/LoginResult.java
rename to api/src/main/java/net/md_5/bungee/connection/LoginResult.java
diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java
index 113752ad..64d898c7 100644
--- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java
+++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java
@@ -536,7 +536,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
};
// fire login event
- bungee.getPluginManager().callEvent( new LoginEvent( InitialHandler.this, complete ) );
+ bungee.getPluginManager().callEvent( new LoginEvent( InitialHandler.this, complete, this.getLoginProfile() ) ); // Waterfall: Parse LoginResult object to new constructor of LoginEvent
}
@Override
--
2.14.0.windows.1