diff --git a/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java b/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java index 52d39daa..9a0adfb3 100644 --- a/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java +++ b/src/main/java/fr/xephi/authme/listener/BedrockAutoLoginListener.java @@ -39,14 +39,16 @@ public class BedrockAutoLoginListener implements Listener { return settings.getProperty(HooksSettings.HOOK_FLOODGATE_PLAYER) && settings.getProperty(SecuritySettings.FORCE_LOGIN_BEDROCK) && org.geysermc.floodgate.api.FloodgateApi.getInstance().isFloodgateId(uuid) && getServer().getPluginManager().getPlugin("floodgate") != null; } - @EventHandler(priority = EventPriority.HIGHEST) + @EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); String name = event.getPlayer().getName(); UUID uuid = event.getPlayer().getUniqueId(); - if (isBedrockPlayer(uuid) && !authmeApi.isAuthenticated(player) && authmeApi.isRegistered(name)) { - authmeApi.forceLogin(player); - messages.send(player, MessageKey.BEDROCK_AUTO_LOGGED_IN); - } + bukkitService.runTaskLater(player, () -> { + if (isBedrockPlayer(uuid) && !authmeApi.isAuthenticated(player) && authmeApi.isRegistered(name)) { + authmeApi.forceLogin(player); + messages.send(player, MessageKey.BEDROCK_AUTO_LOGGED_IN); + } + },20L); } } diff --git a/src/main/java/fr/xephi/authme/service/BukkitService.java b/src/main/java/fr/xephi/authme/service/BukkitService.java index 19d08c10..002ca9fa 100644 --- a/src/main/java/fr/xephi/authme/service/BukkitService.java +++ b/src/main/java/fr/xephi/authme/service/BukkitService.java @@ -167,6 +167,10 @@ public class BukkitService implements SettingsDependent { return getScheduler().runTaskLater(task, delay); } + public MyScheduledTask runTaskLater(Entity entity, Runnable task, long delay) { + return getScheduler().runTaskLater(entity, task, delay); + } + /** * Schedules this task to run asynchronously or immediately executes it based on * AuthMe's configuration.