diff --git a/api/build.gradle.kts b/api/build.gradle.kts index e4422d7..1b47919 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { implementation("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.16") + compileOnly("us.ajg0702:ajUtils:1.1.17") } publishing { diff --git a/build.gradle.kts b/build.gradle.kts index ea14c17..f4c1a25 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ repositories { } allprojects { - version = "2.2.0" + version = "2.2.1" group = "us.ajg0702" plugins.apply("java") diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 716fe44..eaa382c 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { compileOnly("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.16") + compileOnly("us.ajg0702:ajUtils:1.1.17") compileOnly("org.slf4j:slf4j-log4j12:1.7.29") diff --git a/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java b/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java index 7095fe5..f9a7c6a 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java @@ -119,9 +119,12 @@ public class QueueManagerImpl implements QueueManager { return false; } + boolean enableBypassPaused = main.getConfig().getBoolean("enable-bypasspaused-permission"); if(server.isPaused() && main.getConfig().getBoolean("prevent-joining-paused")) { - player.sendMessage(msgs.getComponent("errors.cant-join-paused", "SERVER:"+server.getAlias())); - return false; + if(!enableBypassPaused || !player.hasPermission("ajqueue.bypasspaused")) { + player.sendMessage(msgs.getComponent("errors.cant-join-paused", "SERVER:"+server.getAlias())); + return false; + } } List notInServers = new ArrayList<>(server.getServers()); @@ -430,6 +433,7 @@ public class QueueManagerImpl implements QueueManager { for (QueuePlayer queuePlayer : s.getQueue()) { AdaptedPlayer player = queuePlayer.getPlayer(); if (player == null || !player.isConnected()) continue; + if(player.getServerName() == null) continue; main.getPlatformMethods().sendPluginMessage(player, "inqueueevent", "true"); } } diff --git a/free/build.gradle.kts b/free/build.gradle.kts index 46ec7ae..dd265c0 100644 --- a/free/build.gradle.kts +++ b/free/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { compileOnly("com.google.guava:guava:30.1.1-jre") compileOnly("org.spongepowered:configurate-yaml:4.0.0") - implementation("us.ajg0702:ajUtils:1.1.16") + implementation("us.ajg0702:ajUtils:1.1.17") implementation(project(":platforms:velocity")) implementation(project(":platforms:bungeecord")) diff --git a/platforms/bungeecord/build.gradle.kts b/platforms/bungeecord/build.gradle.kts index fea1640..e7beaa6 100644 --- a/platforms/bungeecord/build.gradle.kts +++ b/platforms/bungeecord/build.gradle.kts @@ -15,13 +15,13 @@ repositories { dependencies { compileOnly("net.kyori:adventure-api:4.8.1") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.16") + compileOnly("us.ajg0702:ajUtils:1.1.17") compileOnly("net.md-5:bungeecord-api:1.16-R0.4") implementation("net.kyori:adventure-text-minimessage:4.0.0-SNAPSHOT") - implementation("net.kyori:adventure-platform-bungeecord:4.0.0-SNAPSHOT") + implementation("net.kyori:adventure-platform-bungeecord:4.0.0") compileOnly("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT") implementation("org.bstats:bstats-bungeecord:2.2.1") diff --git a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java index 6c8dc38..5a17dd8 100644 --- a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java +++ b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java @@ -37,8 +37,10 @@ public class BungeeServer implements AdaptedServer { CompletableFuture future = new CompletableFuture<>(); handle.ping((pp, error) -> { if(error != null) { - future.complete(null); + future.completeExceptionally(error); + return; } + future.complete(new BungeeServerPing(pp)); }); return future; diff --git a/platforms/velocity/build.gradle.kts b/platforms/velocity/build.gradle.kts index 8d7a070..88c2f04 100644 --- a/platforms/velocity/build.gradle.kts +++ b/platforms/velocity/build.gradle.kts @@ -15,7 +15,7 @@ repositories { dependencies { compileOnly("net.kyori:adventure-api:4.8.1") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.16") + compileOnly("us.ajg0702:ajUtils:1.1.17") compileOnly("com.velocitypowered:velocity-api:3.0.0") annotationProcessor("com.velocitypowered:velocity-api:3.0.0") diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/players/VelocityPlayer.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/players/VelocityPlayer.java index cd1c478..206e05e 100644 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/players/VelocityPlayer.java +++ b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/players/VelocityPlayer.java @@ -106,7 +106,7 @@ public class VelocityPlayer implements AdaptedPlayer, Audience { @Override public String getServerName() { Optional serverConnection = handle.getCurrentServer(); - if(!serverConnection.isPresent()) return "none"; + if(!serverConnection.isPresent()) return null; ServerConnection connection = serverConnection.get(); return connection.getServerInfo().getName(); } diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java index c43333c..7af2d64 100644 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java +++ b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java @@ -36,11 +36,12 @@ public class VelocityServer implements AdaptedServer { CompletableFuture future = new CompletableFuture<>(); CompletableFuture serverPing = handle.ping(); serverPing.thenRunAsync(() -> { - AdaptedServerPing aPing = null; + AdaptedServerPing aPing; try { aPing = new VelocityServerPing(serverPing.get()); - } catch (InterruptedException | ExecutionException e) { - e.printStackTrace(); + } catch (Throwable e) { + future.completeExceptionally(e); + return; } future.complete(aPing); }); diff --git a/premium/build.gradle.kts b/premium/build.gradle.kts index fd961e7..f57a292 100644 --- a/premium/build.gradle.kts +++ b/premium/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { compileOnly("me.TechsCode:FakeUltraPerms:1.0.2") - compileOnly("us.ajg0702:ajUtils:1.1.16") + compileOnly("us.ajg0702:ajUtils:1.1.17") compileOnly("net.kyori:adventure-api:4.8.1") diff --git a/spigot/build.gradle.kts b/spigot/build.gradle.kts index 4d18524..33e6d64 100644 --- a/spigot/build.gradle.kts +++ b/spigot/build.gradle.kts @@ -24,7 +24,7 @@ dependencies { compileOnly("org.spongepowered:configurate-yaml:4.0.0") - compileOnly("us.ajg0702:ajUtils:1.1.16") + compileOnly("us.ajg0702:ajUtils:1.1.17") compileOnly(group = "org.spigotmc", name = "spigot", version = "1.16.5-R0.1-SNAPSHOT") compileOnly("me.clip:placeholderapi:2.10.4")