From 9741e66464af457124a33b6bb40c8a78337c9ac2 Mon Sep 17 00:00:00 2001 From: ActualPlayer <54040922+ActualPlayer@users.noreply.github.com> Date: Tue, 1 Sep 2020 08:34:44 +0200 Subject: [PATCH 1/3] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b78a09a..e7349a1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # Remember Me -Remember Me is a plugin for the Velocity Minecraft Proxy that allows users to login to the server they last logged out on +Remember Me is a plugin for the Velocity Minecraft Proxy that allows users to login to the server they last logged out on. + +At the moment of writing the latest version of RememberMe requires Velocity 1.1 to work. Velocity 1.1 is not fully released yet but can be downloaded from their jenkins. +RememberMe versions < 1.2 can be used with the currently released version of Velocity, but have a mandatory dependency on Luckperms and have no further support. ## Permissions From f8e968fb9e55b29df8c2ac63629e7a0bf80703f3 Mon Sep 17 00:00:00 2001 From: Flori4nK Date: Tue, 20 Apr 2021 21:20:21 +0200 Subject: [PATCH 2/3] Check if last server is online before setting initial server --- src/main/java/com/actualplayer/rememberme/RememberMe.java | 6 +++++- .../actualplayer/rememberme/handlers/LuckPermsHandler.java | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/actualplayer/rememberme/RememberMe.java b/src/main/java/com/actualplayer/rememberme/RememberMe.java index 9ce6de2..03123e7 100644 --- a/src/main/java/com/actualplayer/rememberme/RememberMe.java +++ b/src/main/java/com/actualplayer/rememberme/RememberMe.java @@ -71,7 +71,11 @@ public class RememberMe { if (!chooseServerEvent.getPlayer().hasPermission("rememberme.notransfer")) { handler.getLastServerName(chooseServerEvent.getPlayer().getUniqueId()).thenAcceptAsync(lastServerName -> { if (lastServerName != null) { - getServer().getServer(lastServerName).ifPresent(chooseServerEvent::setInitialServer); + getServer().getServer(lastServerName).ifPresent((registeredServer) -> { + registeredServer.ping().thenRun(() -> { + chooseServerEvent.setInitialServer(registeredServer); + }); + }); } }).join(); } diff --git a/src/main/java/com/actualplayer/rememberme/handlers/LuckPermsHandler.java b/src/main/java/com/actualplayer/rememberme/handlers/LuckPermsHandler.java index 4e1fbfb..b4872ac 100644 --- a/src/main/java/com/actualplayer/rememberme/handlers/LuckPermsHandler.java +++ b/src/main/java/com/actualplayer/rememberme/handlers/LuckPermsHandler.java @@ -12,7 +12,6 @@ import net.luckperms.api.node.NodeType; import net.luckperms.api.node.types.MetaNode; import net.luckperms.api.query.QueryMode; import net.luckperms.api.query.QueryOptions; -import org.checkerframework.checker.nullness.Opt; import java.util.Collection; import java.util.Optional; From b26392c980e1a2eb3823f572d9944f3794139b02 Mon Sep 17 00:00:00 2001 From: Flori4nK Date: Tue, 20 Apr 2021 22:16:30 +0200 Subject: [PATCH 3/3] Future wouldn't have been completed --- .../java/com/actualplayer/rememberme/RememberMe.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/actualplayer/rememberme/RememberMe.java b/src/main/java/com/actualplayer/rememberme/RememberMe.java index 03123e7..93a0489 100644 --- a/src/main/java/com/actualplayer/rememberme/RememberMe.java +++ b/src/main/java/com/actualplayer/rememberme/RememberMe.java @@ -19,6 +19,8 @@ import net.luckperms.api.LuckPermsProvider; import org.slf4j.Logger; import java.nio.file.Path; +import java.util.concurrent.CancellationException; +import java.util.concurrent.CompletionException; @Plugin(id = "@ID@", name = "@NAME@", version = "@VERSION@", description = "@DESCRIPTION@", authors = {"ActualPlayer"}, dependencies = { @Dependency(id = "luckperms", optional = true) }) public class RememberMe { @@ -72,9 +74,12 @@ public class RememberMe { handler.getLastServerName(chooseServerEvent.getPlayer().getUniqueId()).thenAcceptAsync(lastServerName -> { if (lastServerName != null) { getServer().getServer(lastServerName).ifPresent((registeredServer) -> { - registeredServer.ping().thenRun(() -> { - chooseServerEvent.setInitialServer(registeredServer); - }); + try { + registeredServer.ping().join(); + } catch(CancellationException|CompletionException exception) { + return; + } + chooseServerEvent.setInitialServer(registeredServer); }); } }).join();