Changed the disguisetype fetching to try without _ as well
This commit is contained in:
		@@ -66,10 +66,14 @@ public abstract class BaseDisguiseCommand implements CommandExecutor {
 | 
			
		||||
            sendCommandUsage(sender);
 | 
			
		||||
            throw new Exception();
 | 
			
		||||
        }
 | 
			
		||||
        DisguiseType disguiseType;
 | 
			
		||||
        try {
 | 
			
		||||
            disguiseType = DisguiseType.valueOf(args[0].toUpperCase());
 | 
			
		||||
        } catch (Exception ex) {
 | 
			
		||||
        DisguiseType disguiseType = null;
 | 
			
		||||
        for (DisguiseType type : DisguiseType.values()) {
 | 
			
		||||
            if (args[0].equalsIgnoreCase(type.name()) || type.name().replace("_", "").equalsIgnoreCase(args[0])) {
 | 
			
		||||
                disguiseType = type;
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (disguiseType == null) {
 | 
			
		||||
            throw new Exception(ChatColor.RED + "Error! The disguise " + ChatColor.GREEN + args[0] + ChatColor.RED
 | 
			
		||||
                    + " doesn't exist!");
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -32,41 +32,43 @@ public class DisguiseHelpCommand extends BaseDisguiseCommand {
 | 
			
		||||
                    // sender.sendMessage(ChatColor.RED + "/disguisehelp <Disguise> <Option>");
 | 
			
		||||
                } else {
 | 
			
		||||
                    DisguiseType type = null;
 | 
			
		||||
                    try {
 | 
			
		||||
                        type = DisguiseType.valueOf(args[0].toUpperCase());
 | 
			
		||||
                    } catch (Exception ex) {
 | 
			
		||||
                    for (DisguiseType disguiseType : DisguiseType.values()) {
 | 
			
		||||
                        if (args[0].equalsIgnoreCase(disguiseType.name())
 | 
			
		||||
                                || disguiseType.name().replace("_", "").equalsIgnoreCase(args[0])) {
 | 
			
		||||
                            type = disguiseType;
 | 
			
		||||
                            break;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    if (type == null) {
 | 
			
		||||
                        sender.sendMessage(ChatColor.RED + "Cannot find the disguise " + args[0]);
 | 
			
		||||
                        return true;
 | 
			
		||||
                    }
 | 
			
		||||
                    if (type != null) {
 | 
			
		||||
                        ArrayList<String> methods = new ArrayList<String>();
 | 
			
		||||
                        Class watcher = type.getWatcherClass();
 | 
			
		||||
                        try {
 | 
			
		||||
                            for (Method method : watcher.getMethods()) {
 | 
			
		||||
                                if (!method.getName().startsWith("get") && method.getParameterTypes().length == 1) {
 | 
			
		||||
                                    Class c = method.getParameterTypes()[0];
 | 
			
		||||
                                    String valueType = null;
 | 
			
		||||
                                    if (c == String.class)
 | 
			
		||||
                                        valueType = "String";
 | 
			
		||||
                                    else if (boolean.class == c)
 | 
			
		||||
                                        valueType = "True/False";
 | 
			
		||||
                                    else if (float.class == c || double.class == c || int.class == c) {
 | 
			
		||||
                                        valueType = "Number";
 | 
			
		||||
                                    }
 | 
			
		||||
                                    if (valueType != null) {
 | 
			
		||||
                                        methods.add(ChatColor.RED + method.getName() + ChatColor.DARK_RED + " ("
 | 
			
		||||
                                                + ChatColor.GREEN + valueType + ChatColor.DARK_RED + ")");
 | 
			
		||||
                                    }
 | 
			
		||||
                    ArrayList<String> methods = new ArrayList<String>();
 | 
			
		||||
                    Class watcher = type.getWatcherClass();
 | 
			
		||||
                    try {
 | 
			
		||||
                        for (Method method : watcher.getMethods()) {
 | 
			
		||||
                            if (!method.getName().startsWith("get") && method.getParameterTypes().length == 1) {
 | 
			
		||||
                                Class c = method.getParameterTypes()[0];
 | 
			
		||||
                                String valueType = null;
 | 
			
		||||
                                if (c == String.class)
 | 
			
		||||
                                    valueType = "String";
 | 
			
		||||
                                else if (boolean.class == c)
 | 
			
		||||
                                    valueType = "True/False";
 | 
			
		||||
                                else if (float.class == c || double.class == c || int.class == c) {
 | 
			
		||||
                                    valueType = "Number";
 | 
			
		||||
                                }
 | 
			
		||||
                                if (valueType != null) {
 | 
			
		||||
                                    methods.add(ChatColor.RED + method.getName() + ChatColor.DARK_RED + " (" + ChatColor.GREEN
 | 
			
		||||
                                            + valueType + ChatColor.DARK_RED + ")");
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        } catch (Exception ex) {
 | 
			
		||||
                            ex.printStackTrace();
 | 
			
		||||
                        }
 | 
			
		||||
                        Collections.sort(methods, String.CASE_INSENSITIVE_ORDER);
 | 
			
		||||
                        sender.sendMessage(ChatColor.DARK_RED + "Options: "
 | 
			
		||||
                                + StringUtils.join(methods, ChatColor.DARK_RED + ", "));
 | 
			
		||||
                        return true;
 | 
			
		||||
                    } catch (Exception ex) {
 | 
			
		||||
                        ex.printStackTrace();
 | 
			
		||||
                    }
 | 
			
		||||
                    Collections.sort(methods, String.CASE_INSENSITIVE_ORDER);
 | 
			
		||||
                    sender.sendMessage(ChatColor.DARK_RED + "Options: " + StringUtils.join(methods, ChatColor.DARK_RED + ", "));
 | 
			
		||||
                    return true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user