From de69919c01c84e24989b55f9f09f46299229580e Mon Sep 17 00:00:00 2001 From: HaHaWTH Date: Mon, 27 May 2024 19:40:50 +0800 Subject: [PATCH] Fix some issues with Velocity support --- .../xephi/authme/process/join/AsynchronousJoin.java | 4 ++++ .../authme/process/login/AsynchronousLogin.java | 5 ----- .../process/login/ProcessSyncPlayerLogin.java | 13 +++++++++++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java index ed723f7ba3..dbfd9df067 100644 --- a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java +++ b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java @@ -137,6 +137,10 @@ public void processJoin(Player player) { // Session logic if (sessionService.canResumeSession(player)) { + if (velocitySender.isEnabled()) { + bukkitService.scheduleSyncDelayedTask(() -> + velocitySender.sendAuthMeVelocityMessage(player, VMessageType.LOGIN), service.getProperty(HooksSettings.PROXY_SEND_DELAY)); + } service.send(player, MessageKey.SESSION_RECONNECTION); // Run commands bukkitService.scheduleSyncTaskFromOptionallyAsyncTask( diff --git a/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java b/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java index 12ed97a00b..988124d9a4 100644 --- a/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java +++ b/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java @@ -26,7 +26,6 @@ import fr.xephi.authme.service.SessionService; import fr.xephi.authme.service.bungeecord.BungeeSender; import fr.xephi.authme.service.bungeecord.MessageType; -import fr.xephi.authme.service.velocity.VMessageType; import fr.xephi.authme.service.velocity.VelocitySender; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.DatabaseSettings; @@ -314,10 +313,6 @@ public void performLogin(Player player, PlayerAuth auth) { bukkitService.scheduleSyncDelayedTask(() -> bungeeSender.sendAuthMeBungeecordMessage(player, MessageType.LOGIN), settings.getProperty(HooksSettings.PROXY_SEND_DELAY)); } - if (velocitySender.isEnabled()) { - bukkitService.scheduleSyncDelayedTask(() -> - velocitySender.sendAuthMeVelocityMessage(player, VMessageType.LOGIN), settings.getProperty(HooksSettings.PROXY_SEND_DELAY)); - } // As the scheduling executes the Task most likely after the current // task, we schedule it in the end diff --git a/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java b/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java index dab5b513a0..ac022405d2 100644 --- a/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java +++ b/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java @@ -14,7 +14,10 @@ import fr.xephi.authme.service.JoinMessageService; import fr.xephi.authme.service.TeleportationService; import fr.xephi.authme.service.bungeecord.BungeeSender; +import fr.xephi.authme.service.velocity.VMessageType; +import fr.xephi.authme.service.velocity.VelocitySender; import fr.xephi.authme.settings.commandconfig.CommandManager; +import fr.xephi.authme.settings.properties.HooksSettings; import fr.xephi.authme.settings.properties.RegistrationSettings; import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffectType; @@ -30,6 +33,9 @@ public class ProcessSyncPlayerLogin implements SynchronousProcess { @Inject private BungeeSender bungeeSender; + @Inject + private VelocitySender velocitySender; + @Inject private LimboService limboService; @@ -102,6 +108,13 @@ public void processPlayerLogin(Player player, boolean isFirstLogin, List player.removePotionEffect(PotionEffectType.BLINDNESS); } + // AuthMeVelocity start - send on player login + if (velocitySender.isEnabled()) { + bukkitService.scheduleSyncDelayedTask(() -> + velocitySender.sendAuthMeVelocityMessage(player, VMessageType.LOGIN), commonService.getProperty(HooksSettings.PROXY_SEND_DELAY)); + } + // AuthMeVelocity end + // The Login event now fires (as intended) after everything is processed bukkitService.callEvent(new LoginEvent(player));