67 lines
2.3 KiB
Java
67 lines
2.3 KiB
Java
package net.t2code.lib.Bungee.Lib.commands;
|
|
|
|
import net.md_5.bungee.api.CommandSender;
|
|
import net.md_5.bungee.api.ProxyServer;
|
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
public class BTab {
|
|
public static Iterable<String> tab(CommandSender sender, String[] args, String perm,Boolean onlinePlayer){
|
|
List<String> matches = new ArrayList<>();
|
|
Iterator var6 = ProxyServer.getInstance().getPlayers().iterator();
|
|
while (var6.hasNext()) {
|
|
ProxiedPlayer player1 = (ProxiedPlayer) var6.next();
|
|
if (passend(player1.getName(), args[0]) && hasPermission(sender, perm)){
|
|
matches.add(player1.getName());
|
|
}
|
|
}
|
|
return matches;
|
|
}
|
|
|
|
public static Iterable<String> tab(CommandSender sender, String[] args, HashMap<String, String> permMap) {
|
|
List<String> matches = new ArrayList<>();
|
|
for (String command : permMap.keySet()) {
|
|
if (hasPermission(sender, permMap.get(command)) && passend(command, args[0])) {
|
|
matches.add(command);
|
|
}
|
|
}
|
|
return matches;
|
|
}
|
|
|
|
public static Iterable<String> tab(CommandSender sender, String[] args, String perm, String command) {
|
|
List<String> matches = new ArrayList<>();
|
|
if (hasPermission(sender, perm) && passend(command, args[0])) {
|
|
matches.add(command);
|
|
}
|
|
return matches;
|
|
}
|
|
|
|
public static Boolean passend(String command, String arg) {
|
|
for (int i = 0; i < arg.toUpperCase().length(); i++) {
|
|
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
|
|
return false;
|
|
} else {
|
|
if (arg.toUpperCase().charAt(i) != command.toUpperCase().charAt(i)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
public static boolean hasPermission(CommandSender sender, String permission) {
|
|
String[] Permissions = permission.split(";");
|
|
for (String perm : Permissions) {
|
|
if (sender.hasPermission(perm)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
}
|