diff --git a/com/ne0nx3r0/betteralias/alias/Alias.java b/com/ne0nx3r0/betteralias/alias/Alias.java index 67a9607..d663003 100644 --- a/com/ne0nx3r0/betteralias/alias/Alias.java +++ b/com/ne0nx3r0/betteralias/alias/Alias.java @@ -27,7 +27,7 @@ public class Alias public boolean hasCommandFor(int length) { - return this.parameters.containsKey(length); + return this.parameters.containsKey(length) || this.parameters.containsKey(-1); } public String getPermissionNode() @@ -42,7 +42,14 @@ public class Alias Iterable getCommands(int length) { - return this.parameters.get(length); + List commands = this.parameters.get(length); + + if(commands != null) + { + return commands; + } + + return this.parameters.get(-1); } void setCommandsFor(int length,List commandsList) diff --git a/com/ne0nx3r0/betteralias/alias/AliasManager.java b/com/ne0nx3r0/betteralias/alias/AliasManager.java index 3148c21..4d6e062 100644 --- a/com/ne0nx3r0/betteralias/alias/AliasManager.java +++ b/com/ne0nx3r0/betteralias/alias/AliasManager.java @@ -72,48 +72,57 @@ public class AliasManager if(!sArg.equalsIgnoreCase("permission")) { - int iArg = Integer.parseInt(sArg); - - List sArgLines = new ArrayList(); - - if(yml.isList(sAlias+"."+sArg)) - { - sArgLines = yml.getStringList(sAlias+"."+sArg); - } - else - { - sArgLines.add(yml.getString(sAlias+"."+sArg)); - } - - for(String sArgLine : sArgLines) - { - AliasCommandTypes type = AliasCommandTypes.PLAYER; + int iArg; - if(sArgLine.contains(" ")) + if(sArg.equals("*")) { - String sType = sArgLine.substring(0,sArgLine.indexOf(" ")); - - if(sType.equalsIgnoreCase("console")) - { - type = AliasCommandTypes.CONSOLE; - - sArgLine = sArgLine.substring(sArgLine.indexOf(" ")+1); - } - else if(sType.equalsIgnoreCase("reply")) - { - type = AliasCommandTypes.REPLY_MESSAGE; - - sArgLine = sArgLine.substring(sArgLine.indexOf(" ")+1); - } + iArg = -1; } - - sArgLine = this.replaceColorCodes(sArgLine); - - commandsList.add(new AliasCommand(sArgLine,type)); + else + { + iArg = Integer.parseInt(sArg); + } + + List sArgLines = new ArrayList(); + + if(yml.isList(sAlias+"."+sArg)) + { + sArgLines = yml.getStringList(sAlias+"."+sArg); + } + else + { + sArgLines.add(yml.getString(sAlias+"."+sArg)); + } + + for(String sArgLine : sArgLines) + { + AliasCommandTypes type = AliasCommandTypes.PLAYER; + + if(sArgLine.contains(" ")) + { + String sType = sArgLine.substring(0,sArgLine.indexOf(" ")); + + if(sType.equalsIgnoreCase("console")) + { + type = AliasCommandTypes.CONSOLE; + + sArgLine = sArgLine.substring(sArgLine.indexOf(" ")+1); + } + else if(sType.equalsIgnoreCase("reply")) + { + type = AliasCommandTypes.REPLY_MESSAGE; + + sArgLine = sArgLine.substring(sArgLine.indexOf(" ")+1); + } + } + + sArgLine = this.replaceColorCodes(sArgLine); + + commandsList.add(new AliasCommand(sArgLine,type)); + } + + alias.setCommandsFor(iArg,commandsList); } - - alias.setCommandsFor(iArg,commandsList); - } } this.aliases.put(sAlias, alias); @@ -220,6 +229,10 @@ public class AliasManager return true; } } + else if(text.equalsIgnoreCase("*")) + { + text = commandString; + } else if(text.length() >= 2 && text.substring(1,2).equalsIgnoreCase("p")) { int iParam = -1; diff --git a/plugin.yml b/plugin.yml index 0ea77b8..3943200 100644 --- a/plugin.yml +++ b/plugin.yml @@ -1,6 +1,6 @@ name: BetterAlias main: com.ne0nx3r0.betteralias.BetterAlias -version: '1.0.1' +version: '1.1.0' database: false description: Command alias system commands: