From 9f73d70f1507a27b0317837c8033880d61a42c9c Mon Sep 17 00:00:00 2001 From: phenomax Date: Thu, 10 Aug 2017 18:41:17 +0200 Subject: [PATCH] Providing access to the player's LoginResult on LoginEvent --- ...-to-the-player-s-LoginResult-on-Logi.patch | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 BungeeCord-Patches/0045-Providing-access-to-the-player-s-LoginResult-on-Logi.patch diff --git a/BungeeCord-Patches/0045-Providing-access-to-the-player-s-LoginResult-on-Logi.patch b/BungeeCord-Patches/0045-Providing-access-to-the-player-s-LoginResult-on-Logi.patch new file mode 100644 index 0000000..c5d276e --- /dev/null +++ b/BungeeCord-Patches/0045-Providing-access-to-the-player-s-LoginResult-on-Logi.patch @@ -0,0 +1,69 @@ +From c04d240c0c773c3d8bd4553097394916c51578b3 Mon Sep 17 00:00:00 2001 +From: phenomax +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 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 implements Cancellable + this.connection = connection; + } + ++ // Waterfall start - adding new constructor for LoginResult ++ public LoginEvent(PendingConnection connection, Callback 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 +