diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitRootCommand.java b/bukkit/src/main/java/co/aikar/commands/BukkitRootCommand.java index b25848ee..400c8cb7 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitRootCommand.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitRootCommand.java @@ -23,8 +23,11 @@ package co.aikar.commands; +import co.aikar.commands.annotation.Description; +import co.aikar.commands.annotation.Syntax; import com.google.common.collect.HashMultimap; import com.google.common.collect.SetMultimap; +import jdk.nashorn.internal.ir.ReturnNode; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -100,12 +103,32 @@ public class BukkitRootCommand extends Command implements RootCommand { @Override public String getDescription() { final RegisteredCommand cmd = this.getDefaultRegisteredCommand(); - return cmd != null ? cmd.helpText : null; + if (cmd != null) { + return cmd.helpText; + } + BaseCommand defCommand = getDefCommand(); + if (defCommand != null) { + Description descAnno = defCommand.getClass().getAnnotation(Description.class); + if (descAnno != null) { + return descAnno.value(); + } + } + return ""; } @Override public String getUsage() { final RegisteredCommand cmd = this.getDefaultRegisteredCommand(); - return cmd != null ? cmd.syntaxText : null; + if (cmd != null) { + return cmd.syntaxText; + } + BaseCommand defCommand = getDefCommand(); + if (defCommand != null) { + Syntax syntaxAnno = defCommand.getClass().getAnnotation(Syntax.class); + if (syntaxAnno != null) { + return syntaxAnno.value(); + } + } + return ""; } } diff --git a/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html b/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html index 285fc2dc..c0a7b537 100644 --- a/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html +++ b/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html @@ -18,7 +18,7 @@ catch(err) { } //--> -var methods = {"i0":10,"i1":18,"i2":18,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10}; +var methods = {"i0":10,"i1":18,"i2":18,"i3":10,"i4":10,"i5":18,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],16:["t5","Default Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
public class BukkitRootCommand +public class BukkitRootCommand extends org.bukkit.command.Command
getCommandName() default co.aikar.commands.RegisteredCommandgetDefaultRegisteredCommand() co.aikar.commands.BaseCommandgetDefCommand() StringgetDescription() co.aikar.commands.CommandManagergetManager() com.google.common.collect.SetMultimap<String,co.aikar.commands.RegisteredCommand>getSubCommands() StringgetUsage() List<String>tabComplete(org.bukkit.command.CommandSender sender,
String alias,
@@ -199,7 +211,7 @@ extends org.bukkit.command.Command
Methods inherited from class org.bukkit.command.Command
-broadcastCommandMessage, broadcastCommandMessage, getAliases, getDescription, getLabel, getName, getPermission, getPermissionMessage, getUsage, isRegistered, register, setAliases, setDescription, setLabel, setName, setPermission, setPermissionMessage, setUsage, tabComplete, testPermission, testPermissionSilent, toString, unregister
+broadcastCommandMessage, broadcastCommandMessage, getAliases, getLabel, getName, getPermission, getPermissionMessage, isRegistered, register, setAliases, setDescription, setLabel, setName, setPermission, setPermissionMessage, setUsage, tabComplete, testPermission, testPermissionSilent, toString, unregister
-
@@ -228,7 +240,7 @@ extends org.bukkit.command.Command
-
getCommandName
-public String getCommandName()
+public String getCommandName()
@@ -237,7 +249,7 @@ extends org.bukkit.command.Command
-
tabComplete
-public List<String> tabComplete(org.bukkit.command.CommandSender sender,
+public List<String> tabComplete(org.bukkit.command.CommandSender sender,
String alias,
String[] args)
throws IllegalArgumentException
@@ -255,7 +267,7 @@ extends org.bukkit.command.Command
-
execute
-public boolean execute(org.bukkit.command.CommandSender sender,
+public boolean execute(org.bukkit.command.CommandSender sender,
String commandLabel,
String[] args)
@@ -270,7 +282,7 @@ extends org.bukkit.command.Command
-
addChild
-public void addChild(co.aikar.commands.BaseCommand command)
+public void addChild(co.aikar.commands.BaseCommand command)
@@ -279,7 +291,7 @@ extends org.bukkit.command.Command
-
getManager
-public co.aikar.commands.CommandManager getManager()
+public co.aikar.commands.CommandManager getManager()
@@ -288,7 +300,7 @@ extends org.bukkit.command.Command
-
getSubCommands
-public com.google.common.collect.SetMultimap<String,co.aikar.commands.RegisteredCommand> getSubCommands()
+public com.google.common.collect.SetMultimap<String,co.aikar.commands.RegisteredCommand> getSubCommands()
@@ -297,7 +309,33 @@ extends org.bukkit.command.Command
-
getDefCommand
-public co.aikar.commands.BaseCommand getDefCommand()
+public co.aikar.commands.BaseCommand getDefCommand()
+
+
+
+
+
+
+-
+
getDescription
+public String getDescription()
+
+- Overrides:
+getDescription in class org.bukkit.command.Command
+
+
+
+
+
+
+
@@ -314,7 +352,7 @@ extends org.bukkit.command.Command
-
+
-
execute
public co.aikar.commands.BaseCommand execute(co.aikar.commands.CommandIssuer arg0,
@@ -322,6 +360,15 @@ extends org.bukkit.command.Command
String[] arg2)
+
+
+
+
+-
+
getDefaultRegisteredCommand
+public co.aikar.commands.RegisteredCommand getDefaultRegisteredCommand()
+
+
diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRootCommand.html b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRootCommand.html
index 058425ed..82f637c8 100644
--- a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRootCommand.html
+++ b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRootCommand.html
@@ -31,80 +31,115 @@
023
024package co.aikar.commands;
025
-026import com.google.common.collect.HashMultimap;
-027import com.google.common.collect.SetMultimap;
-028import org.bukkit.command.Command;
-029import org.bukkit.command.CommandSender;
-030
-031import java.util.ArrayList;
-032import java.util.HashSet;
-033import java.util.List;
-034import java.util.Set;
-035
-036public class BukkitRootCommand extends Command implements RootCommand {
-037
-038 private final BukkitCommandManager manager;
-039 private final String name;
-040 private BaseCommand defCommand;
-041 private SetMultimap<String, RegisteredCommand> subCommands = HashMultimap.create();
-042 private List<BaseCommand> children = new ArrayList<>();
-043 boolean isRegistered = false;
-044
-045 BukkitRootCommand(BukkitCommandManager manager, String name) {
-046 super(name);
-047 this.manager = manager;
-048 this.name = name;
-049 }
-050
-051 @Override
-052 public String getCommandName() {
-053 return name;
-054 }
-055
-056 @Override
-057 public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
-058 return tabComplete(manager.getCommandIssuer(sender), alias, args);
-059 }
-060
-061 @Override
-062 public boolean execute(CommandSender sender, String commandLabel, String[] args) {
-063 execute(manager.getCommandIssuer(sender), commandLabel, args);
-064 return true;
-065 }
-066
-067 private List<String> tabComplete(CommandIssuer sender, String alias, String[] args) throws IllegalArgumentException {
-068 Set<String> completions = new HashSet<>();
-069 this.children.forEach(child -> completions.addAll(child.tabComplete(sender, alias, args)));
-070 return new ArrayList<>(completions);
-071 }
-072
-073
-074
-075 public void addChild(BaseCommand command) {
-076 if (this.defCommand == null || !command.subCommands.get("__default").isEmpty()) {
-077 this.defCommand = command;
-078 this.setPermission(command.permission);
-079 //this.setDescription(command.getDescription());
-080 //this.setUsage(command.getUsage());
-081 }
-082 addChildShared(this.children, this.subCommands, command);
-083 }
-084
-085 @Override
-086 public CommandManager getManager() {
-087 return manager;
-088 }
-089
-090 @Override
-091 public SetMultimap<String, RegisteredCommand> getSubCommands() {
-092 return this.subCommands;
-093 }
-094
-095 @Override
-096 public BaseCommand getDefCommand(){
-097 return defCommand;
-098 }
-099}
+026import co.aikar.commands.annotation.Description;
+027import co.aikar.commands.annotation.Syntax;
+028import com.google.common.collect.HashMultimap;
+029import com.google.common.collect.SetMultimap;
+030import jdk.nashorn.internal.ir.ReturnNode;
+031import org.bukkit.command.Command;
+032import org.bukkit.command.CommandSender;
+033
+034import java.util.ArrayList;
+035import java.util.HashSet;
+036import java.util.List;
+037import java.util.Set;
+038
+039public class BukkitRootCommand extends Command implements RootCommand {
+040
+041 private final BukkitCommandManager manager;
+042 private final String name;
+043 private BaseCommand defCommand;
+044 private SetMultimap<String, RegisteredCommand> subCommands = HashMultimap.create();
+045 private List<BaseCommand> children = new ArrayList<>();
+046 boolean isRegistered = false;
+047
+048 BukkitRootCommand(BukkitCommandManager manager, String name) {
+049 super(name);
+050 this.manager = manager;
+051 this.name = name;
+052 }
+053
+054 @Override
+055 public String getCommandName() {
+056 return name;
+057 }
+058
+059 @Override
+060 public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
+061 return tabComplete(manager.getCommandIssuer(sender), alias, args);
+062 }
+063
+064 @Override
+065 public boolean execute(CommandSender sender, String commandLabel, String[] args) {
+066 execute(manager.getCommandIssuer(sender), commandLabel, args);
+067 return true;
+068 }
+069
+070 private List<String> tabComplete(CommandIssuer sender, String alias, String[] args) throws IllegalArgumentException {
+071 Set<String> completions = new HashSet<>();
+072 this.children.forEach(child -> completions.addAll(child.tabComplete(sender, alias, args)));
+073 return new ArrayList<>(completions);
+074 }
+075
+076
+077
+078 public void addChild(BaseCommand command) {
+079 if (this.defCommand == null || !command.subCommands.get("__default").isEmpty()) {
+080 this.defCommand = command;
+081 this.setPermission(command.permission);
+082 //this.setDescription(command.getDescription());
+083 //this.setUsage(command.getUsage());
+084 }
+085 addChildShared(this.children, this.subCommands, command);
+086 }
+087
+088 @Override
+089 public CommandManager getManager() {
+090 return manager;
+091 }
+092
+093 @Override
+094 public SetMultimap<String, RegisteredCommand> getSubCommands() {
+095 return this.subCommands;
+096 }
+097
+098 @Override
+099 public BaseCommand getDefCommand(){
+100 return defCommand;
+101 }
+102
+103 @Override
+104 public String getDescription() {
+105 final RegisteredCommand cmd = this.getDefaultRegisteredCommand();
+106 if (cmd != null) {
+107 return cmd.helpText;
+108 }
+109 BaseCommand defCommand = getDefCommand();
+110 if (defCommand != null) {
+111 Description descAnno = defCommand.getClass().getAnnotation(Description.class);
+112 if (descAnno != null) {
+113 return descAnno.value();
+114 }
+115 }
+116 return "";
+117 }
+118
+119 @Override
+120 public String getUsage() {
+121 final RegisteredCommand cmd = this.getDefaultRegisteredCommand();
+122 if (cmd != null) {
+123 return cmd.syntaxText;
+124 }
+125 BaseCommand defCommand = getDefCommand();
+126 if (defCommand != null) {
+127 Syntax syntaxAnno = defCommand.getClass().getAnnotation(Syntax.class);
+128 if (syntaxAnno != null) {
+129 return syntaxAnno.value();
+130 }
+131 }
+132 return "";
+133 }
+134}