97 lines
3.6 KiB
Java
97 lines
3.6 KiB
Java
package net.t2code.alias.Bungee.cmdManagement;
|
|
|
|
import net.md_5.bungee.api.CommandSender;
|
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|
import net.md_5.bungee.api.plugin.Command;
|
|
import net.md_5.bungee.api.plugin.TabExecutor;
|
|
import net.t2code.alias.Bungee.Main;
|
|
import net.t2code.alias.Bungee.config.languages.SelectMessages;
|
|
import net.t2code.lib.Bungee.Lib.messages.Bsend;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
public class Alias_CmdExecuter extends Command implements TabExecutor {
|
|
String Prefix;
|
|
public Alias_CmdExecuter() {
|
|
super("t2code-alias","t2code.alias.admin","t2c-a", "alias");
|
|
}
|
|
|
|
@Override
|
|
public void execute(CommandSender sender, String[] args) {
|
|
Prefix = Main.prefix;
|
|
|
|
if (args.length == 0) {
|
|
// Command
|
|
if (sender.hasPermission("t2code.alias.command.info")) {
|
|
Commands.info(sender);
|
|
} else Bsend.sender(sender, SelectMessages.NoPermissionForCommand.replace("[cmd]", "/t2code-alias info")
|
|
.replace("[perm]", "t2code.alias.command.info"));
|
|
} else {
|
|
switch (args[0].toLowerCase()) {
|
|
case "reload":
|
|
case "rl":
|
|
if (sender.hasPermission("t2code.alias.command.reload")) {
|
|
Commands.reload(sender);
|
|
} else Bsend.sender(sender, SelectMessages.NoPermissionForCommand.replace("[cmd]", "/t2code-alias reload")
|
|
.replace("[perm]", "t2code.alias.command.reload"));
|
|
break;
|
|
case "info":
|
|
case "plugin":
|
|
case "version":
|
|
if (sender.hasPermission("t2code.alias.command.info")) {
|
|
Commands.info(sender);
|
|
} else Bsend.sender(sender, SelectMessages.NoPermissionForCommand.replace("[cmd]", "/t2code-alias info")
|
|
.replace("[perm]", "t2code.alias.command.info"));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//TabCompleter
|
|
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
|
put("reload", "t2code.alias.command.reload");
|
|
put("rl", "t2code.alias.command.reload");
|
|
put("info", "t2code.alias.command.info");
|
|
}};
|
|
|
|
@Override
|
|
public Iterable<String> onTabComplete(CommandSender sender, String[] args) {
|
|
List<String> list = new ArrayList<>();
|
|
if (sender instanceof ProxiedPlayer) {
|
|
ProxiedPlayer p = (ProxiedPlayer) sender;
|
|
if (args.length == 1) {
|
|
for (String command : arg1.keySet()) {
|
|
Boolean passend = true;
|
|
for (int i = 0; i < args[0].length(); i++) {
|
|
if (args[0].length() >= command.length()) {
|
|
passend = false;
|
|
} else {
|
|
if (args[0].charAt(i) != command.charAt(i)) {
|
|
passend = false;
|
|
}
|
|
}
|
|
}
|
|
if (hasPermission(p, arg1.get(command)) && passend) {
|
|
list.add(command);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return list;
|
|
}
|
|
|
|
public static boolean hasPermission(ProxiedPlayer player, String permission) {
|
|
String[] Permissions = permission.split(";");
|
|
for (String perm : Permissions) {
|
|
if (player.hasPermission(perm)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|