From f857c251801b2489f71f4442ea6cda7ec56bc830 Mon Sep 17 00:00:00 2001 From: Adrian Date: Thu, 7 Dec 2023 13:13:45 -0500 Subject: [PATCH] feat: Added Support for AuthMe Sessions --- .../paper/listeners/AuthMeListener.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/paper/src/main/java/io/github/_4drian3d/authmevelocity/paper/listeners/AuthMeListener.java b/paper/src/main/java/io/github/_4drian3d/authmevelocity/paper/listeners/AuthMeListener.java index acb9436..87a1e83 100644 --- a/paper/src/main/java/io/github/_4drian3d/authmevelocity/paper/listeners/AuthMeListener.java +++ b/paper/src/main/java/io/github/_4drian3d/authmevelocity/paper/listeners/AuthMeListener.java @@ -17,11 +17,7 @@ package io.github._4drian3d.authmevelocity.paper.listeners; -import fr.xephi.authme.events.LoginEvent; -import fr.xephi.authme.events.LogoutEvent; -import fr.xephi.authme.events.RegisterEvent; -import fr.xephi.authme.events.UnregisterByAdminEvent; -import fr.xephi.authme.events.UnregisterByPlayerEvent; +import fr.xephi.authme.events.*; import io.github._4drian3d.authmevelocity.api.paper.event.PreSendLoginEvent; import io.github._4drian3d.authmevelocity.common.MessageType; import io.github._4drian3d.authmevelocity.paper.AuthMeVelocityPlugin; @@ -53,6 +49,21 @@ public final class AuthMeListener implements Listener { } } + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onSessionRestored(RestoreSessionEvent event) { + final Player player = event.getPlayer(); + plugin.logDebug("RestoreSessionEvent | Start"); + + // I hate this, but... Spigot compatibility ¯\_(ツ)_/¯ + final var preSendLoginEvent = new PreSendLoginEvent(player); + Bukkit.getPluginManager().callEvent(preSendLoginEvent); + + if (!preSendLoginEvent.isCancelled()) { + plugin.sendMessageToProxy(player, MessageType.LOGIN, player.getName()); + plugin.logDebug("RestoreSessionEvent | PreSendLoginEvent allowed"); + } + } + @EventHandler public void onRegister(final RegisterEvent event) { plugin.logDebug("RegisterEvent | Executed");