From 79845fd8b642c3fb6701bfe9b31540f7b2bee8f5 Mon Sep 17 00:00:00 2001 From: "J.T. McQuigg" Date: Wed, 8 Jun 2022 18:22:07 -0400 Subject: [PATCH 01/13] viaversion bump --- platforms/bungeecord/build.gradle.kts | 2 +- platforms/velocity/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/bungeecord/build.gradle.kts b/platforms/bungeecord/build.gradle.kts index a51f879..37980af 100644 --- a/platforms/bungeecord/build.gradle.kts +++ b/platforms/bungeecord/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { implementation("net.kyori:adventure-platform-bungeecord:4.0.0") compileOnly("net.kyori:adventure-text-serializer-plain:4.9.3") - compileOnly("com.viaversion:viaversion-api:4.2.1") + compileOnly("com.viaversion:viaversion-api:4.3.1") implementation("org.bstats:bstats-bungeecord:3.0.0") diff --git a/platforms/velocity/build.gradle.kts b/platforms/velocity/build.gradle.kts index a2dacbb..334bfb9 100644 --- a/platforms/velocity/build.gradle.kts +++ b/platforms/velocity/build.gradle.kts @@ -22,7 +22,7 @@ dependencies { annotationProcessor("com.velocitypowered:velocity-api:3.1.0") implementation("net.kyori:adventure-text-minimessage:4.10.0") - compileOnly("com.viaversion:viaversion-api:4.2.1") + compileOnly("com.viaversion:viaversion-api:4.3.1") implementation("org.bstats:bstats-velocity:3.0.0") From de86b8a57aae0ce3e61165182baf27332d3ce8dd Mon Sep 17 00:00:00 2001 From: "J.T. McQuigg" Date: Wed, 8 Jun 2022 18:27:11 -0400 Subject: [PATCH 02/13] lp bump and yaml bump --- premium/build.gradle.kts | 2 +- spigot/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/premium/build.gradle.kts b/premium/build.gradle.kts index 2019d31..b3369e8 100644 --- a/premium/build.gradle.kts +++ b/premium/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { compileOnly(fileTree(mapOf("dir" to "../libs/private", "include" to listOf("*.jar")))) compileOnly(fileTree(mapOf("dir" to "../libs/public", "include" to listOf("*.jar")))) - compileOnly("net.luckperms:api:5.0") + compileOnly("net.luckperms:api:5.4") } tasks.shadowJar { diff --git a/spigot/build.gradle.kts b/spigot/build.gradle.kts index e5916bd..73d2a20 100644 --- a/spigot/build.gradle.kts +++ b/spigot/build.gradle.kts @@ -22,7 +22,7 @@ dependencies { implementation("net.kyori:adventure-api:4.9.3") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("org.spongepowered:configurate-yaml:4.0.0") + compileOnly("org.spongepowered:configurate-yaml:4.1.2") compileOnly("us.ajg0702:ajUtils:1.1.22") From 33c48f480c46c920dae686d1ace18242be9b229e Mon Sep 17 00:00:00 2001 From: "J.T. McQuigg" Date: Wed, 8 Jun 2022 18:30:59 -0400 Subject: [PATCH 03/13] Clean up --- .../commands/commands/SlashServer/SlashServerCommand.java | 1 - .../java/us/ajg0702/queue/commands/commands/manage/Kick.java | 3 --- .../us/ajg0702/queue/commands/commands/manage/KickAll.java | 1 - .../queue/platforms/velocity/server/VelocityServer.java | 1 - .../ajg0702/queue/logic/permissions/hooks/LuckPermsHook.java | 3 +-- spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java | 4 +--- .../main/java/us/ajg0702/queue/spigot/utils/ActionBar.java | 2 +- 7 files changed, 3 insertions(+), 12 deletions(-) diff --git a/common/src/main/java/us/ajg0702/queue/commands/commands/SlashServer/SlashServerCommand.java b/common/src/main/java/us/ajg0702/queue/commands/commands/SlashServer/SlashServerCommand.java index c43a8d0..0f1c93f 100644 --- a/common/src/main/java/us/ajg0702/queue/commands/commands/SlashServer/SlashServerCommand.java +++ b/common/src/main/java/us/ajg0702/queue/commands/commands/SlashServer/SlashServerCommand.java @@ -8,7 +8,6 @@ import us.ajg0702.utils.common.Messages; import java.util.ArrayList; import java.util.List; -import java.util.Locale; public class SlashServerCommand extends BaseCommand { diff --git a/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Kick.java b/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Kick.java index ceec116..e0d5197 100644 --- a/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Kick.java +++ b/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Kick.java @@ -1,9 +1,6 @@ package us.ajg0702.queue.commands.commands.manage; import com.google.common.collect.ImmutableList; -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.format.NamedTextColor; -import org.spongepowered.configurate.ConfigurateException; import us.ajg0702.queue.api.commands.ICommandSender; import us.ajg0702.queue.api.players.QueuePlayer; import us.ajg0702.queue.api.queues.QueueServer; diff --git a/common/src/main/java/us/ajg0702/queue/commands/commands/manage/KickAll.java b/common/src/main/java/us/ajg0702/queue/commands/commands/manage/KickAll.java index 88cb327..57ff453 100644 --- a/common/src/main/java/us/ajg0702/queue/commands/commands/manage/KickAll.java +++ b/common/src/main/java/us/ajg0702/queue/commands/commands/manage/KickAll.java @@ -9,7 +9,6 @@ import us.ajg0702.queue.common.QueueMain; import us.ajg0702.utils.common.Messages; import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class KickAll extends SubCommand { 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 7af2d64..dd316a0 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 @@ -12,7 +12,6 @@ import us.ajg0702.queue.platforms.velocity.players.VelocityPlayer; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; public class VelocityServer implements AdaptedServer { diff --git a/premium/src/main/java/us/ajg0702/queue/logic/permissions/hooks/LuckPermsHook.java b/premium/src/main/java/us/ajg0702/queue/logic/permissions/hooks/LuckPermsHook.java index 794465f..49f9d31 100644 --- a/premium/src/main/java/us/ajg0702/queue/logic/permissions/hooks/LuckPermsHook.java +++ b/premium/src/main/java/us/ajg0702/queue/logic/permissions/hooks/LuckPermsHook.java @@ -6,11 +6,10 @@ import net.luckperms.api.context.Context; import net.luckperms.api.model.user.User; import net.luckperms.api.node.Node; import net.luckperms.api.node.NodeType; -import net.luckperms.api.query.QueryMode; import net.luckperms.api.query.QueryOptions; import us.ajg0702.queue.api.players.AdaptedPlayer; -import us.ajg0702.queue.common.QueueMain; import us.ajg0702.queue.api.premium.PermissionHook; +import us.ajg0702.queue.common.QueueMain; import java.util.*; diff --git a/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java b/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java index 0a8783b..130120e 100644 --- a/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java +++ b/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java @@ -207,9 +207,7 @@ public class SpigotMain extends JavaPlugin implements PluginMessageListener,List @EventHandler public void onJoin(PlayerJoinEvent e) { if(hasProxy) return; - Bukkit.getScheduler().runTask(this, () -> { - sendMessage(e.getPlayer(), "ack", ""); - }); + Bukkit.getScheduler().runTask(this, () -> sendMessage(e.getPlayer(), "ack", "")); } @EventHandler(priority = EventPriority.HIGH) diff --git a/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java b/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java index acc3c60..c22e3dc 100644 --- a/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java +++ b/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java @@ -8,7 +8,7 @@ import java.lang.reflect.Method; /** * A cross-version actionbar class - * @author Based on ActionBarAPI from https://github.com/ConnorLinfoot + * @author Based on ActionBarAPI from ... * */ public class ActionBar { From 34ab3d0da0c5d3a5f50167a75e1d2a441fd882f4 Mon Sep 17 00:00:00 2001 From: "J.T. McQuigg" Date: Tue, 14 Jun 2022 10:42:07 -0400 Subject: [PATCH 04/13] Move Velocity repo to PaperMC and update to latest --- platforms/velocity/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/velocity/build.gradle.kts b/platforms/velocity/build.gradle.kts index 334bfb9..e1a9331 100644 --- a/platforms/velocity/build.gradle.kts +++ b/platforms/velocity/build.gradle.kts @@ -8,7 +8,7 @@ group = "us.ajg0702.queue.platforms.velocity" repositories { //mavenLocal() maven { url = uri("https://repo.ajg0702.us") } - maven { url = uri("https://nexus.velocitypowered.com/repository/maven-public/") } + maven { url = uri("https://repo.papermc.io/repository/maven-public/") } maven { url = uri("https://repo.viaversion.com/") } mavenCentral() } @@ -18,8 +18,8 @@ dependencies { compileOnly("com.google.guava:guava:30.1.1-jre") compileOnly("us.ajg0702:ajUtils:1.1.22") - compileOnly("com.velocitypowered:velocity-api:3.1.0") - annotationProcessor("com.velocitypowered:velocity-api:3.1.0") + compileOnly("com.velocitypowered:velocity-api:3.1.1") + annotationProcessor("com.velocitypowered:velocity-api:3.1.1") implementation("net.kyori:adventure-text-minimessage:4.10.0") compileOnly("com.viaversion:viaversion-api:4.3.1") From 860706f9a21df566a01478f6f1b12f451534844e Mon Sep 17 00:00:00 2001 From: "J.T. McQuigg" Date: Mon, 20 Jun 2022 19:56:17 -0400 Subject: [PATCH 05/13] Update Gradle to 7.4.2 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0f80bbf..aa991fc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 35f07ab760ed953c43a9640a3a5053ca2a16661e Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Sat, 2 Jul 2022 11:57:34 -0700 Subject: [PATCH 06/13] fix stayqueued permission not working on free version --- common/src/main/java/us/ajg0702/queue/logic/FreeLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/us/ajg0702/queue/logic/FreeLogic.java b/common/src/main/java/us/ajg0702/queue/logic/FreeLogic.java index b9a902f..bde5ab3 100644 --- a/common/src/main/java/us/ajg0702/queue/logic/FreeLogic.java +++ b/common/src/main/java/us/ajg0702/queue/logic/FreeLogic.java @@ -19,7 +19,7 @@ public class FreeLogic implements Logic { @Override public boolean playerDisconnectedTooLong(QueuePlayer player) { - return player.getMaxOfflineTime() < player.getTimeSinceOnline()*1000; + return player.getTimeSinceOnline() > player.getMaxOfflineTime()*1000L; } @Override From a5771d03c303a6f8b10fdbd849a64072dcbc13cf Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Fri, 8 Jul 2022 10:54:20 -0500 Subject: [PATCH 07/13] Add %ajqueue_status_% placeholder --- api/build.gradle.kts | 2 +- .../ajg0702/queue/api/queues/QueueServer.java | 14 ++++++++ common/build.gradle.kts | 2 +- .../queue/common/EventHandlerImpl.java | 11 ++++++ .../us/ajg0702/queue/common/QueueMain.java | 10 +++++- .../queue/common/queues/QueueServerImpl.java | 34 +++++++++++++++++++ free/build.gradle.kts | 2 +- platforms/bungeecord/build.gradle.kts | 2 +- platforms/velocity/build.gradle.kts | 2 +- premium/build.gradle.kts | 2 +- spigot/build.gradle.kts | 2 +- .../us/ajg0702/queue/spigot/Placeholders.java | 18 ++++++---- .../us/ajg0702/queue/spigot/SpigotMain.java | 18 ++++++++-- 13 files changed, 102 insertions(+), 17 deletions(-) diff --git a/api/build.gradle.kts b/api/build.gradle.kts index a6ce712..c4cf23b 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { implementation("net.kyori:adventure-text-serializer-plain:4.9.3") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.22") + compileOnly("us.ajg0702:ajUtils:1.2.10") } publishing { diff --git a/api/src/main/java/us/ajg0702/queue/api/queues/QueueServer.java b/api/src/main/java/us/ajg0702/queue/api/queues/QueueServer.java index dba7633..17ab09e 100644 --- a/api/src/main/java/us/ajg0702/queue/api/queues/QueueServer.java +++ b/api/src/main/java/us/ajg0702/queue/api/queues/QueueServer.java @@ -36,6 +36,20 @@ public interface QueueServer { */ String getStatusString(); + /** + * Get the status of the server as a string (not from the messages file) + * @param p The player that you are checking for. Used for checking restricted servers + * @return The status of the server as a string + */ + String getStatus(AdaptedPlayer p); + + /** + * Get the status of the server as a string (not from the messages file) + * Does not check if the player has access using restricted mode. May show online if it is restricted + * @return The status of the server as a string + */ + String getStatus(); + /** * Sends a server ping and uses the response to update online status, player count status, and whitelist status */ diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 4cfdce4..0d606cf 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { compileOnly("net.kyori:adventure-text-serializer-plain:4.9.3") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.22") + compileOnly("us.ajg0702:ajUtils:1.2.10") compileOnly("org.slf4j:slf4j-log4j12:1.7.29") diff --git a/common/src/main/java/us/ajg0702/queue/common/EventHandlerImpl.java b/common/src/main/java/us/ajg0702/queue/common/EventHandlerImpl.java index 8797c86..20ac404 100644 --- a/common/src/main/java/us/ajg0702/queue/common/EventHandlerImpl.java +++ b/common/src/main/java/us/ajg0702/queue/common/EventHandlerImpl.java @@ -116,6 +116,17 @@ public class EventHandlerImpl implements EventHandler { if(server == null) return; main.getPlatformMethods().sendPluginMessage(recievingPlayer, "queuedfor", srv, server.getQueue().size()+""); } + if(subchannel.equals("status")) { + String srv = in.readUTF(); + QueueServer server = main.getQueueManager().findServer(srv); + if(server == null) return; + main.getPlatformMethods().sendPluginMessage( + recievingPlayer, + "status", + srv, + main.getMessages().getRawString("placeholders.status."+server.getStatus(recievingPlayer)) + ); + } if(subchannel.equals("leavequeue")) { String[] args = new String[1]; try { diff --git a/common/src/main/java/us/ajg0702/queue/common/QueueMain.java b/common/src/main/java/us/ajg0702/queue/common/QueueMain.java index 1fdde20..8396b27 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueMain.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueMain.java @@ -180,7 +180,7 @@ public class QueueMain extends AjQueueAPI { } private void constructMessages() { - LinkedHashMap d = new LinkedHashMap<>(); + LinkedHashMap d = new LinkedHashMap<>(); d.put("status.offline.base", "&c{SERVER} is {STATUS}. &7You are in position &f{POS}&7 of &f{LEN}&7."); @@ -237,6 +237,14 @@ public class QueueMain extends AjQueueAPI { d.put("placeholders.position.none", "None"); d.put("placeholders.estimated_time.none", "None"); + d.put("placeholders.status.online", "&aOnline"); + d.put("placeholders.status.offline", "&cOffline"); + d.put("placeholders.status.restarting", "&cRestarting"); + d.put("placeholders.status.full", "&eFull"); + d.put("placeholders.status.restricted", "&eRestricted"); + d.put("placeholders.status.paused", "&ePaused"); + d.put("placeholders.status.whitelisted", "&eWhitelisted"); + d.put("title.title", ""); d.put("title.subtitle", "You are #{POS} in the queue!"); diff --git a/common/src/main/java/us/ajg0702/queue/common/queues/QueueServerImpl.java b/common/src/main/java/us/ajg0702/queue/common/queues/QueueServerImpl.java index 0362452..bfa72b5 100644 --- a/common/src/main/java/us/ajg0702/queue/common/queues/QueueServerImpl.java +++ b/common/src/main/java/us/ajg0702/queue/common/queues/QueueServerImpl.java @@ -157,6 +157,40 @@ public class QueueServerImpl implements QueueServer { return getStatusString(null); } + @Override + public String getStatus(AdaptedPlayer p) { + if(getOfflineTime() > main.getConfig().getInt("offline-time")) { + return "offline"; + } + + if(!isOnline()) { + return "restarting"; + } + + if(isPaused()) { + return "paused"; + } + + if(p != null && isWhitelisted() && !getWhitelistedPlayers().contains(p.getUniqueId())) { + return "whitelisted"; + } + + if(isFull() && !canJoinFull(p)) { + return "full"; + } + + if(p != null && !canAccess(p)) { + return "restricted"; + } + + return "online"; + } + + @Override + public String getStatus() { + return null; + } + @Override public void updatePing() { boolean pingerDebug = main.getConfig().getBoolean("pinger-debug"); diff --git a/free/build.gradle.kts b/free/build.gradle.kts index 2cb06f7..b856e4a 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.22") + implementation("us.ajg0702:ajUtils:1.2.10") implementation(project(":platforms:velocity")) implementation(project(":platforms:bungeecord")) diff --git a/platforms/bungeecord/build.gradle.kts b/platforms/bungeecord/build.gradle.kts index 3827d38..e334486 100644 --- a/platforms/bungeecord/build.gradle.kts +++ b/platforms/bungeecord/build.gradle.kts @@ -16,7 +16,7 @@ repositories { dependencies { compileOnly("net.kyori:adventure-api:4.9.3") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.22") + compileOnly("us.ajg0702:ajUtils:1.2.10") compileOnly("net.md-5:bungeecord-api:1.16-R0.4") diff --git a/platforms/velocity/build.gradle.kts b/platforms/velocity/build.gradle.kts index 9909cca..bb9615d 100644 --- a/platforms/velocity/build.gradle.kts +++ b/platforms/velocity/build.gradle.kts @@ -16,7 +16,7 @@ repositories { dependencies { compileOnly("net.kyori:adventure-api:4.9.3") compileOnly("com.google.guava:guava:30.1.1-jre") - compileOnly("us.ajg0702:ajUtils:1.1.22") + compileOnly("us.ajg0702:ajUtils:1.2.10") compileOnly("com.velocitypowered:velocity-api:3.0.0") annotationProcessor("com.velocitypowered:velocity-api:3.0.0") diff --git a/premium/build.gradle.kts b/premium/build.gradle.kts index 2019d31..a3ea1d1 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.22") + compileOnly("us.ajg0702:ajUtils:1.2.10") compileOnly("net.kyori:adventure-api:4.9.3") diff --git a/spigot/build.gradle.kts b/spigot/build.gradle.kts index e5916bd..95fecf4 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.22") + compileOnly("us.ajg0702:ajUtils:1.2.10") compileOnly(group = "org.spigotmc", name = "spigot", version = "1.16.5-R0.1-SNAPSHOT") compileOnly("me.clip:placeholderapi:2.10.4") diff --git a/spigot/src/main/java/us/ajg0702/queue/spigot/Placeholders.java b/spigot/src/main/java/us/ajg0702/queue/spigot/Placeholders.java index 1a5d757..fb5c169 100644 --- a/spigot/src/main/java/us/ajg0702/queue/spigot/Placeholders.java +++ b/spigot/src/main/java/us/ajg0702/queue/spigot/Placeholders.java @@ -175,6 +175,9 @@ public class Placeholders extends PlaceholderExpansion { if(identifier.matches("queuedfor_*.*")) { return "0"; } + if(identifier.matches("status_*.*")) { + return "Loading"; + } } @@ -185,22 +188,25 @@ public class Placeholders extends PlaceholderExpansion { private String parsePlaceholder(Player player, String identifier) { if(identifier.equalsIgnoreCase("queued")) { plugin.sendMessage(player, "queuename", ""); - } + } else if(identifier.equalsIgnoreCase("position")) { plugin.sendMessage(player, "position", ""); - } + } else if(identifier.equalsIgnoreCase("of")) { plugin.sendMessage(player, "positionof", ""); - } + } else if(identifier.equalsIgnoreCase("inqueue")) { plugin.sendMessage(player, "inqueue", ""); - } + } else if(identifier.equalsIgnoreCase("estimated_time")) { plugin.sendMessage(player, "estimated_time", ""); - } + } else if(identifier.matches("queuedfor_*.*")) { plugin.sendMessage(player, "queuedfor", identifier.split("_")[1]); - } + } else + if(identifier.matches("status_*.*")) { + plugin.sendMessage(player, "status", identifier.split("_")[1]); + } return null; diff --git a/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java b/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java index 0a8783b..66baa35 100644 --- a/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java +++ b/spigot/src/main/java/us/ajg0702/queue/spigot/SpigotMain.java @@ -178,6 +178,20 @@ public class SpigotMain extends JavaPlugin implements PluginMessageListener,List phs.put("estimated_time", time); placeholders.responseCache.put(p, phs); } + if(subchannel.equals("status")) { + String playername = in.readUTF(); + String server = in.readUTF(); + + Player p = Bukkit.getPlayer(playername); + if(p == null) return; + if(!p.isOnline()) return; + + String status = in.readUTF(); + HashMap phs = placeholders.responseCache.get(p); + if(phs == null) phs = new HashMap<>(); + phs.put("status_"+server, status+""); + placeholders.responseCache.put(p, phs); + } } @@ -207,9 +221,7 @@ public class SpigotMain extends JavaPlugin implements PluginMessageListener,List @EventHandler public void onJoin(PlayerJoinEvent e) { if(hasProxy) return; - Bukkit.getScheduler().runTask(this, () -> { - sendMessage(e.getPlayer(), "ack", ""); - }); + Bukkit.getScheduler().runTask(this, () -> sendMessage(e.getPlayer(), "ack", "")); } @EventHandler(priority = EventPriority.HIGH) From c3509e7f3433b0993272ecf22615efd6ab59ff91 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Fri, 8 Jul 2022 11:15:34 -0500 Subject: [PATCH 08/13] added sending now title --- .../java/us/ajg0702/queue/common/QueueMain.java | 2 ++ .../us/ajg0702/queue/common/QueueManagerImpl.java | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/common/src/main/java/us/ajg0702/queue/common/QueueMain.java b/common/src/main/java/us/ajg0702/queue/common/QueueMain.java index 8396b27..2b52877 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueMain.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueMain.java @@ -247,6 +247,8 @@ public class QueueMain extends AjQueueAPI { d.put("title.title", ""); d.put("title.subtitle", "You are #{POS} in the queue!"); + d.put("title.sending-now.title", ""); + d.put("title.sending-now.subtitle", "Sending you to {SERVER} now.."); d.put("commands.leave.more-args", "&cPlease specify which queue you want to leave! &7You are in these queues: {QUEUES}"); d.put("commands.leave.queues-list-format", "&f{NAME}&7, "); 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 b9089a3..61e1016 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java @@ -616,6 +616,19 @@ public class QueueManagerImpl implements QueueManager { } if(System.currentTimeMillis() - sendingNowAntiSpam.get(nextPlayer) >= 5000) { nextPlayer.sendMessage(msgs.getComponent("status.sending-now", "SERVER:"+server.getAlias())); + if(main.getConfig().getBoolean("send-title")) { + nextPlayer.showTitle(Title.title( + main.getMessages().getComponent( + "title.sending-now.title", + "SERVER:"+server.getAlias() + ), + main.getMessages().getComponent( + "title.sending-now.subtitle", + "SERVER:"+server.getAlias() + ), + Title.Times.of(Duration.ZERO, Duration.ofSeconds(2L), Duration.ZERO) + )); + } sendingNowAntiSpam.put(nextPlayer, System.currentTimeMillis()); } From f0c415285ea543176ca8b6ef3406aae9a3e57bf5 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Sat, 9 Jul 2022 14:40:46 -0500 Subject: [PATCH 09/13] Added {TIME} placeholder in titles --- .../java/us/ajg0702/queue/common/QueueManagerImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 61e1016..22beb0f 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java @@ -394,17 +394,21 @@ public class QueueManagerImpl implements QueueManager { if(!getSingleServer(player).equals(server)) continue; + int time = (int) Math.round(pos * main.getTimeBetweenPlayers()); + Component titleMessage = msgs.getComponent("title.title", "POS:"+pos, "LEN:"+server.getQueue().size(), "SERVER:"+server.getAlias(), - "STATUS:"+status + "STATUS:"+status, + "TIME:"+ TimeUtils.timeString(time, msgs.getString("format.time.mins"), msgs.getString("format.time.secs")) ); Component subTitleMessage = msgs.getComponent("title.subtitle", "POS:"+pos, "LEN:"+server.getQueue().size(), "SERVER:"+server.getAlias(), - "STATUS:"+status + "STATUS:"+status, + "TIME:"+ TimeUtils.timeString(time, msgs.getString("format.time.mins"), msgs.getString("format.time.secs")) ); Title title = Title.title(titleMessage, subTitleMessage, Title.Times.of(Duration.ZERO, Duration.ofSeconds(2L), Duration.ZERO)); From 48b10777e24fb817d85a6815f79eefca47c2a4cc Mon Sep 17 00:00:00 2001 From: "J.T. McQuigg" Date: Sun, 17 Jul 2022 10:48:31 -0400 Subject: [PATCH 10/13] Gradle 7.5 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fc..8049c68 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From ab55bf50cd6039bfdb91ff1108943fe2ed38a588 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Tue, 19 Jul 2022 10:10:44 -0700 Subject: [PATCH 11/13] fix link text --- .../src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java b/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java index c22e3dc..8824dfa 100644 --- a/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java +++ b/spigot/src/main/java/us/ajg0702/queue/spigot/utils/ActionBar.java @@ -8,7 +8,7 @@ import java.lang.reflect.Method; /** * A cross-version actionbar class - * @author Based on ActionBarAPI from ... + * @author Based on ActionBarAPI from ConnorLinfoot * */ public class ActionBar { From 2ac318fbdcc6a484cc074c25d447c811f38a07c4 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Tue, 19 Jul 2022 10:11:29 -0700 Subject: [PATCH 12/13] remove deprecated gradle thingy --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8bfd7ba..7844576 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,8 +27,8 @@ allprojects { failFast = true maxParallelForks = (Runtime.getRuntime().availableProcessors() - 1).takeIf { it > 0 } ?: 1 - reports.html.isEnabled = false - reports.junitXml.isEnabled = false + reports.html.required.set(false) + reports.junitXml.required.set(false) } From c2bac1c64092f609013cae409e6daf0e073924ab Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Tue, 19 Jul 2022 10:12:42 -0700 Subject: [PATCH 13/13] 2.2.8 :) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 7844576..9f99f79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ repositories { } allprojects { - version = "2.2.7" + version = "2.2.8" group = "us.ajg0702" plugins.apply("java")