lot of progress

This commit is contained in:
ajgeiss0702
2021-07-11 16:09:38 -07:00
parent 7a6d97229a
commit 7e9bdaaf27
25 changed files with 775 additions and 56 deletions
@@ -0,0 +1,59 @@
package us.ajg0702.queue.commands;
import com.google.common.collect.ImmutableList;
import us.ajg0702.queue.api.commands.IBaseCommand;
import us.ajg0702.queue.api.commands.ICommandSender;
import us.ajg0702.queue.api.commands.ISubCommand;
import us.ajg0702.utils.common.Messages;
import java.util.List;
public class BaseCommand implements IBaseCommand {
@Override
public String getName() {
return null;
}
@Override
public ImmutableList<String> getAliases() {
return null;
}
@Override
public ImmutableList<ISubCommand> getSubCommands() {
return null;
}
@Override
public String getPermission() {
return null;
}
@Override
public Messages getMessages() {
return null;
}
@Override
public void addSubCommand(ISubCommand subCommand) {
}
@Override
public void execute(ICommandSender sender, String[] args) {
}
public boolean checkPermission(ICommandSender sender) {
if(getPermission() != null && !sender.hasPermission(getPermission())) {
sender.sendMessage(getMessages().getComponent("noperm"));
return false;
}
return true;
}
@Override
public List<String> autoComplete(ICommandSender sender, String[] args) {
return null;
}
}
@@ -0,0 +1,7 @@
package us.ajg0702.queue.commands;
import us.ajg0702.queue.api.commands.ISubCommand;
public class SubCommand extends BaseCommand implements ISubCommand {
}
@@ -0,0 +1,82 @@
package us.ajg0702.queue.commands.commands.queue;
import com.google.common.collect.ImmutableList;
import us.ajg0702.queue.api.commands.ICommandSender;
import us.ajg0702.queue.api.commands.ISubCommand;
import us.ajg0702.queue.api.players.AdaptedPlayer;
import us.ajg0702.queue.commands.BaseCommand;
import us.ajg0702.queue.common.QueueMain;
import us.ajg0702.utils.common.Messages;
import java.util.ArrayList;
import java.util.List;
public class QueueCommand extends BaseCommand {
private final QueueMain main;
public QueueCommand(QueueMain main) {
this.main = main;
}
@Override
public String getName() {
return "queue";
}
@Override
public ImmutableList<String> getAliases() {
return ImmutableList.of("move", "server", "joinqueue", "joinq");
}
@Override
public ImmutableList<ISubCommand> getSubCommands() {
return ImmutableList.<ISubCommand>builder().build();
}
@Override
public String getPermission() {
return null;
}
@Override
public Messages getMessages() {
return main.getMessages();
}
@Override
public void addSubCommand(ISubCommand subCommand) {
}
@Override
public void execute(ICommandSender sender, String[] args) {
if(!checkPermission(sender)) return;
if(!sender.isPlayer()) {
sender.sendMessage(getMessages().getComponent("errors.player-only"));
return;
}
AdaptedPlayer player = main.getPlatformMethods().senderToPlayer(sender);
if(args.length > 0) {
if(main.getConfig().getBoolean("require-permission") && !player.hasPermission("ajqueue.queue."+args[0])) {
sender.sendMessage(getMessages().getComponent("noperm"));
return;
}
main.getQueueManager().addToQueue(player, args[0]);
} else {
sender.sendMessage(getMessages().getComponent("commands.joinqueue.usage"));
}
}
@Override
public List<String> autoComplete(ICommandSender sender, String[] args) {
if(!main.getConfig().getBoolean("tab-complete-queues")) {
return new ArrayList<>();
}
if(args.length == 1) {
return main.getQueueManager().getServerNames();
}
return new ArrayList<>();
}
}