package net.t2code.alias.Spigot.cmdManagement; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.config.languages.SelectMessages; import net.t2code.alias.Spigot.objects.AliasObject; import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; import java.lang.reflect.Array; import java.util.Arrays; import java.util.Collections; import java.util.List; public class RegisterCommands extends Command implements TabCompleter { private String alias; private String prefix = Util.getPrefix(); public RegisterCommands(String alias) { super(alias); this.alias = alias; } @Override public boolean execute(CommandSender sender, String commandLabel, String[] args) { AliasObject alias = Main.aliasHashMap.get(this.alias); if (alias == null) { send.error(Main.getPlugin(), "The alias " + this.alias + " does not exist."); return false; } if (!alias.aliasEnable) { send.sender(sender, SelectMessages.aliasDisabled); return true; } if (args.length == 0 || args.length == 1 && args[0].contains("-p:")) { if (sender instanceof Player) { ExecuteAlias.aliasPlayer(sender, alias, this.alias, args); } else { if (alias.consoleEnable) { ExecuteAlias.aliasConsole(alias, sender, prefix); } else send.sender(sender, SelectMessages.onlyForPlayer); } } else { if (!Main.allForSubAliases.contains(this.alias)) { return false; } for (String sals : Main.allSubAliases) { SubAliasObject sal = Main.subAliasHashMap.get(sals); if (args.length == sal.subAliasArg + 1) { for (String al : sal.subAliasList) { if (args[sal.subAliasArg].toLowerCase().equals(al)) { ExecuteAlias.subAliasPlayer(sender, sal, al, args); return true; } } } } send.sender(sender, "TODO DEV'>Diesen Befehl gibt es nicht"); //todo } return true; } @Override public List onTabComplete(CommandSender commandSender, Command command, String s, String[] strings) { return Collections.singletonList("hallodepp"); } }