Add /ajqueue command

This commit is contained in:
ajgeiss0702
2020-05-06 11:09:04 -07:00
parent 1ae6d52178
commit 6acf029a59
4 changed files with 74 additions and 11 deletions
+1 -2
View File
@@ -36,8 +36,7 @@ public class Main extends Plugin implements Listener {
msgs = BungeeMessages.getInstance(this); msgs = BungeeMessages.getInstance(this);
this.getProxy().getPluginManager().registerCommand(this, new MoveCommand(this)); this.getProxy().getPluginManager().registerCommand(this, new MoveCommand(this));
//this.getProxy().getPluginManager().registerCommand(this, new QueueCommand(this)); this.getProxy().getPluginManager().registerCommand(this, new ManageCommand(this));
//this.getProxy().getPluginManager().registerCommand(this, new ServerCommand(this));
this.getProxy().getPluginManager().registerListener(this, this); this.getProxy().getPluginManager().registerListener(this, this);
@@ -0,0 +1,64 @@
package us.ajg0702.queue;
import java.util.List;
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 ManageCommand extends Command {
Main pl;
BungeeMessages msgs;
public ManageCommand(Main pl) {
super("ajqueue", null, "ajq");
this.pl = pl;
msgs = BungeeMessages.getInstance();
}
@Override
public void execute(CommandSender sender, String[] args) {
if(args.length == 1) {
if(args[0].equalsIgnoreCase("reload")) {
if(!sender.hasPermission("ajqueue.reload")) {
sender.sendMessage(msgs.getBC("noperm"));
return;
}
msgs.reload();
pl.getConfig().reload();
sender.sendMessage(msgs.getBC("commands.reload"));
return;
}
if(args[0].equalsIgnoreCase("list")) {
int total = 0;
for(String server : pl.queues.keySet()) {
String msg = msgs.get("list.format").replaceAll("\\{SERVER\\}", server);
String playerlist = "";
List<ProxiedPlayer> players = pl.queues.get(server);
if(msg.contains("{LIST}")) {
for(ProxiedPlayer p : players) {
playerlist += msgs.get("list.playerlist").replaceAll("\\{NAME\\}", p.getDisplayName());
}
if(playerlist.equalsIgnoreCase("")) {
playerlist = msgs.color("&7None, ");
}
playerlist = playerlist.substring(0, playerlist.length()-2);
msg = msg.replaceAll("\\{LIST\\}", playerlist);
}
total += players.size();
msg = msg.replaceAll("\\{COUNT\\}", players.size()+"");
sender.sendMessage(Main.formatMessage(msg));
}
sender.sendMessage(Main.formatMessage(msgs.get("list.total").replaceAll("\\{TOTAL\\}", total+"")));
return;
}
}
sender.sendMessage(Main.formatMessage("/ajqueue <reload|list>"));
}}
@@ -3,6 +3,7 @@ package us.ajg0702.queue;
import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command; import net.md_5.bungee.api.plugin.Command;
import us.ajg0702.queue.utils.BungeeMessages; import us.ajg0702.queue.utils.BungeeMessages;
public class MoveCommand extends Command { public class MoveCommand extends Command {
@@ -22,14 +23,6 @@ public class MoveCommand extends Command {
} }
ProxiedPlayer p = (ProxiedPlayer) sender; ProxiedPlayer p = (ProxiedPlayer) sender;
if(args.length > 0) { if(args.length > 0) {
if(args[0].equalsIgnoreCase("reload")) {
if(!sender.hasPermission("ajqueue.reload")) {
sender.sendMessage(msgs.getBC("noperm"));
return;
}
msgs.reload();
return;
}
plugin.addToQueue(p, args[0]); plugin.addToQueue(p, args[0]);
} else if(args.length == 0) { } else if(args.length == 0) {
String queue = plugin.getPlayerInQueue((ProxiedPlayer) sender); String queue = plugin.getPlayerInQueue((ProxiedPlayer) sender);
@@ -72,6 +72,10 @@ public class BungeeMessages {
d.put("format.time.mins", "{m}m {s}s"); d.put("format.time.mins", "{m}m {s}s");
d.put("format.time.secs", "{s} seconds"); d.put("format.time.secs", "{s} seconds");
d.put("list.format", "&b{SERVER} &7({COUNT}): {LIST}");
d.put("list.playerlist", "&9{NAME}&7, ");
d.put("list.total", "&7Total players in queues: &f{TOTAL}");
for(String k : d.keySet()) { for(String k : d.keySet()) {
if(!msgs.contains(k)) { if(!msgs.contains(k)) {
@@ -88,13 +92,16 @@ public class BungeeMessages {
public String get(String key) { public String get(String key) {
String msg = msgs.get(key, "&cMessage '"+key+"' does not exist!"); String msg = msgs.get(key, "&cMessage '"+key+"' does not exist!");
msg = net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', msg); msg = color(msg);
return msg; return msg;
} }
public BaseComponent[] getBC(String key) { public BaseComponent[] getBC(String key) {
String m = get(key); String m = get(key);
return TextComponent.fromLegacyText(m); return TextComponent.fromLegacyText(m);
} }
public String color(String msg) {
return net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', msg);
}
public void reload() { public void reload() {
loadMessagesFile(); loadMessagesFile();