Add Method for matching CheckType names [might get moved, changed

arbitrarily].
This commit is contained in:
asofold 2012-11-07 07:03:11 +01:00
parent 9741f45346
commit ae5427e01d

View File

@ -1,10 +1,16 @@
package fr.neatmonster.nocheatplus.command;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.craftbukkit.CraftServer;
import fr.neatmonster.nocheatplus.checks.CheckType;
public class CommandUtil {
public static SimpleCommandMap getCommandMap(){
@ -30,4 +36,30 @@ public class CommandUtil {
final String lcAlias = alias.trim().toLowerCase();
return map.getCommand(lcAlias);
}
/**
*
* @param input
* @return
*/
public static List<String> getCheckTypeTabMatches(final String input) {
final String ref = input.toUpperCase().replace('-', '_').replace('.', '_');
final List<String> res = new ArrayList<String>();
for (final CheckType checkType : CheckType.values()){
final String name = checkType.name();
if (name.startsWith(ref)) res.add(name);
}
if (ref.indexOf('_') == -1){
for (final CheckType checkType : CheckType.values()){
final String name = checkType.name();
final String[] split = name.split("_", 2);
if (split.length > 1 && split[1].startsWith(ref)) res.add(name);
}
}
if (!res.isEmpty()){
Collections.sort(res);
return res;
}
return null;
}
}