From 8d0d3a547f103abb53f42a5f8f28aa970109bfe2 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Sun, 10 May 2020 13:47:26 -0700 Subject: [PATCH] leave command + premium stuff --- rename.sh | 2 + .../java/us/ajg0702/queue/LeaveCommand.java | 30 +++++++++++++ src/main/java/us/ajg0702/queue/Main.java | 44 ++++++++++++------- .../java/us/ajg0702/queue/ManageCommand.java | 4 ++ 4 files changed, 65 insertions(+), 15 deletions(-) create mode 100755 rename.sh create mode 100644 src/main/java/us/ajg0702/queue/LeaveCommand.java diff --git a/rename.sh b/rename.sh new file mode 100755 index 0000000..5243079 --- /dev/null +++ b/rename.sh @@ -0,0 +1,2 @@ +mv ajQueue-$1.jar ajQueuePlus-$1.jar +mv original-ajQueue-$1.jar ajQueue-$1.jar \ No newline at end of file diff --git a/src/main/java/us/ajg0702/queue/LeaveCommand.java b/src/main/java/us/ajg0702/queue/LeaveCommand.java new file mode 100644 index 0000000..643fa6a --- /dev/null +++ b/src/main/java/us/ajg0702/queue/LeaveCommand.java @@ -0,0 +1,30 @@ +package us.ajg0702.queue; + +import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.connection.ProxiedPlayer; +import net.md_5.bungee.api.plugin.Command; +import us.ajg0702.queue.utils.BungeeMessages; + +public class LeaveCommand extends Command { + Main plugin; + BungeeMessages msgs; + public LeaveCommand(Main pl) { + super("leavequeue"); + this.plugin = pl; + msgs = BungeeMessages.getInstance(); + + } + @Override + public void execute(CommandSender sender, String[] args) { + if(!(sender instanceof ProxiedPlayer)) { + sender.sendMessage(msgs.getBC("errors.player-only")); + return; + } + ProxiedPlayer p = (ProxiedPlayer) sender; + String queue = plugin.getPlayerInQueue((ProxiedPlayer) sender); + if(queue != null) { + plugin.queues.get(queue).remove(p); + p.sendMessage(msgs.getBC("commands.leave-queue")); + } + } +} diff --git a/src/main/java/us/ajg0702/queue/Main.java b/src/main/java/us/ajg0702/queue/Main.java index 3b3c554..268bcff 100644 --- a/src/main/java/us/ajg0702/queue/Main.java +++ b/src/main/java/us/ajg0702/queue/Main.java @@ -5,8 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; -import org.bstats.bungeecord.Metrics; - import net.md_5.bungee.api.Callback; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.ServerPing; @@ -21,18 +19,21 @@ import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.event.EventHandler; import us.ajg0702.queue.utils.BungeeConfig; import us.ajg0702.queue.utils.BungeeMessages; +import us.ajg0702.queue.utils.BungeeStats; public class Main extends Plugin implements Listener { int timeBetweenPlayers = 5; int offlineSecs = 120; - Metrics metrics; + BungeeStats metrics; BungeeMessages msgs; BungeeConfig config; + boolean isp; + @Override public void onEnable() { @@ -42,6 +43,7 @@ public class Main extends Plugin implements Listener { this.getProxy().getPluginManager().registerCommand(this, new MoveCommand(this)); this.getProxy().getPluginManager().registerCommand(this, new ManageCommand(this)); + this.getProxy().getPluginManager().registerCommand(this, new LeaveCommand(this)); this.getProxy().getPluginManager().registerListener(this, this); @@ -49,6 +51,13 @@ public class Main extends Plugin implements Listener { updateOnlineServers(); + try { + Class.forName("us.ajg0702.queue.Logic"); + isp = true; + } catch(ClassNotFoundException e) { + isp = false; + } + getProxy().getScheduler().schedule(this, new Runnable() { public void run() { updateOnlineServers(); @@ -57,7 +66,7 @@ public class Main extends Plugin implements Listener { }, 5, timeBetweenPlayers, TimeUnit.SECONDS); - metrics = new Metrics(this, 7404); + metrics = new BungeeStats(this, 7404); } @@ -212,6 +221,7 @@ public class Main extends Plugin implements Listener { HashMap> queues = new HashMap<>(); public void addToQueue(ProxiedPlayer p, String server) { + //getLogger().info("adding "+p.getDisplayName()+" to queue "+server); if(!servers.containsKey(server)) { p.sendMessage(msgs.getBC("errors.server-not-exist")); return; @@ -239,20 +249,24 @@ public class Main extends Plugin implements Listener { queues.get(currentQueued).remove(p); p.sendMessage(msgs.getBC("status.left-last-queue")); } - if(p.hasPermission("ajqueue.priority") && list.size() > 0) { - int i = 0; - for(ProxiedPlayer ply : list) { - if(!ply.hasPermission("ajqueue.priority")) { - list.add(i, p); - break; + if(isp) { + us.ajg0702.queue.Logic.priorityLogic(list, p); + } else { + if(p.hasPermission("ajqueue.priority") && list.size() > 0) { + int i = 0; + for(ProxiedPlayer ply : list) { + if(!ply.hasPermission("ajqueue.priority")) { + list.add(i, p); + break; + } + i++; } - i++; - } - if(list.size() == 0) { + if(list.size() == 0) { + list.add(p); + } + } else { list.add(p); } - } else { - list.add(p); } int pos = list.indexOf(p)+1; int len = list.size(); diff --git a/src/main/java/us/ajg0702/queue/ManageCommand.java b/src/main/java/us/ajg0702/queue/ManageCommand.java index f8724f7..30b0edb 100644 --- a/src/main/java/us/ajg0702/queue/ManageCommand.java +++ b/src/main/java/us/ajg0702/queue/ManageCommand.java @@ -58,6 +58,10 @@ public class ManageCommand extends Command { sender.sendMessage(Main.formatMessage(msgs.get("list.total").replaceAll("\\{TOTAL\\}", total+""))); return; } + if(args[0].equalsIgnoreCase("p")) { + sender.sendMessage(Main.formatMessage(pl.isp+"")); + return; + } } sender.sendMessage(Main.formatMessage("/ajqueue "));