From b747a4bdff75ed64c10ad6cb9274edd0c09f2123 Mon Sep 17 00:00:00 2001 From: HaHaWTH Date: Sat, 28 Oct 2023 20:21:10 +0800 Subject: [PATCH] Update: untested --- pom.xml | 10 +--------- src/main/java/fr/xephi/authme/AuthMe.java | 2 ++ .../authme/listener/BedrockAutoLoginListener.java | 12 ++++++++++++ .../authme/listener/LoginLocationFixListener.java | 1 - 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 08a7d77a..e6c71060 100644 --- a/pom.xml +++ b/pom.xml @@ -784,14 +784,6 @@ true - - - - - - - - ch.jalu @@ -806,7 +798,7 @@ - + org.bstats bstats-bukkit diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index 18bca2fa..0244e36d 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -43,6 +43,7 @@ import org.bukkit.Bukkit; import org.bukkit.Server; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; +import org.bukkit.event.HandlerList; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; @@ -395,6 +396,7 @@ public class AuthMe extends JavaPlugin { // Disabled correctly Consumer infoLogMethod = logger == null ? getLogger()::info : logger::info; + HandlerList.unregisterAll(this); infoLogMethod.accept("AuthMe " + this.getDescription().getVersion() + " is unloaded successfully!"); ConsoleLogger.closeFileWriter(); } diff --git a/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java b/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java index a66a53ce..2f29d482 100644 --- a/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java +++ b/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java @@ -2,6 +2,7 @@ package fr.xephi.authme.listener; /* Inspired by DongShaoNB/BedrockPlayerSupport **/ import fr.xephi.authme.AuthMe; import fr.xephi.authme.api.v3.AuthMeApi; +import fr.xephi.authme.events.RestoreSessionEvent; import fr.xephi.authme.settings.properties.HooksSettings; import fr.xephi.authme.settings.properties.SecuritySettings; import org.bukkit.entity.Player; @@ -37,4 +38,15 @@ public class BedrockAutoLoginListener implements Listener { player.sendMessage("§a基岩版自动登录完成!"); } } + + /* prevent sending duplicate messages */ + @EventHandler(priority = EventPriority.HIGHEST) + public void onPlayerRestoreSession(RestoreSessionEvent event) { + Player player = event.getPlayer(); + String name = event.getPlayer().getName(); + UUID uuid = event.getPlayer().getUniqueId(); + if (isBedrockPlayer(uuid) && !authmeApi.isAuthenticated(player) && authmeApi.isRegistered(name)) { + event.setCancelled(true); + } + } } diff --git a/src/main/java/fr/xephi/authme/listener/LoginLocationFixListener.java b/src/main/java/fr/xephi/authme/listener/LoginLocationFixListener.java index e65ee738..13fc2ec8 100644 --- a/src/main/java/fr/xephi/authme/listener/LoginLocationFixListener.java +++ b/src/main/java/fr/xephi/authme/listener/LoginLocationFixListener.java @@ -36,7 +36,6 @@ public class LoginLocationFixListener implements Listener { materialPortal = Material.matchMaterial("NETHER_PORTAL"); } } - } @EventHandler