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