summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTravis Watkins <amaranth@ubuntu.com>2014-02-09 23:16:19 -0600
committerTravis Watkins <amaranth@ubuntu.com>2014-02-09 23:16:19 -0600
commit45d2e3ff200b9a8523ed84a916fffc00f12a97c1 (patch)
tree99731a04989efe371c5a8a5204ed18ca6dca31a7 /src
parentc9836819df930fdad0984b4bc1d9c3fbe7fae724 (diff)
downloadbukkit-45d2e3ff200b9a8523ed84a916fffc00f12a97c1.tar
bukkit-45d2e3ff200b9a8523ed84a916fffc00f12a97c1.tar.gz
bukkit-45d2e3ff200b9a8523ed84a916fffc00f12a97c1.tar.lz
bukkit-45d2e3ff200b9a8523ed84a916fffc00f12a97c1.tar.xz
bukkit-45d2e3ff200b9a8523ed84a916fffc00f12a97c1.zip
Clean up alias handling.
There is no need to print a stacktrace when an alias fails, we do not do this for normal commands. We also now give error messages when attempting to register an alias instead of having them just silently not function.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/command/FormattedCommandAlias.java1
-rw-r--r--src/main/java/org/bukkit/command/SimpleCommandMap.java14
2 files changed, 10 insertions, 5 deletions
diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
index 84199292..40de5e2f 100644
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
+++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
@@ -48,7 +48,6 @@ public class FormattedCommandAlias extends Command {
} else {
sender.sendMessage(org.bukkit.ChatColor.RED + "An internal error occurred while attempting to perform this command");
}
- Bukkit.getLogger().log(Level.WARNING, "Failed to parse command alias " + commandLabel + ": " + formatString, throwable);
return false;
}
}
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
index 3f651de3..4bf79988 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -257,6 +257,11 @@ public class SimpleCommandMap implements CommandMap {
Map<String, String[]> values = server.getCommandAliases();
for (String alias : values.keySet()) {
+ if (alias.contains(":") || alias.contains(" ")) {
+ server.getLogger().warning("Could not register alias " + alias + " because it contains illegal characters");
+ continue;
+ }
+
String[] commandStrings = values.get(alias);
List<String> targets = new ArrayList<String>();
StringBuilder bad = new StringBuilder();
@@ -275,16 +280,17 @@ public class SimpleCommandMap implements CommandMap {
}
}
+ if (bad.length() > 0) {
+ server.getLogger().warning("Could not register alias " + alias + " because it contains commands that do not exist: " + bad);
+ continue;
+ }
+
// We register these as commands so they have absolute priority.
if (targets.size() > 0) {
knownCommands.put(alias.toLowerCase(), new FormattedCommandAlias(alias.toLowerCase(), targets.toArray(new String[targets.size()])));
} else {
knownCommands.remove(alias.toLowerCase());
}
-
- if (bad.length() > 0) {
- server.getLogger().warning("The following command(s) could not be aliased under '" + alias + "' because they do not exist: " + bad);
- }
}
}
}