diff --git a/docs/acf-brigadier/allclasses-index.html b/docs/acf-brigadier/allclasses-index.html index 092ff870..b6b6173b 100644 --- a/docs/acf-brigadier/allclasses-index.html +++ b/docs/acf-brigadier/allclasses-index.html @@ -63,7 +63,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/allpackages-index.html b/docs/acf-brigadier/allpackages-index.html index b102cec3..3f7b719b 100644 --- a/docs/acf-brigadier/allpackages-index.html +++ b/docs/acf-brigadier/allpackages-index.html @@ -59,7 +59,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/co/aikar/commands/ACFBrigadierManager.html b/docs/acf-brigadier/co/aikar/commands/ACFBrigadierManager.html index b0af5fcd..65e14d1e 100644 --- a/docs/acf-brigadier/co/aikar/commands/ACFBrigadierManager.html +++ b/docs/acf-brigadier/co/aikar/commands/ACFBrigadierManager.html @@ -140,7 +140,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/co/aikar/commands/class-use/ACFBrigadierManager.html b/docs/acf-brigadier/co/aikar/commands/class-use/ACFBrigadierManager.html index 348a828a..31d1082d 100644 --- a/docs/acf-brigadier/co/aikar/commands/class-use/ACFBrigadierManager.html +++ b/docs/acf-brigadier/co/aikar/commands/class-use/ACFBrigadierManager.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFBrigadierManager diff --git a/docs/acf-brigadier/co/aikar/commands/package-summary.html b/docs/acf-brigadier/co/aikar/commands/package-summary.html index 56860710..ea080cb2 100644 --- a/docs/acf-brigadier/co/aikar/commands/package-summary.html +++ b/docs/acf-brigadier/co/aikar/commands/package-summary.html @@ -79,7 +79,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/co/aikar/commands/package-tree.html b/docs/acf-brigadier/co/aikar/commands/package-tree.html index 52b94a04..74166896 100644 --- a/docs/acf-brigadier/co/aikar/commands/package-tree.html +++ b/docs/acf-brigadier/co/aikar/commands/package-tree.html @@ -62,7 +62,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/co/aikar/commands/package-use.html b/docs/acf-brigadier/co/aikar/commands/package-use.html index 3450e8f7..447cb947 100644 --- a/docs/acf-brigadier/co/aikar/commands/package-use.html +++ b/docs/acf-brigadier/co/aikar/commands/package-use.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands diff --git a/docs/acf-brigadier/deprecated-list.html b/docs/acf-brigadier/deprecated-list.html index 75de02f1..c4cfd768 100644 --- a/docs/acf-brigadier/deprecated-list.html +++ b/docs/acf-brigadier/deprecated-list.html @@ -71,7 +71,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/index-all.html b/docs/acf-brigadier/index-all.html index 9a675aed..5bb6f6fe 100644 --- a/docs/acf-brigadier/index-all.html +++ b/docs/acf-brigadier/index-all.html @@ -74,7 +74,7 @@ loadScripts(document, 'script'); A C M 
All Classes and Interfaces|All Packages diff --git a/docs/acf-brigadier/overview-tree.html b/docs/acf-brigadier/overview-tree.html index ba2646dc..450f769e 100644 --- a/docs/acf-brigadier/overview-tree.html +++ b/docs/acf-brigadier/overview-tree.html @@ -66,7 +66,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-brigadier/src-html/co/aikar/commands/ACFBrigadierManager.html b/docs/acf-brigadier/src-html/co/aikar/commands/ACFBrigadierManager.html index a0360009..37f1d75f 100644 --- a/docs/acf-brigadier/src-html/co/aikar/commands/ACFBrigadierManager.html +++ b/docs/acf-brigadier/src-html/co/aikar/commands/ACFBrigadierManager.html @@ -99,82 +99,99 @@ 086 LiteralArgumentBuilder<S> rootBuilder = LiteralArgumentBuilder.<S>literal(root.getLiteral()) 087 .requires(sender -> permCheckerRoot.test(rootCommand, sender)); 088 -089 root = rootBuilder.build(); -090 boolean isForwardingCommand = rootCommand.getDefCommand() instanceof ForwardingCommand; -091 -092 for (Map.Entry<String, RegisteredCommand> subCommand : rootCommand.getSubCommands().entries()) { -093 if ((BaseCommand.isSpecialSubcommand(subCommand.getKey()) && !isForwardingCommand) || (!subCommand.getKey().equals("help") && subCommand.getValue().prefSubCommand.equals("help"))) { -094 // don't register stuff like __catchunknown and don't help command aliases -095 continue; -096 } -097 -098 // handle sub sub commands -099 String commandName = subCommand.getKey(); -100 CommandNode<S> currentParent = root; -101 CommandNode<S> subCommandNode; -102 Predicate<S> subPermChecker = sender -> permCheckerSub.test(subCommand.getValue(), sender); -103 if (!isForwardingCommand) { -104 if (commandName.contains(" ")) { -105 String[] split = ACFPatterns.SPACE.split(commandName); -106 for (int i = 0; i < split.length - 1; i++) { -107 if (currentParent.getChild(split[i]) == null) { -108 LiteralCommandNode<S> sub = LiteralArgumentBuilder.<S>literal(split[i]) -109 .requires(subPermChecker).build(); -110 currentParent.addChild(sub); -111 currentParent = sub; -112 } else { -113 currentParent = currentParent.getChild(split[i]); -114 } -115 } -116 commandName = split[split.length - 1]; -117 } -118 -119 subCommandNode = currentParent.getChild(commandName); -120 if (subCommandNode == null) { -121 LiteralArgumentBuilder<S> argumentBuilder = LiteralArgumentBuilder.<S>literal(commandName) -122 .requires(subPermChecker); -123 -124 // if we have no params, this command is actually executable -125 if (subCommand.getValue().consumeInputResolvers == 0) { -126 argumentBuilder.executes(executor); -127 } -128 subCommandNode = argumentBuilder.build(); -129 } -130 } else { -131 subCommandNode = root; -132 } -133 -134 CommandNode<S> paramNode = subCommandNode; -135 CommandParameter[] parameters = subCommand.getValue().parameters; -136 for (int i = 0; i < parameters.length; i++) { -137 CommandParameter param = parameters[i]; -138 CommandParameter nextParam = param.getNextParam(); -139 if (param.isCommandIssuer() || (param.canExecuteWithoutInput() && nextParam != null && !nextParam.canExecuteWithoutInput())) { -140 continue; -141 } -142 RequiredArgumentBuilder<S, Object> builder = RequiredArgumentBuilder -143 .<S, Object>argument(param.getName(), getArgumentTypeByClazz(param)) -144 .suggests(suggestionProvider) -145 .requires(sender -> permCheckerSub.test(subCommand.getValue(), sender)); +089 RegisteredCommand defaultCommand = rootCommand.getDefaultRegisteredCommand(); +090 if (defaultCommand != null) { +091 if (defaultCommand.requiredResolvers == 0) { +092 rootBuilder.executes(executor); +093 } +094 } +095 +096 root = rootBuilder.build(); +097 boolean isForwardingCommand = rootCommand.getDefCommand() instanceof ForwardingCommand; +098 +099 if (defaultCommand != null) { +100 registerParameters(defaultCommand, root, suggestionProvider, executor, permCheckerSub); +101 } +102 +103 for (Map.Entry<String, RegisteredCommand> subCommand : rootCommand.getSubCommands().entries()) { +104 if ((BaseCommand.isSpecialSubcommand(subCommand.getKey()) && !isForwardingCommand) || (!subCommand.getKey().equals("help") && subCommand.getValue().prefSubCommand.equals("help"))) { +105 // don't register stuff like __catchunknown and don't help command aliases +106 continue; +107 } +108 +109 // handle sub sub commands +110 String commandName = subCommand.getKey(); +111 CommandNode<S> currentParent = root; +112 CommandNode<S> subCommandNode; +113 Predicate<S> subPermChecker = sender -> permCheckerSub.test(subCommand.getValue(), sender); +114 if (!isForwardingCommand) { +115 if (commandName.contains(" ")) { +116 String[] split = ACFPatterns.SPACE.split(commandName); +117 for (int i = 0; i < split.length - 1; i++) { +118 if (currentParent.getChild(split[i]) == null) { +119 LiteralCommandNode<S> sub = LiteralArgumentBuilder.<S>literal(split[i]) +120 .requires(subPermChecker).build(); +121 currentParent.addChild(sub); +122 currentParent = sub; +123 } else { +124 currentParent = currentParent.getChild(split[i]); +125 } +126 } +127 commandName = split[split.length - 1]; +128 } +129 +130 subCommandNode = currentParent.getChild(commandName); +131 if (subCommandNode == null) { +132 LiteralArgumentBuilder<S> argumentBuilder = LiteralArgumentBuilder.<S>literal(commandName) +133 .requires(subPermChecker); +134 +135 // if we have no required params, this command is actually executable +136 if (subCommand.getValue().requiredResolvers == 0) { +137 argumentBuilder.executes(executor); +138 } +139 subCommandNode = argumentBuilder.build(); +140 } +141 } else { +142 subCommandNode = root; +143 } +144 +145 registerParameters(subCommand.getValue(), subCommandNode, suggestionProvider, executor, permCheckerSub); 146 -147 if (nextParam != null && nextParam.canExecuteWithoutInput()) { -148 builder.executes(executor); -149 } -150 -151 CommandNode<S> subSubCommand = builder.build(); -152 paramNode.addChild(subSubCommand); -153 paramNode = subSubCommand; -154 } -155 -156 if (!isForwardingCommand) { -157 currentParent.addChild(subCommandNode); -158 } -159 } -160 -161 return root; -162 } -163 -164} +147 if (!isForwardingCommand) { +148 currentParent.addChild(subCommandNode); +149 } +150 } +151 +152 return root; +153 } +154 +155 void registerParameters(RegisteredCommand command, +156 CommandNode<S> node, +157 SuggestionProvider<S> suggestionProvider, +158 Command<S> executor, +159 BiPredicate<RegisteredCommand, S> permChecker) { +160 for (int i = 0; i < command.parameters.length; i++) { +161 CommandParameter param = command.parameters[i]; +162 CommandParameter nextParam = param.getNextParam(); +163 if (param.isCommandIssuer() || (param.canExecuteWithoutInput() && nextParam != null && !nextParam.canExecuteWithoutInput())) { +164 continue; +165 } +166 RequiredArgumentBuilder<S, Object> builder = RequiredArgumentBuilder +167 .<S, Object>argument(param.getName(), getArgumentTypeByClazz(param)) +168 .suggests(suggestionProvider) +169 .requires(sender -> permChecker.test(command, sender)); +170 +171 if (nextParam == null || nextParam.canExecuteWithoutInput()) { +172 builder.executes(executor); +173 } +174 +175 CommandNode<S> subSubCommand = builder.build(); +176 node.addChild(subSubCommand); +177 node = subSubCommand; +178 } +179 } +180 +181} diff --git a/docs/acf-bukkit/allclasses-index.html b/docs/acf-bukkit/allclasses-index.html index ebe9f1c1..76e56fac 100644 --- a/docs/acf-bukkit/allclasses-index.html +++ b/docs/acf-bukkit/allclasses-index.html @@ -62,7 +62,11 @@ loadScripts(document, 'script');
Description
ACFBukkitHelpTopic
 
-
ACFBukkitUtil
+
ACFBukkitScheduler
+
 
+
ACFBukkitUtil
+
 
+
ACFFoliaScheduler
 
BukkitCommandCompletionContext
 
@@ -100,7 +104,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-bukkit/allpackages-index.html b/docs/acf-bukkit/allpackages-index.html index 259dbc3e..7299be16 100644 --- a/docs/acf-bukkit/allpackages-index.html +++ b/docs/acf-bukkit/allpackages-index.html @@ -64,7 +64,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-bukkit/co/aikar/commands/ACFBukkitHelpTopic.html b/docs/acf-bukkit/co/aikar/commands/ACFBukkitHelpTopic.html index 99a9067f..89a91daf 100644 --- a/docs/acf-bukkit/co/aikar/commands/ACFBukkitHelpTopic.html +++ b/docs/acf-bukkit/co/aikar/commands/ACFBukkitHelpTopic.html @@ -101,7 +101,7 @@ loadScripts(document, 'script');
Constructor
Description
-
ACFBukkitHelpTopic(BukkitCommandManager manager, +
 
@@ -132,7 +132,7 @@ loadScripts(document, 'script');

Constructor Details

diff --git a/docs/acf-bukkit/co/aikar/commands/ACFBukkitScheduler.html b/docs/acf-bukkit/co/aikar/commands/ACFBukkitScheduler.html new file mode 100644 index 00000000..fcf571ec --- /dev/null +++ b/docs/acf-bukkit/co/aikar/commands/ACFBukkitScheduler.html @@ -0,0 +1,203 @@ + + + + +ACFBukkitScheduler (ACF (Bukkit) 0.5.1-SNAPSHOT API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ACFBukkitScheduler

+
+
java.lang.Object +
co.aikar.commands.ACFBukkitScheduler
+
+
+
+
Direct Known Subclasses:
+
ACFFoliaScheduler
+
+
+
public class ACFBukkitScheduler +extends Object
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+ + diff --git a/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html b/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html index 8b574204..13053121 100644 --- a/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html +++ b/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html @@ -439,7 +439,7 @@ loadScripts(document, 'script');
  • isValidName

    -
    public static boolean isValidName(String name)
    +
    public static boolean isValidName(String name)
  • @@ -451,7 +451,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-bukkit/co/aikar/commands/ACFFoliaScheduler.html b/docs/acf-bukkit/co/aikar/commands/ACFFoliaScheduler.html new file mode 100644 index 00000000..70d9efc8 --- /dev/null +++ b/docs/acf-bukkit/co/aikar/commands/ACFFoliaScheduler.html @@ -0,0 +1,217 @@ + + + + +ACFFoliaScheduler (ACF (Bukkit) 0.5.1-SNAPSHOT API) + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class ACFFoliaScheduler

    +
    +
    java.lang.Object +
    co.aikar.commands.ACFBukkitScheduler +
    co.aikar.commands.ACFFoliaScheduler
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletionContext.html b/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletionContext.html index a1e1666a..06e092e1 100644 --- a/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletionContext.html +++ b/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletionContext.html @@ -156,7 +156,7 @@ loadScripts(document, 'script'); diff --git a/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletions.html b/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletions.html index c30032b2..fff6e8e9 100644 --- a/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletions.html +++ b/docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletions.html @@ -96,7 +96,7 @@ loadScripts(document, 'script');
    Constructor
    Description
    - +
     
    @@ -123,7 +123,7 @@ loadScripts(document, 'script');

    Constructor Details

    -
    - -

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html b/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html index 294a55a6..67006fa0 100644 --- a/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html +++ b/docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html @@ -94,7 +94,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC

    Field Summary

    Fields inherited from class org.bukkit.command.Command

    -description, usageMessage
    +description, timings, usageMessage @@ -150,7 +150,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC

    Methods inherited from class org.bukkit.command.Command

    -broadcastCommandMessage, broadcastCommandMessage, getAliases, getLabel, getName, getPermission, getPermissionMessage, getUsage, isRegistered, register, setAliases, setDescription, setLabel, setName, setPermission, setPermissionMessage, setUsage, tabComplete, testPermission, toString, unregister
    +broadcastCommandMessage, broadcastCommandMessage, broadcastCommandMessage, broadcastCommandMessage, getAliases, getLabel, getName, getPermission, getPermissionMessage, getTimingName, getUsage, isRegistered, permissionMessage, permissionMessage, register, setAliases, setDescription, setLabel, setName, setPermission, setPermissionMessage, setUsage, tabComplete, testPermission, toString, unregister

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    @@ -183,7 +183,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • getCommandName

    - +
    Specified by:
    getCommandName in interface co.aikar.commands.RootCommand
    @@ -193,7 +193,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • tabComplete

    -
    public List<String> tabComplete(org.bukkit.command.CommandSender sender, +
    public List<String> tabComplete(org.bukkit.command.CommandSender sender, String commandLabel, String[] args) throws IllegalArgumentException
    @@ -208,7 +208,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • execute

    -
    public boolean execute(org.bukkit.command.CommandSender sender, +
    public boolean execute(org.bukkit.command.CommandSender sender, String commandLabel, String[] args)
    @@ -220,7 +220,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • testPermissionSilent

    -
    public boolean testPermissionSilent(org.bukkit.command.CommandSender target)
    +
    public boolean testPermissionSilent(org.bukkit.command.CommandSender target)
    Overrides:
    testPermissionSilent in class org.bukkit.command.Command
    @@ -230,7 +230,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • addChild

    -
    public void addChild(co.aikar.commands.BaseCommand command)
    +
    public void addChild(co.aikar.commands.BaseCommand command)
    Specified by:
    addChild in interface co.aikar.commands.RootCommand
    @@ -240,7 +240,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • getManager

    -
    public co.aikar.commands.CommandManager getManager()
    +
    public co.aikar.commands.CommandManager getManager()
    Specified by:
    getManager in interface co.aikar.commands.RootCommand
    @@ -250,7 +250,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • 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()
    Specified by:
    getSubCommands in interface co.aikar.commands.RootCommand
    @@ -260,7 +260,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • getChildren

    -
    public List<co.aikar.commands.BaseCommand> getChildren()
    +
    public List<co.aikar.commands.BaseCommand> getChildren()
    Specified by:
    getChildren in interface co.aikar.commands.RootCommand
    @@ -270,7 +270,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • getDefCommand

    -
    public co.aikar.commands.BaseCommand getDefCommand()
    +
    public co.aikar.commands.BaseCommand getDefCommand()
    Specified by:
    getDefCommand in interface co.aikar.commands.RootCommand
    @@ -280,7 +280,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC
  • getPlugin

    -
    public org.bukkit.plugin.Plugin getPlugin()
    +
    public org.bukkit.plugin.Plugin getPlugin()
    Specified by:
    getPlugin in interface org.bukkit.command.PluginIdentifiableCommand
    @@ -296,7 +296,7 @@ implements co.aikar.commands.RootCommand, org.bukkit.command.PluginIdentifiableC

    - +
  • diff --git a/docs/acf-bukkit/co/aikar/commands/MinecraftMessageKeys.html b/docs/acf-bukkit/co/aikar/commands/MinecraftMessageKeys.html index 51fb544b..a90f9bd9 100644 --- a/docs/acf-bukkit/co/aikar/commands/MinecraftMessageKeys.html +++ b/docs/acf-bukkit/co/aikar/commands/MinecraftMessageKeys.html @@ -307,7 +307,7 @@ not permitted.)

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/OnlinePlayer.html b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/OnlinePlayer.html index cc65126e..24c355dd 100644 --- a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/OnlinePlayer.html +++ b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/OnlinePlayer.html @@ -226,7 +226,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/class-use/OnlinePlayer.html b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/class-use/OnlinePlayer.html index f500431f..84170339 100644 --- a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/class-use/OnlinePlayer.html @@ -82,7 +82,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-summary.html b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-summary.html index 98a3f8fd..11623dd8 100644 --- a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-summary.html +++ b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-summary.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-tree.html b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-tree.html index 5cab36b3..5e562d5a 100644 --- a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-tree.html +++ b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-tree.html @@ -67,7 +67,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-use.html b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-use.html index 3cd3600b..57f722e3 100644 --- a/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-use.html +++ b/docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-use.html @@ -75,7 +75,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitHelpTopic.html b/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitHelpTopic.html index 6d6346c3..c7966f92 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitHelpTopic.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitHelpTopic.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFBukkitHelpTopic

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitScheduler.html b/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitScheduler.html new file mode 100644 index 00000000..1210eec7 --- /dev/null +++ b/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitScheduler.html @@ -0,0 +1,95 @@ + + + + +Uses of Class co.aikar.commands.ACFBukkitScheduler (ACF (Bukkit) 0.5.1-SNAPSHOT API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    co.aikar.commands.ACFBukkitScheduler

    +
    +
    Packages that use ACFBukkitScheduler
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitUtil.html b/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitUtil.html index f7037c1b..a0f2bb4a 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitUtil.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFBukkitUtil

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/ACFFoliaScheduler.html b/docs/acf-bukkit/co/aikar/commands/class-use/ACFFoliaScheduler.html new file mode 100644 index 00000000..dcde9924 --- /dev/null +++ b/docs/acf-bukkit/co/aikar/commands/class-use/ACFFoliaScheduler.html @@ -0,0 +1,61 @@ + + + + +Uses of Class co.aikar.commands.ACFFoliaScheduler (ACF (Bukkit) 0.5.1-SNAPSHOT API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    co.aikar.commands.ACFFoliaScheduler

    +
    +No usage of co.aikar.commands.ACFFoliaScheduler
    +
    +
    + +
    +
    +
    + + diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletionContext.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletionContext.html index e55d9d48..fa7f7ab8 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletionContext.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletionContext.html @@ -91,7 +91,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletions.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletions.html index f5533017..8c889e43 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletions.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletions.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandContexts.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandContexts.html index 8b5770a3..8348427d 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandContexts.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandContexts.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandExecutionContext.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandExecutionContext.html index 69a40ddd..f4e76941 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandExecutionContext.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandExecutionContext.html @@ -92,7 +92,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandIssuer.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandIssuer.html index 866b83f6..2ca99a4e 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandIssuer.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandIssuer.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandManager.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandManager.html index 35105c18..433adcc8 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandManager.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandManager.html @@ -2,7 +2,7 @@ -Uses of Class co.aikar.commands.FoliaCommandManager (ACF (Bukkit) 0.5.1-SNAPSHOT API) +Uses of Class co.aikar.commands.BukkitCommandManager (ACF (Bukkit) 0.5.1-SNAPSHOT API) @@ -48,7 +48,7 @@ loadScripts(document, 'script');
    -

    Uses of Class
    co.aikar.commands.FoliaCommandManager

    +

    Uses of Class
    co.aikar.commands.BukkitCommandManager

    Packages that use BukkitCommandManager
    @@ -62,23 +62,35 @@ loadScripts(document, 'script');
  • Uses of BukkitCommandManager in co.aikar.commands

    +
    Methods in co.aikar.commands with parameters of type BukkitCommandManager
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
     
    +
    void
    + +
     
    +
    Constructors in co.aikar.commands with parameters of type BukkitCommandManager
    @@ -88,7 +100,7 @@ loadScripts(document, 'script');

  • - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitConditionContext.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitConditionContext.html index 135dc94c..ee0aa32f 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitConditionContext.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitConditionContext.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitLocales.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitLocales.html index 7a48153f..84884d5c 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitLocales.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitLocales.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitMessageFormatter.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitMessageFormatter.html index 39a86b79..a0470a6a 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitMessageFormatter.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitMessageFormatter.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.BukkitMessageFormatter

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRegisteredCommand.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRegisteredCommand.html index be48de8d..4019ab33 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRegisteredCommand.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRegisteredCommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.BukkitRegisteredCommand

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRootCommand.html b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRootCommand.html index 1cf66745..d2b18843 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRootCommand.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/BukkitRootCommand.html @@ -90,7 +90,7 @@ loadScripts(document, 'script');
    Constructor
    Description
     
    - @@ -101,7 +101,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/class-use/MinecraftMessageKeys.html b/docs/acf-bukkit/co/aikar/commands/class-use/MinecraftMessageKeys.html index 48bfaf8b..ee3d5b64 100644 --- a/docs/acf-bukkit/co/aikar/commands/class-use/MinecraftMessageKeys.html +++ b/docs/acf-bukkit/co/aikar/commands/class-use/MinecraftMessageKeys.html @@ -86,7 +86,7 @@ the order they are declared.

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/contexts/OnlinePlayer.html b/docs/acf-bukkit/co/aikar/commands/contexts/OnlinePlayer.html index ca512f8d..d52207df 100644 --- a/docs/acf-bukkit/co/aikar/commands/contexts/OnlinePlayer.html +++ b/docs/acf-bukkit/co/aikar/commands/contexts/OnlinePlayer.html @@ -144,7 +144,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/contexts/class-use/OnlinePlayer.html b/docs/acf-bukkit/co/aikar/commands/contexts/class-use/OnlinePlayer.html index 868e41d6..d5efdd67 100644 --- a/docs/acf-bukkit/co/aikar/commands/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-bukkit/co/aikar/commands/contexts/class-use/OnlinePlayer.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts.OnlinePlayer

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/contexts/package-summary.html b/docs/acf-bukkit/co/aikar/commands/contexts/package-summary.html index e279c879..de6af6ee 100644 --- a/docs/acf-bukkit/co/aikar/commands/contexts/package-summary.html +++ b/docs/acf-bukkit/co/aikar/commands/contexts/package-summary.html @@ -91,7 +91,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/contexts/package-tree.html b/docs/acf-bukkit/co/aikar/commands/contexts/package-tree.html index 92f05edd..d5bb3dcb 100644 --- a/docs/acf-bukkit/co/aikar/commands/contexts/package-tree.html +++ b/docs/acf-bukkit/co/aikar/commands/contexts/package-tree.html @@ -71,7 +71,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/contexts/package-use.html b/docs/acf-bukkit/co/aikar/commands/contexts/package-use.html index d2d5816c..d21174e2 100644 --- a/docs/acf-bukkit/co/aikar/commands/contexts/package-use.html +++ b/docs/acf-bukkit/co/aikar/commands/contexts/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/package-summary.html b/docs/acf-bukkit/co/aikar/commands/package-summary.html index 656046e2..3242b6b5 100644 --- a/docs/acf-bukkit/co/aikar/commands/package-summary.html +++ b/docs/acf-bukkit/co/aikar/commands/package-summary.html @@ -86,7 +86,11 @@ loadScripts(document, 'script');
    Description
     
    - + +
     
    + +
     
    +
     
     
    @@ -121,7 +125,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/co/aikar/commands/package-tree.html b/docs/acf-bukkit/co/aikar/commands/package-tree.html index f8272e8c..b64a9024 100644 --- a/docs/acf-bukkit/co/aikar/commands/package-tree.html +++ b/docs/acf-bukkit/co/aikar/commands/package-tree.html @@ -59,6 +59,11 @@ loadScripts(document, 'script');
  • @@ -93,7 +95,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/deprecated-list.html b/docs/acf-bukkit/deprecated-list.html index 49be7905..97ae1240 100644 --- a/docs/acf-bukkit/deprecated-list.html +++ b/docs/acf-bukkit/deprecated-list.html @@ -81,8 +81,10 @@ loadScripts(document, 'script');
     
     
    - -
    + +
    + +
    Use unregisterCommand(BaseCommand) - this will be visibility reduced later.
    @@ -92,7 +94,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/index-all.html b/docs/acf-bukkit/index-all.html index c92ae155..8efeec72 100644 --- a/docs/acf-bukkit/index-all.html +++ b/docs/acf-bukkit/index-all.html @@ -55,12 +55,20 @@ loadScripts(document, 'script');
    ACFBukkitHelpTopic - Class in co.aikar.commands
     
    -
    ACFBukkitHelpTopic(BukkitCommandManager, BukkitRootCommand) - Constructor for class co.aikar.commands.ACFBukkitHelpTopic
    +
    ACFBukkitHelpTopic(BukkitCommandManager, BukkitRootCommand) - Constructor for class co.aikar.commands.ACFBukkitHelpTopic
    +
     
    +
    ACFBukkitScheduler - Class in co.aikar.commands
    +
     
    +
    ACFBukkitScheduler() - Constructor for class co.aikar.commands.ACFBukkitScheduler
     
    ACFBukkitUtil - Class in co.aikar.commands
     
    ACFBukkitUtil() - Constructor for class co.aikar.commands.ACFBukkitUtil
     
    +
    ACFFoliaScheduler - Class in co.aikar.commands
    +
     
    +
    ACFFoliaScheduler() - Constructor for class co.aikar.commands.ACFFoliaScheduler
    +
     
    addChild(BaseCommand) - Method in class co.aikar.commands.BukkitRootCommand
     
    autoDetectFromClient - Variable in class co.aikar.commands.BukkitCommandManager
    @@ -74,11 +82,11 @@ loadScripts(document, 'script');
     
    BukkitCommandCompletions - Class in co.aikar.commands
     
    -
    BukkitCommandCompletions(BukkitCommandManager) - Constructor for class co.aikar.commands.BukkitCommandCompletions
    +
    BukkitCommandCompletions(BukkitCommandManager) - Constructor for class co.aikar.commands.BukkitCommandCompletions
     
    BukkitCommandContexts - Class in co.aikar.commands
     
    -
    BukkitCommandContexts(BukkitCommandManager) - Constructor for class co.aikar.commands.BukkitCommandContexts
    +
    BukkitCommandContexts(BukkitCommandManager) - Constructor for class co.aikar.commands.BukkitCommandContexts
     
    BukkitCommandExecutionContext - Class in co.aikar.commands
     
    @@ -92,7 +100,7 @@ loadScripts(document, 'script');
     
    BukkitLocales - Class in co.aikar.commands
     
    -
    BukkitLocales(BukkitCommandManager) - Constructor for class co.aikar.commands.BukkitLocales
    +
    BukkitLocales(BukkitCommandManager) - Constructor for class co.aikar.commands.BukkitLocales
     
    BukkitMessageFormatter - Class in co.aikar.commands
     
    @@ -105,6 +113,10 @@ loadScripts(document, 'script');

    C

    +
    cancelLocaleTask() - Method in class co.aikar.commands.ACFBukkitScheduler
    +
     
    +
    cancelLocaleTask() - Method in class co.aikar.commands.ACFFoliaScheduler
    +
     
    co.aikar.commands - package co.aikar.commands
     
    co.aikar.commands.bukkit.contexts - package co.aikar.commands.bukkit.contexts
    @@ -123,6 +135,14 @@ loadScripts(document, 'script');
     
    createConditionContext(CommandIssuer, String) - Method in class co.aikar.commands.BukkitCommandManager
     
    +
    createDelayedTask(Plugin, Runnable, long) - Method in class co.aikar.commands.ACFBukkitScheduler
    +
     
    +
    createDelayedTask(Plugin, Runnable, long) - Method in class co.aikar.commands.ACFFoliaScheduler
    +
     
    +
    createLocaleTask(Plugin, Runnable, long, long) - Method in class co.aikar.commands.ACFBukkitScheduler
    +
     
    +
    createLocaleTask(Plugin, Runnable, long, long) - Method in class co.aikar.commands.ACFFoliaScheduler
    +
     
    createRegisteredCommand(BaseCommand, String, Method, String) - Method in class co.aikar.commands.BukkitCommandManager
     
    createRootCommand(String) - Method in class co.aikar.commands.BukkitCommandManager
    @@ -217,6 +237,8 @@ loadScripts(document, 'script');
     
    getRegisteredRootCommands() - Method in class co.aikar.commands.BukkitCommandManager
     
    +
    getScheduler() - Method in class co.aikar.commands.BukkitCommandManager
    +
     
    getSender() - Method in class co.aikar.commands.BukkitCommandCompletionContext
     
    getSender() - Method in class co.aikar.commands.BukkitCommandExecutionContext
    @@ -232,7 +254,9 @@ loadScripts(document, 'script');
    getTargetLoc(Player, int, double) - Static method in class co.aikar.commands.ACFBukkitUtil
     
    getTimings() - Method in class co.aikar.commands.BukkitCommandManager
    -
     
    +
    +
    Deprecated.
    +
    getUniqueId() - Method in class co.aikar.commands.BukkitCommandIssuer
     
    @@ -345,10 +369,6 @@ loadScripts(document, 'script');
     
    plugin - Variable in class co.aikar.commands.BukkitCommandManager
     
    -
    postCommand() - Method in class co.aikar.commands.BukkitRegisteredCommand
    -
     
    -
    preCommand() - Method in class co.aikar.commands.BukkitRegisteredCommand
    -
     

    R

    @@ -358,6 +378,10 @@ loadScripts(document, 'script');
     
    registeredCommands - Variable in class co.aikar.commands.BukkitCommandManager
     
    +
    registerSchedulerDependencies(BukkitCommandManager) - Method in class co.aikar.commands.ACFBukkitScheduler
    +
     
    +
    registerSchedulerDependencies(BukkitCommandManager) - Method in class co.aikar.commands.ACFFoliaScheduler
    +
     
    removeColors(String) - Static method in class co.aikar.commands.ACFBukkitUtil
     
    replaceChatString(String, String, String) - Static method in class co.aikar.commands.ACFBukkitUtil
    @@ -426,7 +450,7 @@ the order they are declared. A B C D E F G H I K L M N O P R S T U V Y 
    All Classes and Interfaces|All Packages

    - +
    diff --git a/docs/acf-bukkit/index.html b/docs/acf-bukkit/index.html index 65e2fcb9..079814f9 100644 --- a/docs/acf-bukkit/index.html +++ b/docs/acf-bukkit/index.html @@ -66,7 +66,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bukkit/member-search-index.js b/docs/acf-bukkit/member-search-index.js index 40e70b88..2027f370 100644 --- a/docs/acf-bukkit/member-search-index.js +++ b/docs/acf-bukkit/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"co.aikar.commands","c":"ACFBukkitHelpTopic","l":"ACFBukkitHelpTopic(BukkitCommandManager, BukkitRootCommand)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager,co.aikar.commands.BukkitRootCommand)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"ACFBukkitUtil()","u":"%3Cinit%3E()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"addChild(BaseCommand)","u":"addChild(co.aikar.commands.BaseCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"autoDetectFromClient"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"blockLocationToString(Location)","u":"blockLocationToString(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"BukkitCommandCompletions","l":"BukkitCommandCompletions(BukkitCommandManager)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"BukkitCommandContexts","l":"BukkitCommandContexts(BukkitCommandManager)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"BukkitCommandManager(Plugin)","u":"%3Cinit%3E(org.bukkit.plugin.Plugin)"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"BukkitLocales(BukkitCommandManager)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"BukkitMessageFormatter","l":"BukkitMessageFormatter(ChatColor...)","u":"%3Cinit%3E(org.bukkit.ChatColor...)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"color(String)","u":"color(java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"completions"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"contexts"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createCommandContext(RegisteredCommand, CommandParameter, CommandIssuer, List, int, Map)","u":"createCommandContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandParameter,co.aikar.commands.CommandIssuer,java.util.List,int,java.util.Map)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createCompletionContext(RegisteredCommand, CommandIssuer, String, String, String[])","u":"createCompletionContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.lang.String,java.lang.String,java.lang.String[])"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createConditionContext(CommandIssuer, String)","u":"createConditionContext(co.aikar.commands.CommandIssuer,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createRegisteredCommand(BaseCommand, String, Method, String)","u":"createRegisteredCommand(co.aikar.commands.BaseCommand,java.lang.String,java.lang.reflect.Method,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createRootCommand(String)","u":"createRootCommand(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance(Entity, Entity)","u":"distance(org.bukkit.entity.Entity,org.bukkit.entity.Entity)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance(Location, Location)","u":"distance(org.bukkit.Location,org.bukkit.Location)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance2d(Entity, Entity)","u":"distance2d(org.bukkit.entity.Entity,org.bukkit.entity.Entity)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance2d(Location, Location)","u":"distance2d(org.bukkit.Location,org.bukkit.Location)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"execute(CommandSender, String, String[])","u":"execute(org.bukkit.command.CommandSender,java.lang.String,java.lang.String[])"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"findPlayerSmart(CommandIssuer, String)","u":"findPlayerSmart(co.aikar.commands.CommandIssuer,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"findPlayerSmart(CommandSender, String)","u":"findPlayerSmart(org.bukkit.command.CommandSender,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"formatLocation(Location)","u":"formatLocation(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"fullBlockLocationToString(Location)","u":"fullBlockLocationToString(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"fullLocationToString(Location)","u":"fullLocationToString(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getChildren()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandCompletions()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandContexts()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandIssuer(Object)","u":"getCommandIssuer(java.lang.Object)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getCommandName()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandPrefix(CommandIssuer)","u":"getCommandPrefix(co.aikar.commands.CommandIssuer)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getDefCommand()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getDescription()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getIssuer()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getLocales()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getManager()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getManager()"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"getMessageKey()"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandCompletionContext","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandExecutionContext","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitConditionContext","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getPlugin()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getPlugin()"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getRandLoc(Location, int)","u":"getRandLoc(org.bukkit.Location,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getRandLoc(Location, int, int)","u":"getRandLoc(org.bukkit.Location,int,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getRandLoc(Location, int, int, int)","u":"getRandLoc(org.bukkit.Location,int,int,int)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getRegisteredRootCommands()"},{"p":"co.aikar.commands","c":"BukkitCommandCompletionContext","l":"getSender()"},{"p":"co.aikar.commands","c":"BukkitCommandExecutionContext","l":"getSender()"},{"p":"co.aikar.commands","c":"BukkitConditionContext","l":"getSender()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getSubCommands()"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getTargetLoc(Player)","u":"getTargetLoc(org.bukkit.entity.Player)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getTargetLoc(Player, int)","u":"getTargetLoc(org.bukkit.entity.Player,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getTargetLoc(Player, int, double)","u":"getTargetLoc(org.bukkit.entity.Player,int,double)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getTimings()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getUniqueId()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"handleUncaughtException(BaseCommand, RegisteredCommand, CommandIssuer, List, Throwable)","u":"handleUncaughtException(co.aikar.commands.BaseCommand,co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.util.List,java.lang.Throwable)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"hashCode()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"hashCode()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"hasPermission(String)","u":"hasPermission(java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"hasRegisteredCommands()"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"INVALID_WORLD"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"IS_NOT_A_VALID_NAME"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"isCommandIssuer(Class)","u":"isCommandIssuer(java.lang.Class)"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"isPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"issuersLocaleString"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"isValidName(String)","u":"isValidName(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"isWithinDistance(Location, Location, int)","u":"isWithinDistance(org.bukkit.Location,org.bukkit.Location,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"isWithinDistance(Player, Player, int)","u":"isWithinDistance(org.bukkit.entity.Player,org.bukkit.entity.Player,int)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"knownCommands"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadLanguage(FileConfiguration, Locale)","u":"loadLanguage(org.bukkit.configuration.file.FileConfiguration,java.util.Locale)"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadLanguages()"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadYamlLanguageFile(File, Locale)","u":"loadYamlLanguageFile(java.io.File,java.util.Locale)"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadYamlLanguageFile(String, Locale)","u":"loadYamlLanguageFile(java.lang.String,java.util.Locale)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"locales"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"LOCATION_CONSOLE_NOT_RELATIVE"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"LOCATION_PLEASE_SPECIFY_WORLD"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"LOCATION_PLEASE_SPECIFY_XYZ"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"log(LogLevel, String, Throwable)","u":"log(co.aikar.commands.LogLevel,java.lang.String,java.lang.Throwable)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"mcMinorVersion"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"mcPatchVersion"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"MULTIPLE_PLAYERS_MATCH"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"NO_PLAYER_FOUND"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"NO_PLAYER_FOUND_OFFLINE"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"NO_PLAYER_FOUND_SERVER"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"OnlinePlayer(Player)","u":"%3Cinit%3E(org.bukkit.entity.Player)"},{"p":"co.aikar.commands.contexts","c":"OnlinePlayer","l":"OnlinePlayer(Player)","u":"%3Cinit%3E(org.bukkit.entity.Player)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"player"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"PLAYER_IS_VANISHED_CONFIRM"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"plugin"},{"p":"co.aikar.commands","c":"BukkitRegisteredCommand","l":"postCommand()"},{"p":"co.aikar.commands","c":"BukkitRegisteredCommand","l":"preCommand()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"registerCommand(BaseCommand)","u":"registerCommand(co.aikar.commands.BaseCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"registerCommand(BaseCommand, boolean)","u":"registerCommand(co.aikar.commands.BaseCommand,boolean)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"registeredCommands"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"removeColors(String)","u":"removeColors(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"replaceChatString(String, Pattern, String)","u":"replaceChatString(java.lang.String,java.util.regex.Pattern,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"replaceChatString(String, String, String)","u":"replaceChatString(java.lang.String,java.lang.String,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"sendMessageInternal(String)","u":"sendMessageInternal(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"sendMsg(CommandSender, String)","u":"sendMsg(org.bukkit.command.CommandSender,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"setPlayerLocale(Player, Locale)","u":"setPlayerLocale(org.bukkit.entity.Player,java.util.Locale)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"stringToLocation(String)","u":"stringToLocation(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"stringToLocation(String, World)","u":"stringToLocation(java.lang.String,org.bukkit.World)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"tabComplete(CommandSender, String, String[])","u":"tabComplete(org.bukkit.command.CommandSender,java.lang.String,java.lang.String[])"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"testPermissionSilent(CommandSender)","u":"testPermissionSilent(org.bukkit.command.CommandSender)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"toString()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"unregisterCommand(BaseCommand)","u":"unregisterCommand(co.aikar.commands.BaseCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"unregisterCommand(BukkitRootCommand)","u":"unregisterCommand(co.aikar.commands.BukkitRootCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"unregisterCommands()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"usePerIssuerLocale(boolean, boolean)","u":"usePerIssuerLocale(boolean,boolean)"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"USERNAME_TOO_SHORT"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"values()"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"YOU_MUST_BE_HOLDING_ITEM"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"co.aikar.commands","c":"ACFBukkitHelpTopic","l":"ACFBukkitHelpTopic(BukkitCommandManager, BukkitRootCommand)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager,co.aikar.commands.BukkitRootCommand)"},{"p":"co.aikar.commands","c":"ACFBukkitScheduler","l":"ACFBukkitScheduler()","u":"%3Cinit%3E()"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"ACFBukkitUtil()","u":"%3Cinit%3E()"},{"p":"co.aikar.commands","c":"ACFFoliaScheduler","l":"ACFFoliaScheduler()","u":"%3Cinit%3E()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"addChild(BaseCommand)","u":"addChild(co.aikar.commands.BaseCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"autoDetectFromClient"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"blockLocationToString(Location)","u":"blockLocationToString(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"BukkitCommandCompletions","l":"BukkitCommandCompletions(BukkitCommandManager)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"BukkitCommandContexts","l":"BukkitCommandContexts(BukkitCommandManager)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"BukkitCommandManager(Plugin)","u":"%3Cinit%3E(org.bukkit.plugin.Plugin)"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"BukkitLocales(BukkitCommandManager)","u":"%3Cinit%3E(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"BukkitMessageFormatter","l":"BukkitMessageFormatter(ChatColor...)","u":"%3Cinit%3E(org.bukkit.ChatColor...)"},{"p":"co.aikar.commands","c":"ACFBukkitScheduler","l":"cancelLocaleTask()"},{"p":"co.aikar.commands","c":"ACFFoliaScheduler","l":"cancelLocaleTask()"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"color(String)","u":"color(java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"completions"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"contexts"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createCommandContext(RegisteredCommand, CommandParameter, CommandIssuer, List, int, Map)","u":"createCommandContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandParameter,co.aikar.commands.CommandIssuer,java.util.List,int,java.util.Map)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createCompletionContext(RegisteredCommand, CommandIssuer, String, String, String[])","u":"createCompletionContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.lang.String,java.lang.String,java.lang.String[])"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createConditionContext(CommandIssuer, String)","u":"createConditionContext(co.aikar.commands.CommandIssuer,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitScheduler","l":"createDelayedTask(Plugin, Runnable, long)","u":"createDelayedTask(org.bukkit.plugin.Plugin,java.lang.Runnable,long)"},{"p":"co.aikar.commands","c":"ACFFoliaScheduler","l":"createDelayedTask(Plugin, Runnable, long)","u":"createDelayedTask(org.bukkit.plugin.Plugin,java.lang.Runnable,long)"},{"p":"co.aikar.commands","c":"ACFBukkitScheduler","l":"createLocaleTask(Plugin, Runnable, long, long)","u":"createLocaleTask(org.bukkit.plugin.Plugin,java.lang.Runnable,long,long)"},{"p":"co.aikar.commands","c":"ACFFoliaScheduler","l":"createLocaleTask(Plugin, Runnable, long, long)","u":"createLocaleTask(org.bukkit.plugin.Plugin,java.lang.Runnable,long,long)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createRegisteredCommand(BaseCommand, String, Method, String)","u":"createRegisteredCommand(co.aikar.commands.BaseCommand,java.lang.String,java.lang.reflect.Method,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"createRootCommand(String)","u":"createRootCommand(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance(Entity, Entity)","u":"distance(org.bukkit.entity.Entity,org.bukkit.entity.Entity)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance(Location, Location)","u":"distance(org.bukkit.Location,org.bukkit.Location)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance2d(Entity, Entity)","u":"distance2d(org.bukkit.entity.Entity,org.bukkit.entity.Entity)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"distance2d(Location, Location)","u":"distance2d(org.bukkit.Location,org.bukkit.Location)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"execute(CommandSender, String, String[])","u":"execute(org.bukkit.command.CommandSender,java.lang.String,java.lang.String[])"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"findPlayerSmart(CommandIssuer, String)","u":"findPlayerSmart(co.aikar.commands.CommandIssuer,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"findPlayerSmart(CommandSender, String)","u":"findPlayerSmart(org.bukkit.command.CommandSender,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"formatLocation(Location)","u":"formatLocation(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"fullBlockLocationToString(Location)","u":"fullBlockLocationToString(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"fullLocationToString(Location)","u":"fullLocationToString(org.bukkit.Location)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getChildren()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandCompletions()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandContexts()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandIssuer(Object)","u":"getCommandIssuer(java.lang.Object)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getCommandName()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getCommandPrefix(CommandIssuer)","u":"getCommandPrefix(co.aikar.commands.CommandIssuer)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getDefCommand()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getDescription()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getIssuer()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getLocales()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getManager()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getManager()"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"getMessageKey()"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandCompletionContext","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandExecutionContext","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitConditionContext","l":"getPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getPlugin()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getPlugin()"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getRandLoc(Location, int)","u":"getRandLoc(org.bukkit.Location,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getRandLoc(Location, int, int)","u":"getRandLoc(org.bukkit.Location,int,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getRandLoc(Location, int, int, int)","u":"getRandLoc(org.bukkit.Location,int,int,int)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getRegisteredRootCommands()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getScheduler()"},{"p":"co.aikar.commands","c":"BukkitCommandCompletionContext","l":"getSender()"},{"p":"co.aikar.commands","c":"BukkitCommandExecutionContext","l":"getSender()"},{"p":"co.aikar.commands","c":"BukkitConditionContext","l":"getSender()"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"getSubCommands()"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getTargetLoc(Player)","u":"getTargetLoc(org.bukkit.entity.Player)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getTargetLoc(Player, int)","u":"getTargetLoc(org.bukkit.entity.Player,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"getTargetLoc(Player, int, double)","u":"getTargetLoc(org.bukkit.entity.Player,int,double)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"getTimings()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"getUniqueId()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"handleUncaughtException(BaseCommand, RegisteredCommand, CommandIssuer, List, Throwable)","u":"handleUncaughtException(co.aikar.commands.BaseCommand,co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.util.List,java.lang.Throwable)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"hashCode()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"hashCode()"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"hasPermission(String)","u":"hasPermission(java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"hasRegisteredCommands()"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"INVALID_WORLD"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"IS_NOT_A_VALID_NAME"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"isCommandIssuer(Class)","u":"isCommandIssuer(java.lang.Class)"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"isPlayer()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"issuersLocaleString"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"isValidName(String)","u":"isValidName(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"isWithinDistance(Location, Location, int)","u":"isWithinDistance(org.bukkit.Location,org.bukkit.Location,int)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"isWithinDistance(Player, Player, int)","u":"isWithinDistance(org.bukkit.entity.Player,org.bukkit.entity.Player,int)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"knownCommands"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadLanguage(FileConfiguration, Locale)","u":"loadLanguage(org.bukkit.configuration.file.FileConfiguration,java.util.Locale)"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadLanguages()"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadYamlLanguageFile(File, Locale)","u":"loadYamlLanguageFile(java.io.File,java.util.Locale)"},{"p":"co.aikar.commands","c":"BukkitLocales","l":"loadYamlLanguageFile(String, Locale)","u":"loadYamlLanguageFile(java.lang.String,java.util.Locale)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"locales"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"LOCATION_CONSOLE_NOT_RELATIVE"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"LOCATION_PLEASE_SPECIFY_WORLD"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"LOCATION_PLEASE_SPECIFY_XYZ"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"log(LogLevel, String, Throwable)","u":"log(co.aikar.commands.LogLevel,java.lang.String,java.lang.Throwable)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"mcMinorVersion"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"mcPatchVersion"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"MULTIPLE_PLAYERS_MATCH"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"NO_PLAYER_FOUND"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"NO_PLAYER_FOUND_OFFLINE"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"NO_PLAYER_FOUND_SERVER"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"OnlinePlayer(Player)","u":"%3Cinit%3E(org.bukkit.entity.Player)"},{"p":"co.aikar.commands.contexts","c":"OnlinePlayer","l":"OnlinePlayer(Player)","u":"%3Cinit%3E(org.bukkit.entity.Player)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"player"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"PLAYER_IS_VANISHED_CONFIRM"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"plugin"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"registerCommand(BaseCommand)","u":"registerCommand(co.aikar.commands.BaseCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"registerCommand(BaseCommand, boolean)","u":"registerCommand(co.aikar.commands.BaseCommand,boolean)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"registeredCommands"},{"p":"co.aikar.commands","c":"ACFBukkitScheduler","l":"registerSchedulerDependencies(BukkitCommandManager)","u":"registerSchedulerDependencies(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"ACFFoliaScheduler","l":"registerSchedulerDependencies(BukkitCommandManager)","u":"registerSchedulerDependencies(co.aikar.commands.BukkitCommandManager)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"removeColors(String)","u":"removeColors(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"replaceChatString(String, Pattern, String)","u":"replaceChatString(java.lang.String,java.util.regex.Pattern,java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"replaceChatString(String, String, String)","u":"replaceChatString(java.lang.String,java.lang.String,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandIssuer","l":"sendMessageInternal(String)","u":"sendMessageInternal(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"sendMsg(CommandSender, String)","u":"sendMsg(org.bukkit.command.CommandSender,java.lang.String)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"setPlayerLocale(Player, Locale)","u":"setPlayerLocale(org.bukkit.entity.Player,java.util.Locale)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"stringToLocation(String)","u":"stringToLocation(java.lang.String)"},{"p":"co.aikar.commands","c":"ACFBukkitUtil","l":"stringToLocation(String, World)","u":"stringToLocation(java.lang.String,org.bukkit.World)"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"tabComplete(CommandSender, String, String[])","u":"tabComplete(org.bukkit.command.CommandSender,java.lang.String,java.lang.String[])"},{"p":"co.aikar.commands","c":"BukkitRootCommand","l":"testPermissionSilent(CommandSender)","u":"testPermissionSilent(org.bukkit.command.CommandSender)"},{"p":"co.aikar.commands.bukkit.contexts","c":"OnlinePlayer","l":"toString()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"unregisterCommand(BaseCommand)","u":"unregisterCommand(co.aikar.commands.BaseCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"unregisterCommand(BukkitRootCommand)","u":"unregisterCommand(co.aikar.commands.BukkitRootCommand)"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"unregisterCommands()"},{"p":"co.aikar.commands","c":"BukkitCommandManager","l":"usePerIssuerLocale(boolean, boolean)","u":"usePerIssuerLocale(boolean,boolean)"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"USERNAME_TOO_SHORT"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"values()"},{"p":"co.aikar.commands","c":"MinecraftMessageKeys","l":"YOU_MUST_BE_HOLDING_ITEM"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/acf-bukkit/overview-tree.html b/docs/acf-bukkit/overview-tree.html index 25a67f70..e4fd1dd9 100644 --- a/docs/acf-bukkit/overview-tree.html +++ b/docs/acf-bukkit/overview-tree.html @@ -61,6 +61,11 @@ loadScripts(document, 'script');
    • java.lang.Object
        +
      • co.aikar.commands.ACFBukkitScheduler + +
      • co.aikar.commands.ACFBukkitUtil
      • co.aikar.commands.BukkitCommandIssuer (implements co.aikar.commands.CommandIssuer)
      • org.bukkit.command.Command @@ -148,7 +153,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitScheduler.html b/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitScheduler.html new file mode 100644 index 00000000..e53358c1 --- /dev/null +++ b/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitScheduler.html @@ -0,0 +1,127 @@ + + + + +Source code + + + + + + +
        +
        +
        001/*
        +002 * Copyright (c) 2016-2023 Daniel Ennis (Aikar) - MIT License
        +003 *
        +004 *  Permission is hereby granted, free of charge, to any person obtaining
        +005 *  a copy of this software and associated documentation files (the
        +006 *  "Software"), to deal in the Software without restriction, including
        +007 *  without limitation the rights to use, copy, modify, merge, publish,
        +008 *  distribute, sublicense, and/or sell copies of the Software, and to
        +009 *  permit persons to whom the Software is furnished to do so, subject to
        +010 *  the following conditions:
        +011 *
        +012 *  The above copyright notice and this permission notice shall be
        +013 *  included in all copies or substantial portions of the Software.
        +014 *
        +015 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        +016 *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        +017 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
        +018 *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
        +019 *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
        +020 *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
        +021 *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        +022 */
        +023
        +024package co.aikar.commands;
        +025
        +026import org.bukkit.Bukkit;
        +027import org.bukkit.plugin.Plugin;
        +028import org.bukkit.scheduler.BukkitScheduler;
        +029
        +030public class ACFBukkitScheduler {
        +031
        +032    private int localeTask;
        +033
        +034    public void registerSchedulerDependencies(BukkitCommandManager manager) {
        +035        manager.registerDependency(BukkitScheduler.class, Bukkit.getScheduler());
        +036    }
        +037
        +038    public void createDelayedTask(Plugin plugin, Runnable task, long delay) {
        +039        Bukkit.getScheduler().runTaskLater(plugin, task, delay);
        +040    }
        +041
        +042    public void createLocaleTask(Plugin plugin, Runnable task, long delay, long period) {
        +043        this.localeTask = Bukkit.getScheduler().runTaskTimer(plugin, task, delay, period).getTaskId();
        +044    }
        +045
        +046    public void cancelLocaleTask() {
        +047        Bukkit.getScheduler().cancelTask(localeTask);
        +048    }
        +049}
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html b/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html index 322b4232..a9894995 100644 --- a/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html +++ b/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html @@ -281,67 +281,65 @@ 268 return null; 269 } 270 String name = ACFUtil.replace(search, ":confirm", ""); -271 -272 if (!isValidName(name)) { -273 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); -274 return null; -275 } -276 -277 List<Player> matches = Bukkit.getServer().matchPlayer(name); -278 List<Player> confirmList = new ArrayList<>(); -279 findMatches(search, requester, matches, confirmList); -280 -281 -282 if (matches.size() > 1 || confirmList.size() > 1) { -283 String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", ")); -284 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, -285 "{search}", name, "{all}", allMatches); -286 return null; -287 } -288 -289 //noinspection Duplicates -290 if (matches.isEmpty()) { -291 Player player = ACFUtil.getFirstElement(confirmList); -292 if (player == null) { -293 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name); -294 return null; -295 } else { -296 issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName()); -297 return null; -298 } -299 } -300 -301 return matches.get(0); -302 } -303 -304 private static void findMatches(String search, CommandSender requester, List<Player> matches, List<Player> confirmList) { -305 // Remove vanished players from smart matching. -306 Iterator<Player> iter = matches.iterator(); -307 //noinspection Duplicates -308 while (iter.hasNext()) { -309 Player player = iter.next(); -310 if (requester instanceof Player && !((Player) requester).canSee(player)) { -311 if (requester.hasPermission("acf.seevanish")) { -312 if (!search.endsWith(":confirm")) { -313 confirmList.add(player); -314 iter.remove(); -315 } -316 } else { -317 iter.remove(); -318 } -319 } -320 } -321 } -322 -323 -324 public static boolean isValidName(String name) { -325 return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches(); -326 } -327 -328 static boolean isValidItem(ItemStack item) { -329 return item != null && item.getType() != Material.AIR && item.getAmount() > 0; -330 } -331} +271 List<Player> matches = Bukkit.getServer().matchPlayer(name); +272 List<Player> confirmList = new ArrayList<>(); +273 findMatches(search, requester, matches, confirmList); +274 +275 +276 if (matches.size() > 1 || confirmList.size() > 1) { +277 String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", ")); +278 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, +279 "{search}", name, "{all}", allMatches); +280 return null; +281 } +282 +283 //noinspection Duplicates +284 if (matches.isEmpty()) { +285 if (!isValidName(name)) { +286 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); +287 return null; +288 } +289 Player player = ACFUtil.getFirstElement(confirmList); +290 if (player == null) { +291 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name); +292 return null; +293 } else { +294 issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName()); +295 return null; +296 } +297 } +298 +299 return matches.get(0); +300 } +301 +302 private static void findMatches(String search, CommandSender requester, List<Player> matches, List<Player> confirmList) { +303 // Remove vanished players from smart matching. +304 Iterator<Player> iter = matches.iterator(); +305 //noinspection Duplicates +306 while (iter.hasNext()) { +307 Player player = iter.next(); +308 if (requester instanceof Player && !((Player) requester).canSee(player)) { +309 if (requester.hasPermission("acf.seevanish")) { +310 if (!search.endsWith(":confirm")) { +311 confirmList.add(player); +312 iter.remove(); +313 } +314 } else { +315 iter.remove(); +316 } +317 } +318 } +319 } +320 +321 +322 public static boolean isValidName(String name) { +323 return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches(); +324 } +325 +326 static boolean isValidItem(ItemStack item) { +327 return item != null && item.getType() != Material.AIR && item.getAmount() > 0; +328 } +329} diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/ACFFoliaScheduler.html b/docs/acf-bukkit/src-html/co/aikar/commands/ACFFoliaScheduler.html new file mode 100644 index 00000000..82ee5f65 --- /dev/null +++ b/docs/acf-bukkit/src-html/co/aikar/commands/ACFFoliaScheduler.html @@ -0,0 +1,136 @@ + + + + +Source code + + + + + + +
        +
        +
        001/*
        +002 * Copyright (c) 2016-2023 Daniel Ennis (Aikar) - MIT License
        +003 *
        +004 *  Permission is hereby granted, free of charge, to any person obtaining
        +005 *  a copy of this software and associated documentation files (the
        +006 *  "Software"), to deal in the Software without restriction, including
        +007 *  without limitation the rights to use, copy, modify, merge, publish,
        +008 *  distribute, sublicense, and/or sell copies of the Software, and to
        +009 *  permit persons to whom the Software is furnished to do so, subject to
        +010 *  the following conditions:
        +011 *
        +012 *  The above copyright notice and this permission notice shall be
        +013 *  included in all copies or substantial portions of the Software.
        +014 *
        +015 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        +016 *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        +017 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
        +018 *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
        +019 *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
        +020 *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
        +021 *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        +022 */
        +023
        +024package co.aikar.commands;
        +025
        +026import io.papermc.paper.threadedregions.scheduler.AsyncScheduler;
        +027import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
        +028import org.bukkit.Bukkit;
        +029import org.bukkit.plugin.Plugin;
        +030
        +031import java.util.concurrent.TimeUnit;
        +032
        +033public class ACFFoliaScheduler extends ACFBukkitScheduler {
        +034
        +035    private ScheduledTask scheduledTask;
        +036
        +037    @Override
        +038    public void registerSchedulerDependencies(BukkitCommandManager manager) {
        +039        manager.registerDependency(AsyncScheduler.class, Bukkit.getAsyncScheduler());
        +040    }
        +041
        +042    @Override
        +043    public void createDelayedTask(Plugin plugin, Runnable task, long delay) {
        +044        // We divide by 20 because 20 ticks per second.
        +045        Bukkit.getAsyncScheduler().runDelayed(plugin, (scheduledTask) -> task.run(), (delay / 20), TimeUnit.SECONDS);
        +046    }
        +047
        +048    @Override
        +049    public void createLocaleTask(Plugin plugin, Runnable task, long delay, long period) {
        +050        // We divide by 20 because 20 ticks per second.
        +051        this.scheduledTask = Bukkit.getAsyncScheduler().runAtFixedRate(plugin, (scheduledTask) -> task.run(), (delay / 20), (period / 20), TimeUnit.SECONDS);
        +052    }
        +053
        +054    @Override
        +055    public void cancelLocaleTask() {
        +056        this.scheduledTask.cancel();
        +057    }
        +058}
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandContexts.html b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandContexts.html index 49c5f43a..beee70ef 100644 --- a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandContexts.html +++ b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandContexts.html @@ -47,7 +47,7 @@ 034import org.bukkit.entity.Entity; 035import org.bukkit.entity.Player; 036import org.bukkit.inventory.PlayerInventory; -037import org.jetbrains.annotations.Nullable; +037import org.jetbrains.annotations.Contract; 038 039import java.util.HashSet; 040import java.util.Set; @@ -64,10 +64,10 @@ 051 public BukkitCommandContexts(BukkitCommandManager manager) { 052 super(manager); 053 -054 registerContext(OnlinePlayer.class, c -> getOnlinePlayer(c.getIssuer(), c.popFirstArg(), c.isOptional())); +054 registerContext(OnlinePlayer.class, c -> getOnlinePlayer(c.getIssuer(), c.popFirstArg(), false)); 055 registerContext(co.aikar.commands.contexts.OnlinePlayer.class, c -> { -056 OnlinePlayer onlinePlayer = getOnlinePlayer(c.getIssuer(), c.popFirstArg(), c.isOptional()); -057 return onlinePlayer != null ? new co.aikar.commands.contexts.OnlinePlayer(onlinePlayer.getPlayer()) : null; +056 OnlinePlayer onlinePlayer = getOnlinePlayer(c.getIssuer(), c.popFirstArg(), false); +057 return new co.aikar.commands.contexts.OnlinePlayer(onlinePlayer.getPlayer()); 058 }); 059 registerContext(OnlinePlayer[].class, (c) -> { 060 BukkitCommandIssuer issuer = c.getIssuer(); @@ -138,8 +138,8 @@ 125 throw new InvalidCommandArgument(); 126 } 127 -128 OnlinePlayer onlinePlayer = getOnlinePlayer(c.getIssuer(), arg, isOptional); -129 return onlinePlayer != null ? onlinePlayer.getPlayer() : null; +128 OnlinePlayer onlinePlayer = getOnlinePlayer(c.getIssuer(), arg, false); +129 return onlinePlayer.getPlayer(); 130 } 131 }); 132 registerContext(OfflinePlayer.class, c -> { @@ -155,12 +155,12 @@ 142 } 143 offlinePlayer = Bukkit.getOfflinePlayer(uuid); 144 } else { -145 if (!isValidName(name)) { -146 throw new InvalidCommandArgument(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); -147 } -148 offlinePlayer = Bukkit.getOfflinePlayer(name); -149 } -150 if (offlinePlayer == null || (!offlinePlayer.hasPlayedBefore() && !offlinePlayer.isOnline())) { +145 offlinePlayer = Bukkit.getOfflinePlayer(name); +146 } +147 if (offlinePlayer == null || (!offlinePlayer.hasPlayedBefore() && !offlinePlayer.isOnline())) { +148 if (!c.hasFlag("uuid") && !isValidName(name)) { +149 throw new InvalidCommandArgument(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); +150 } 151 throw new InvalidCommandArgument(MinecraftMessageKeys.NO_PLAYER_FOUND_OFFLINE, 152 "{search}", name); 153 } @@ -223,9 +223,9 @@ 210 throw new InvalidCommandArgument(MinecraftMessageKeys.LOCATION_PLEASE_SPECIFY_XYZ); 211 } 212 -213 Double x = ACFUtil.parseDouble(split[0]); -214 Double y = ACFUtil.parseDouble(split[1]); -215 Double z = ACFUtil.parseDouble(split[2]); +213 Double x = ACFUtil.parseDouble(split[0], rel ? 0.0D : null); +214 Double y = ACFUtil.parseDouble(split[1], rel ? 0.0D : null); +215 Double z = ACFUtil.parseDouble(split[2], rel ? 0.0D : null); 216 217 if (sourceLoc != null && rel) { 218 x += sourceLoc.getX(); @@ -262,7 +262,7 @@ 249 } 250 } 251 -252 @Nullable +252 @Contract("_,_,false -> !null") 253 OnlinePlayer getOnlinePlayer(BukkitCommandIssuer issuer, String lookup, boolean allowMissing) throws InvalidCommandArgument { 254 Player player = ACFBukkitUtil.findPlayerSmart(issuer, lookup); 255 //noinspection Duplicates diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandManager.html b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandManager.html index f1d9f5e3..588dd2d2 100644 --- a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandManager.html +++ b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitCommandManager.html @@ -37,22 +37,22 @@ 024package co.aikar.commands; 025 026import co.aikar.commands.apachecommonslang.ApacheCommonsExceptionUtil; -027import co.aikar.timings.lib.MCTiming; -028import co.aikar.timings.lib.TimingManager; -029import org.bukkit.Bukkit; -030import org.bukkit.ChatColor; -031import org.bukkit.Server; -032import org.bukkit.command.Command; -033import org.bukkit.command.CommandException; -034import org.bukkit.command.CommandMap; -035import org.bukkit.command.CommandSender; -036import org.bukkit.command.PluginIdentifiableCommand; -037import org.bukkit.command.SimpleCommandMap; -038import org.bukkit.configuration.file.FileConfiguration; -039import org.bukkit.entity.Player; -040import org.bukkit.help.GenericCommandHelpTopic; -041import org.bukkit.inventory.ItemFactory; -042import org.bukkit.plugin.Plugin; +027import co.aikar.timings.lib.TimingManager; +028import org.bukkit.Bukkit; +029import org.bukkit.ChatColor; +030import org.bukkit.Server; +031import org.bukkit.command.Command; +032import org.bukkit.command.CommandException; +033import org.bukkit.command.CommandMap; +034import org.bukkit.command.CommandSender; +035import org.bukkit.command.PluginIdentifiableCommand; +036import org.bukkit.command.SimpleCommandMap; +037import org.bukkit.configuration.file.FileConfiguration; +038import org.bukkit.entity.Player; +039import org.bukkit.help.GenericCommandHelpTopic; +040import org.bukkit.inventory.ItemFactory; +041import org.bukkit.plugin.Plugin; +042import org.bukkit.plugin.PluginDescriptionFile; 043import org.bukkit.plugin.PluginManager; 044import org.bukkit.plugin.java.JavaPlugin; 045import org.bukkit.scheduler.BukkitScheduler; @@ -90,16 +90,16 @@ 077 @SuppressWarnings("WeakerAccess") 078 protected final Plugin plugin; 079 private final CommandMap commandMap; -080 private final TimingManager timingManager; -081 private final BukkitTask localeTask; -082 private final Logger logger; -083 public final Integer mcMinorVersion; -084 public final Integer mcPatchVersion; -085 protected Map<String, Command> knownCommands = new HashMap<>(); -086 protected Map<String, BukkitRootCommand> registeredCommands = new HashMap<>(); -087 protected BukkitCommandContexts contexts; -088 protected BukkitCommandCompletions completions; -089 MCTiming commandTiming; +080 @Deprecated +081 private final TimingManager timingManager; +082 private ACFBukkitScheduler scheduler; +083 private final Logger logger; +084 public final Integer mcMinorVersion; +085 public final Integer mcPatchVersion; +086 protected Map<String, Command> knownCommands = new HashMap<>(); +087 protected Map<String, BukkitRootCommand> registeredCommands = new HashMap<>(); +088 protected BukkitCommandContexts contexts; +089 protected BukkitCommandCompletions completions; 090 protected BukkitLocales locales; 091 protected Map<UUID, String> issuersLocaleString = new ConcurrentHashMap<>(); 092 private boolean cantReadLocale = false; @@ -107,322 +107,336 @@ 094 095 public BukkitCommandManager(Plugin plugin) { 096 this.plugin = plugin; -097 String prefix = this.plugin.getDescription().getPrefix(); -098 this.logger = Logger.getLogger(prefix != null ? prefix : this.plugin.getName()); -099 this.timingManager = TimingManager.of(plugin); -100 this.commandTiming = this.timingManager.of("Commands"); -101 this.commandMap = hookCommandMap(); -102 this.formatters.put(MessageType.ERROR, defaultFormatter = new BukkitMessageFormatter(ChatColor.RED, ChatColor.YELLOW, ChatColor.RED)); -103 this.formatters.put(MessageType.SYNTAX, new BukkitMessageFormatter(ChatColor.YELLOW, ChatColor.GREEN, ChatColor.WHITE)); -104 this.formatters.put(MessageType.INFO, new BukkitMessageFormatter(ChatColor.BLUE, ChatColor.DARK_GREEN, ChatColor.GREEN)); -105 this.formatters.put(MessageType.HELP, new BukkitMessageFormatter(ChatColor.AQUA, ChatColor.GREEN, ChatColor.YELLOW)); -106 Pattern versionPattern = Pattern.compile("\\(MC: (\\d)\\.(\\d+)\\.?(\\d+?)?\\)"); -107 Matcher matcher = versionPattern.matcher(Bukkit.getVersion()); -108 if (matcher.find()) { -109 this.mcMinorVersion = ACFUtil.parseInt(matcher.toMatchResult().group(2), 0); -110 this.mcPatchVersion = ACFUtil.parseInt(matcher.toMatchResult().group(3), 0); -111 } else { -112 this.mcMinorVersion = -1; -113 this.mcPatchVersion = -1; -114 } -115 Bukkit.getHelpMap().registerHelpTopicFactory(BukkitRootCommand.class, command -> { -116 if (hasUnstableAPI("help")) { -117 return new ACFBukkitHelpTopic(this, (BukkitRootCommand) command); -118 } else { -119 return new GenericCommandHelpTopic(command); -120 } -121 }); -122 -123 Bukkit.getPluginManager().registerEvents(new ACFBukkitListener(this, plugin), plugin); -124 -125 getLocales(); // auto load locales -126 this.localeTask = Bukkit.getScheduler().runTaskTimer(plugin, () -> { -127 if (this.cantReadLocale || !this.autoDetectFromClient) { -128 return; -129 } -130 Bukkit.getOnlinePlayers().forEach(this::readPlayerLocale); -131 }, 30, 30); +097 +098 //See what schedule we should use, bukkit or folia +099 try { +100 Class.forName("io.papermc.paper.threadedregions.scheduler.AsyncScheduler"); +101 this.scheduler = new ACFFoliaScheduler(); +102 } catch (ClassNotFoundException ignored) { +103 this.scheduler = new ACFBukkitScheduler(); +104 } +105 +106 String prefix = this.plugin.getDescription().getPrefix(); +107 this.logger = Logger.getLogger(prefix != null ? prefix : this.plugin.getName()); +108 this.timingManager = TimingManager.of(plugin); +109 this.commandMap = hookCommandMap(); +110 this.formatters.put(MessageType.ERROR, defaultFormatter = new BukkitMessageFormatter(ChatColor.RED, ChatColor.YELLOW, ChatColor.RED)); +111 this.formatters.put(MessageType.SYNTAX, new BukkitMessageFormatter(ChatColor.YELLOW, ChatColor.GREEN, ChatColor.WHITE)); +112 this.formatters.put(MessageType.INFO, new BukkitMessageFormatter(ChatColor.BLUE, ChatColor.DARK_GREEN, ChatColor.GREEN)); +113 this.formatters.put(MessageType.HELP, new BukkitMessageFormatter(ChatColor.AQUA, ChatColor.GREEN, ChatColor.YELLOW)); +114 Pattern versionPattern = Pattern.compile("\\(MC: (\\d)\\.(\\d+)\\.?(\\d+?)?\\)"); +115 Matcher matcher = versionPattern.matcher(Bukkit.getVersion()); +116 if (matcher.find()) { +117 this.mcMinorVersion = ACFUtil.parseInt(matcher.toMatchResult().group(2), 0); +118 this.mcPatchVersion = ACFUtil.parseInt(matcher.toMatchResult().group(3), 0); +119 } else { +120 this.mcMinorVersion = -1; +121 this.mcPatchVersion = -1; +122 } +123 Bukkit.getHelpMap().registerHelpTopicFactory(BukkitRootCommand.class, command -> { +124 if (hasUnstableAPI("help")) { +125 return new ACFBukkitHelpTopic(this, (BukkitRootCommand) command); +126 } else { +127 return new GenericCommandHelpTopic(command); +128 } +129 }); +130 +131 Bukkit.getPluginManager().registerEvents(new ACFBukkitListener(this, plugin), plugin); 132 -133 registerDependency(plugin.getClass(), plugin); -134 registerDependency(Logger.class, plugin.getLogger()); -135 registerDependency(FileConfiguration.class, plugin.getConfig()); -136 registerDependency(FileConfiguration.class, "config", plugin.getConfig()); -137 registerDependency(Plugin.class, plugin); -138 registerDependency(JavaPlugin.class, plugin); -139 registerDependency(PluginManager.class, Bukkit.getPluginManager()); -140 registerDependency(Server.class, Bukkit.getServer()); -141 registerDependency(BukkitScheduler.class, Bukkit.getScheduler()); -142 registerDependency(ScoreboardManager.class, Bukkit.getScoreboardManager()); -143 registerDependency(ItemFactory.class, Bukkit.getItemFactory()); -144 } -145 -146 @NotNull -147 private CommandMap hookCommandMap() { -148 CommandMap commandMap = null; -149 try { -150 Server server = Bukkit.getServer(); -151 Method getCommandMap = server.getClass().getDeclaredMethod("getCommandMap"); -152 getCommandMap.setAccessible(true); -153 commandMap = (CommandMap) getCommandMap.invoke(server); -154 if (!SimpleCommandMap.class.isAssignableFrom(commandMap.getClass())) { -155 this.log(LogLevel.ERROR, "ERROR: CommandMap has been hijacked! Offending command map is located at: " + commandMap.getClass().getName()); -156 this.log(LogLevel.ERROR, "We are going to try to hijack it back and resolve this, but you are now in dangerous territory."); -157 this.log(LogLevel.ERROR, "We can not guarantee things are going to work."); -158 Field cmField = server.getClass().getDeclaredField("commandMap"); -159 commandMap = new ProxyCommandMap(this, commandMap); -160 cmField.set(server, commandMap); -161 this.log(LogLevel.INFO, "Injected Proxy Command Map... good luck..."); -162 } -163 Field knownCommands = SimpleCommandMap.class.getDeclaredField("knownCommands"); -164 knownCommands.setAccessible(true); -165 //noinspection unchecked -166 this.knownCommands = (Map<String, Command>) knownCommands.get(commandMap); -167 } catch (Exception e) { -168 this.log(LogLevel.ERROR, "Failed to get Command Map. ACF will not function."); -169 ACFUtil.sneaky(e); -170 } -171 return commandMap; -172 } -173 -174 public Plugin getPlugin() { -175 return this.plugin; -176 } -177 -178 @Override -179 public boolean isCommandIssuer(Class<?> type) { -180 return CommandSender.class.isAssignableFrom(type); +133 getLocales(); // auto load locales +134 scheduler.createLocaleTask(plugin, () -> { +135 if (this.cantReadLocale || !this.autoDetectFromClient) { +136 return; +137 } +138 Bukkit.getOnlinePlayers().forEach(this::readPlayerLocale); +139 }, 30, 30); +140 +141 registerDependency(plugin.getClass(), plugin); +142 registerDependency(Logger.class, plugin.getLogger()); +143 registerDependency(FileConfiguration.class, plugin.getConfig()); +144 registerDependency(FileConfiguration.class, "config", plugin.getConfig()); +145 registerDependency(Plugin.class, plugin); +146 registerDependency(JavaPlugin.class, plugin); +147 registerDependency(PluginManager.class, Bukkit.getPluginManager()); +148 registerDependency(Server.class, Bukkit.getServer()); +149 scheduler.registerSchedulerDependencies(this); +150 registerDependency(ScoreboardManager.class, Bukkit.getScoreboardManager()); +151 registerDependency(ItemFactory.class, Bukkit.getItemFactory()); +152 registerDependency(PluginDescriptionFile.class, plugin.getDescription()); +153 } +154 +155 @NotNull +156 private CommandMap hookCommandMap() { +157 CommandMap commandMap = null; +158 try { +159 Server server = Bukkit.getServer(); +160 Method getCommandMap = server.getClass().getDeclaredMethod("getCommandMap"); +161 getCommandMap.setAccessible(true); +162 commandMap = (CommandMap) getCommandMap.invoke(server); +163 if (!SimpleCommandMap.class.isAssignableFrom(commandMap.getClass())) { +164 this.log(LogLevel.ERROR, "ERROR: CommandMap has been hijacked! Offending command map is located at: " + commandMap.getClass().getName()); +165 this.log(LogLevel.ERROR, "We are going to try to hijack it back and resolve this, but you are now in dangerous territory."); +166 this.log(LogLevel.ERROR, "We can not guarantee things are going to work."); +167 Field cmField = server.getClass().getDeclaredField("commandMap"); +168 commandMap = new ProxyCommandMap(this, commandMap); +169 cmField.set(server, commandMap); +170 this.log(LogLevel.INFO, "Injected Proxy Command Map... good luck..."); +171 } +172 Field knownCommands = SimpleCommandMap.class.getDeclaredField("knownCommands"); +173 knownCommands.setAccessible(true); +174 //noinspection unchecked +175 this.knownCommands = (Map<String, Command>) knownCommands.get(commandMap); +176 } catch (Exception e) { +177 this.log(LogLevel.ERROR, "Failed to get Command Map. ACF will not function."); +178 ACFUtil.sneaky(e); +179 } +180 return commandMap; 181 } 182 -183 @Override -184 public synchronized CommandContexts<BukkitCommandExecutionContext> getCommandContexts() { -185 if (this.contexts == null) { -186 this.contexts = new BukkitCommandContexts(this); -187 } -188 return contexts; -189 } -190 -191 @Override -192 public synchronized CommandCompletions<BukkitCommandCompletionContext> getCommandCompletions() { -193 if (this.completions == null) { -194 this.completions = new BukkitCommandCompletions(this); -195 } -196 return completions; -197 } -198 +183 public Plugin getPlugin() { +184 return this.plugin; +185 } +186 +187 @Override +188 public boolean isCommandIssuer(Class<?> type) { +189 return CommandSender.class.isAssignableFrom(type); +190 } +191 +192 @Override +193 public synchronized CommandContexts<BukkitCommandExecutionContext> getCommandContexts() { +194 if (this.contexts == null) { +195 this.contexts = new BukkitCommandContexts(this); +196 } +197 return contexts; +198 } 199 200 @Override -201 public BukkitLocales getLocales() { -202 if (this.locales == null) { -203 this.locales = new BukkitLocales(this); -204 this.locales.loadLanguages(); -205 } -206 return locales; -207 } +201 public synchronized CommandCompletions<BukkitCommandCompletionContext> getCommandCompletions() { +202 if (this.completions == null) { +203 this.completions = new BukkitCommandCompletions(this); +204 } +205 return completions; +206 } +207 208 -209 -210 @Override -211 public boolean hasRegisteredCommands() { -212 return !registeredCommands.isEmpty(); -213 } -214 -215 public void registerCommand(BaseCommand command, boolean force) { -216 final String plugin = this.plugin.getName().toLowerCase(Locale.ENGLISH); -217 command.onRegister(this); -218 for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) { -219 String commandName = entry.getKey().toLowerCase(Locale.ENGLISH); -220 BukkitRootCommand bukkitCommand = (BukkitRootCommand) entry.getValue(); -221 if (!bukkitCommand.isRegistered) { -222 Command oldCommand = commandMap.getCommand(commandName); -223 if (oldCommand instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand) oldCommand).getPlugin() == this.plugin) { -224 knownCommands.remove(commandName); -225 oldCommand.unregister(commandMap); -226 } else if (oldCommand != null && force) { -227 knownCommands.remove(commandName); -228 for (Map.Entry<String, Command> ce : knownCommands.entrySet()) { -229 String key = ce.getKey(); -230 Command value = ce.getValue(); -231 if (key.contains(":") && oldCommand.equals(value)) { -232 String[] split = ACFPatterns.COLON.split(key, 2); -233 if (split.length > 1) { -234 oldCommand.unregister(commandMap); -235 oldCommand.setLabel(split[0] + ":" + command.getName()); -236 oldCommand.register(commandMap); -237 } -238 } -239 } -240 } -241 commandMap.register(commandName, plugin, bukkitCommand); -242 } -243 bukkitCommand.isRegistered = true; -244 registeredCommands.put(commandName, bukkitCommand); -245 } -246 } -247 -248 @Override -249 public void registerCommand(BaseCommand command) { -250 registerCommand(command, false); -251 } -252 -253 public void unregisterCommand(BaseCommand command) { -254 for (RootCommand rootcommand : command.registeredCommands.values()) { -255 BukkitRootCommand bukkitCommand = (BukkitRootCommand) rootcommand; -256 bukkitCommand.getSubCommands().values().removeAll(command.subCommands.values()); -257 if (bukkitCommand.isRegistered && bukkitCommand.getSubCommands().isEmpty()) { -258 unregisterCommand(bukkitCommand); -259 bukkitCommand.isRegistered = false; -260 } -261 } -262 } -263 -264 /** -265 * @param command -266 * @deprecated Use unregisterCommand(BaseCommand) - this will be visibility reduced later. -267 */ -268 @Deprecated -269 public void unregisterCommand(BukkitRootCommand command) { -270 final String plugin = this.plugin.getName().toLowerCase(Locale.ENGLISH); -271 command.unregister(commandMap); -272 String key = command.getName(); -273 Command registered = knownCommands.get(key); -274 if (command.equals(registered)) { -275 knownCommands.remove(key); -276 } -277 knownCommands.remove(plugin + ":" + key); -278 registeredCommands.remove(key); -279 } -280 -281 public void unregisterCommands() { -282 for (String key : new HashSet<>(registeredCommands.keySet())) { -283 unregisterCommand(registeredCommands.get(key)); -284 } -285 } -286 -287 -288 private Field getEntityField(Player player) throws NoSuchFieldException { -289 Class cls = player.getClass(); -290 while (cls != Object.class) { -291 if (cls.getName().endsWith("CraftEntity")) { -292 Field field = cls.getDeclaredField("entity"); -293 field.setAccessible(true); -294 return field; -295 } -296 cls = cls.getSuperclass(); -297 } -298 return null; -299 } -300 -301 public Locale setPlayerLocale(Player player, Locale locale) { -302 return this.setIssuerLocale(player, locale); -303 } -304 -305 void readPlayerLocale(Player player) { -306 if (!player.isOnline() || cantReadLocale) { -307 return; -308 } -309 try { -310 Field entityField = getEntityField(player); -311 if (entityField == null) { -312 return; -313 } -314 Object nmsPlayer = entityField.get(player); -315 if (nmsPlayer != null) { -316 Field localeField = nmsPlayer.getClass().getDeclaredField("locale"); -317 localeField.setAccessible(true); -318 Object localeString = localeField.get(nmsPlayer); -319 if (localeString instanceof String) { -320 UUID playerUniqueId = player.getUniqueId(); -321 if (!localeString.equals(issuersLocaleString.get(playerUniqueId))) { -322 String[] split = ACFPatterns.UNDERSCORE.split((String) localeString); -323 Locale locale = split.length > 1 ? new Locale(split[0], split[1]) : new Locale(split[0]); -324 Locale prev = issuersLocale.put(playerUniqueId, locale); -325 issuersLocaleString.put(playerUniqueId, (String) localeString); -326 if (!Objects.equals(locale, prev)) { -327 this.notifyLocaleChange(getCommandIssuer(player), prev, locale); -328 } -329 } -330 } -331 } -332 } catch (Exception e) { -333 cantReadLocale = true; -334 this.localeTask.cancel(); -335 this.log(LogLevel.INFO, "Can't read players locale, you will be unable to automatically detect players language. Only Bukkit 1.7+ is supported for this.", e); -336 } -337 } -338 -339 public TimingManager getTimings() { -340 return timingManager; -341 } -342 -343 @Override -344 public RootCommand createRootCommand(String cmd) { -345 return new BukkitRootCommand(this, cmd); +209 @Override +210 public BukkitLocales getLocales() { +211 if (this.locales == null) { +212 this.locales = new BukkitLocales(this); +213 this.locales.loadLanguages(); +214 } +215 return locales; +216 } +217 +218 +219 @Override +220 public boolean hasRegisteredCommands() { +221 return !registeredCommands.isEmpty(); +222 } +223 +224 public void registerCommand(BaseCommand command, boolean force) { +225 final String plugin = this.plugin.getName().toLowerCase(Locale.ENGLISH); +226 command.onRegister(this); +227 for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) { +228 String commandName = entry.getKey().toLowerCase(Locale.ENGLISH); +229 BukkitRootCommand bukkitCommand = (BukkitRootCommand) entry.getValue(); +230 if (!bukkitCommand.isRegistered) { +231 Command oldCommand = commandMap.getCommand(commandName); +232 if (oldCommand instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand) oldCommand).getPlugin() == this.plugin) { +233 knownCommands.remove(commandName); +234 oldCommand.unregister(commandMap); +235 } else if (oldCommand != null && force) { +236 knownCommands.remove(commandName); +237 for (Map.Entry<String, Command> ce : knownCommands.entrySet()) { +238 String key = ce.getKey(); +239 Command value = ce.getValue(); +240 if (key.contains(":") && oldCommand.equals(value)) { +241 String[] split = ACFPatterns.COLON.split(key, 2); +242 if (split.length > 1) { +243 oldCommand.unregister(commandMap); +244 oldCommand.setLabel(split[0] + ":" + command.getName()); +245 oldCommand.register(commandMap); +246 } +247 } +248 } +249 } +250 commandMap.register(commandName, plugin, bukkitCommand); +251 } +252 bukkitCommand.isRegistered = true; +253 registeredCommands.put(commandName, bukkitCommand); +254 } +255 } +256 +257 @Override +258 public void registerCommand(BaseCommand command) { +259 registerCommand(command, false); +260 } +261 +262 public void unregisterCommand(BaseCommand command) { +263 for (RootCommand rootcommand : command.registeredCommands.values()) { +264 BukkitRootCommand bukkitCommand = (BukkitRootCommand) rootcommand; +265 bukkitCommand.getSubCommands().values().removeAll(command.subCommands.values()); +266 if (bukkitCommand.isRegistered && bukkitCommand.getSubCommands().isEmpty()) { +267 unregisterCommand(bukkitCommand); +268 bukkitCommand.isRegistered = false; +269 } +270 } +271 } +272 +273 /** +274 * @param command +275 * @deprecated Use unregisterCommand(BaseCommand) - this will be visibility reduced later. +276 */ +277 @Deprecated +278 public void unregisterCommand(BukkitRootCommand command) { +279 final String plugin = this.plugin.getName().toLowerCase(Locale.ENGLISH); +280 command.unregister(commandMap); +281 String key = command.getName(); +282 Command registered = knownCommands.get(key); +283 if (command.equals(registered)) { +284 knownCommands.remove(key); +285 } +286 knownCommands.remove(plugin + ":" + key); +287 registeredCommands.remove(key); +288 } +289 +290 public void unregisterCommands() { +291 for (String key : new HashSet<>(registeredCommands.keySet())) { +292 unregisterCommand(registeredCommands.get(key)); +293 } +294 } +295 +296 +297 private Field getEntityField(Player player) throws NoSuchFieldException { +298 Class cls = player.getClass(); +299 while (cls != Object.class) { +300 if (cls.getName().endsWith("CraftEntity")) { +301 Field field = cls.getDeclaredField("entity"); +302 field.setAccessible(true); +303 return field; +304 } +305 cls = cls.getSuperclass(); +306 } +307 return null; +308 } +309 +310 public Locale setPlayerLocale(Player player, Locale locale) { +311 return this.setIssuerLocale(player, locale); +312 } +313 +314 void readPlayerLocale(Player player) { +315 if (!player.isOnline() || cantReadLocale) { +316 return; +317 } +318 try { +319 Field entityField = getEntityField(player); +320 if (entityField == null) { +321 return; +322 } +323 Object nmsPlayer = entityField.get(player); +324 if (nmsPlayer != null) { +325 Field localeField = nmsPlayer.getClass().getDeclaredField("locale"); +326 localeField.setAccessible(true); +327 Object localeString = localeField.get(nmsPlayer); +328 if (localeString instanceof String) { +329 UUID playerUniqueId = player.getUniqueId(); +330 if (!localeString.equals(issuersLocaleString.get(playerUniqueId))) { +331 String[] split = ACFPatterns.UNDERSCORE.split((String) localeString); +332 Locale locale = split.length > 1 ? new Locale(split[0], split[1]) : new Locale(split[0]); +333 Locale prev = issuersLocale.put(playerUniqueId, locale); +334 issuersLocaleString.put(playerUniqueId, (String) localeString); +335 if (!Objects.equals(locale, prev)) { +336 this.notifyLocaleChange(getCommandIssuer(player), prev, locale); +337 } +338 } +339 } +340 } +341 } catch (Exception e) { +342 cantReadLocale = true; +343 this.scheduler.cancelLocaleTask(); +344 this.log(LogLevel.INFO, "Can't read players locale, you will be unable to automatically detect players language. Only Bukkit 1.7+ is supported for this.", e); +345 } 346 } 347 -348 @Override -349 public Collection<RootCommand> getRegisteredRootCommands() { -350 return Collections.unmodifiableCollection(registeredCommands.values()); +348 @Deprecated +349 public TimingManager getTimings() { +350 return timingManager; 351 } 352 -353 @Override -354 public BukkitCommandIssuer getCommandIssuer(Object issuer) { -355 if (!(issuer instanceof CommandSender)) { -356 throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer."); -357 } -358 return new BukkitCommandIssuer(this, (CommandSender) issuer); -359 } -360 -361 @Override -362 public BukkitCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) { -363 return new BukkitCommandExecutionContext(command, parameter, (BukkitCommandIssuer) sender, args, i, passedArgs); -364 } -365 -366 @Override -367 public BukkitCommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) { -368 return new BukkitCommandCompletionContext(command, (BukkitCommandIssuer) sender, input, config, args); -369 } -370 -371 @Override -372 public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) { -373 return new BukkitRegisteredCommand(command, cmdName, method, prefSubCommand); -374 } -375 -376 @Override -377 public BukkitConditionContext createConditionContext(CommandIssuer issuer, String config) { -378 return new BukkitConditionContext((BukkitCommandIssuer) issuer, config); -379 } -380 -381 -382 @Override -383 public void log(LogLevel level, String message, Throwable throwable) { -384 Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE; -385 logger.log(logLevel, LogLevel.LOG_PREFIX + message); -386 if (throwable != null) { -387 for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { -388 logger.log(logLevel, LogLevel.LOG_PREFIX + line); -389 } -390 } -391 } -392 -393 public boolean usePerIssuerLocale(boolean usePerIssuerLocale, boolean autoDetectFromClient) { -394 boolean old = this.usePerIssuerLocale; -395 this.usePerIssuerLocale = usePerIssuerLocale; -396 this.autoDetectFromClient = autoDetectFromClient; -397 return old; -398 } -399 -400 @Override -401 public String getCommandPrefix(CommandIssuer issuer) { -402 return issuer.isPlayer() ? "/" : ""; -403 } -404 -405 @Override -406 protected boolean handleUncaughtException(BaseCommand scope, RegisteredCommand registeredCommand, CommandIssuer sender, List<String> args, Throwable t) { -407 if (t instanceof CommandException && t.getCause() != null && t.getMessage().startsWith("Unhandled exception")) { -408 t = t.getCause(); -409 } -410 return super.handleUncaughtException(scope, registeredCommand, sender, args, t); -411 } -412} +353 public ACFBukkitScheduler getScheduler() { +354 return scheduler; +355 } +356 +357 @Override +358 public RootCommand createRootCommand(String cmd) { +359 return new BukkitRootCommand(this, cmd); +360 } +361 +362 @Override +363 public Collection<RootCommand> getRegisteredRootCommands() { +364 return Collections.unmodifiableCollection(registeredCommands.values()); +365 } +366 +367 @Override +368 public BukkitCommandIssuer getCommandIssuer(Object issuer) { +369 if (!(issuer instanceof CommandSender)) { +370 throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer."); +371 } +372 return new BukkitCommandIssuer(this, (CommandSender) issuer); +373 } +374 +375 @Override +376 public BukkitCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) { +377 return new BukkitCommandExecutionContext(command, parameter, (BukkitCommandIssuer) sender, args, i, passedArgs); +378 } +379 +380 @Override +381 public BukkitCommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) { +382 return new BukkitCommandCompletionContext(command, (BukkitCommandIssuer) sender, input, config, args); +383 } +384 +385 @Override +386 public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) { +387 return new BukkitRegisteredCommand(command, cmdName, method, prefSubCommand); +388 } +389 +390 @Override +391 public BukkitConditionContext createConditionContext(CommandIssuer issuer, String config) { +392 return new BukkitConditionContext((BukkitCommandIssuer) issuer, config); +393 } +394 +395 +396 @Override +397 public void log(LogLevel level, String message, Throwable throwable) { +398 Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE; +399 logger.log(logLevel, LogLevel.LOG_PREFIX + message); +400 if (throwable != null) { +401 for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { +402 logger.log(logLevel, LogLevel.LOG_PREFIX + line); +403 } +404 } +405 } +406 +407 public boolean usePerIssuerLocale(boolean usePerIssuerLocale, boolean autoDetectFromClient) { +408 boolean old = this.usePerIssuerLocale; +409 this.usePerIssuerLocale = usePerIssuerLocale; +410 this.autoDetectFromClient = autoDetectFromClient; +411 return old; +412 } +413 +414 @Override +415 public String getCommandPrefix(CommandIssuer issuer) { +416 return issuer.isPlayer() ? "/" : ""; +417 } +418 +419 @Override +420 protected boolean handleUncaughtException(BaseCommand scope, RegisteredCommand registeredCommand, CommandIssuer sender, List<String> args, Throwable t) { +421 if (t instanceof CommandException && t.getCause() != null && t.getMessage().startsWith("Unhandled exception")) { +422 t = t.getCause(); +423 } +424 return super.handleUncaughtException(scope, registeredCommand, sender, args, t); +425 } +426} diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRegisteredCommand.html b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRegisteredCommand.html index bd986ad0..dd2c8de7 100644 --- a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRegisteredCommand.html +++ b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRegisteredCommand.html @@ -36,31 +36,14 @@ 023 024package co.aikar.commands; 025 -026import co.aikar.timings.lib.MCTiming; +026import java.lang.reflect.Method; 027 -028import java.lang.reflect.Method; -029 -030public class BukkitRegisteredCommand extends RegisteredCommand<BukkitCommandExecutionContext> { -031 private final MCTiming timing; -032 BukkitRegisteredCommand(BaseCommand scope, String command, Method method, String prefSubCommand) { -033 super(scope, command, method, prefSubCommand); -034 BukkitCommandManager manager = (BukkitCommandManager) scope.manager; -035 this.timing = manager.getTimings().of("Command: " + this.command, manager.commandTiming); -036 } -037 -038 -039 @Override -040 public void preCommand() { -041 timing.startTiming(); -042 super.preCommand(); -043 } -044 -045 @Override -046 public void postCommand() { -047 super.postCommand(); -048 timing.stopTiming(); -049 } -050} +028public class BukkitRegisteredCommand extends RegisteredCommand<BukkitCommandExecutionContext> { +029 BukkitRegisteredCommand(BaseCommand scope, String command, Method method, String prefSubCommand) { +030 super(scope, command, method, prefSubCommand); +031 } +032 +033} 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 f79dc609..a40445a1 100644 --- a/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRootCommand.html +++ b/docs/acf-bukkit/src-html/co/aikar/commands/BukkitRootCommand.html @@ -64,75 +64,78 @@ 051 @Override 052 public String getDescription() { 053 RegisteredCommand command = getDefaultRegisteredCommand(); -054 -055 if (command != null && !command.getHelpText().isEmpty()) { -056 return command.getHelpText(); -057 } -058 if (command != null && command.scope.description != null) { -059 return command.scope.description; -060 } -061 if (defCommand.description != null) { -062 return defCommand.description; -063 } -064 return super.getDescription(); -065 } -066 -067 @Override -068 public String getCommandName() { -069 return name; -070 } -071 -072 @Override -073 public List<String> tabComplete(CommandSender sender, String commandLabel, String[] args) throws IllegalArgumentException { -074 if (commandLabel.contains(":")) commandLabel = ACFPatterns.COLON.split(commandLabel, 2)[1]; -075 return getTabCompletions(manager.getCommandIssuer(sender), commandLabel, args); -076 } -077 -078 @Override -079 public boolean execute(CommandSender sender, String commandLabel, String[] args) { -080 if (commandLabel.contains(":")) commandLabel = ACFPatterns.COLON.split(commandLabel, 2)[1]; -081 execute(manager.getCommandIssuer(sender), commandLabel, args); -082 return true; -083 } -084 -085 @Override -086 public boolean testPermissionSilent(CommandSender target) { -087 return hasAnyPermission(manager.getCommandIssuer(target)); -088 } -089 -090 public void addChild(BaseCommand command) { -091 if (this.defCommand == null || !command.subCommands.get(BaseCommand.DEFAULT).isEmpty()) { -092 this.defCommand = command; -093 } -094 addChildShared(this.children, this.subCommands, command); -095 setPermission(getUniquePermission()); -096 } -097 -098 @Override -099 public CommandManager getManager() { -100 return manager; -101 } -102 -103 @Override -104 public SetMultimap<String, RegisteredCommand> getSubCommands() { -105 return this.subCommands; -106 } -107 -108 @Override -109 public List<BaseCommand> getChildren() { -110 return children; -111 } -112 -113 @Override -114 public BaseCommand getDefCommand() { -115 return defCommand; -116 } -117 -118 @Override -119 public Plugin getPlugin() { -120 return manager.getPlugin(); -121 } -122} +054 String description = null; +055 +056 if (command != null && !command.getHelpText().isEmpty()) { +057 description = command.getHelpText(); +058 } else if (command != null && command.scope.description != null) { +059 description = command.scope.description; +060 } else if (defCommand.description != null) { +061 description = defCommand.description; +062 } +063 +064 if (description != null) { +065 return manager.getLocales().replaceI18NStrings(description); +066 } +067 return super.getDescription(); +068 } +069 +070 @Override +071 public String getCommandName() { +072 return name; +073 } +074 +075 @Override +076 public List<String> tabComplete(CommandSender sender, String commandLabel, String[] args) throws IllegalArgumentException { +077 if (commandLabel.contains(":")) commandLabel = ACFPatterns.COLON.split(commandLabel, 2)[1]; +078 return getTabCompletions(manager.getCommandIssuer(sender), commandLabel, args); +079 } +080 +081 @Override +082 public boolean execute(CommandSender sender, String commandLabel, String[] args) { +083 if (commandLabel.contains(":")) commandLabel = ACFPatterns.COLON.split(commandLabel, 2)[1]; +084 execute(manager.getCommandIssuer(sender), commandLabel, args); +085 return true; +086 } +087 +088 @Override +089 public boolean testPermissionSilent(CommandSender target) { +090 return hasAnyPermission(manager.getCommandIssuer(target)); +091 } +092 +093 public void addChild(BaseCommand command) { +094 if (this.defCommand == null || !command.subCommands.get(BaseCommand.DEFAULT).isEmpty()) { +095 this.defCommand = command; +096 } +097 addChildShared(this.children, this.subCommands, command); +098 setPermission(getUniquePermission()); +099 } +100 +101 @Override +102 public CommandManager getManager() { +103 return manager; +104 } +105 +106 @Override +107 public SetMultimap<String, RegisteredCommand> getSubCommands() { +108 return this.subCommands; +109 } +110 +111 @Override +112 public List<BaseCommand> getChildren() { +113 return children; +114 } +115 +116 @Override +117 public BaseCommand getDefCommand() { +118 return defCommand; +119 } +120 +121 @Override +122 public Plugin getPlugin() { +123 return manager.getPlugin(); +124 } +125} diff --git a/docs/acf-bukkit/type-search-index.js b/docs/acf-bukkit/type-search-index.js index e8ac52ef..83195851 100644 --- a/docs/acf-bukkit/type-search-index.js +++ b/docs/acf-bukkit/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"p":"co.aikar.commands","l":"ACFBukkitHelpTopic"},{"p":"co.aikar.commands","l":"ACFBukkitUtil"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"co.aikar.commands","l":"BukkitCommandCompletionContext"},{"p":"co.aikar.commands","l":"BukkitCommandCompletions"},{"p":"co.aikar.commands","l":"BukkitCommandContexts"},{"p":"co.aikar.commands","l":"BukkitCommandExecutionContext"},{"p":"co.aikar.commands","l":"BukkitCommandIssuer"},{"p":"co.aikar.commands","l":"BukkitCommandManager"},{"p":"co.aikar.commands","l":"BukkitConditionContext"},{"p":"co.aikar.commands","l":"BukkitLocales"},{"p":"co.aikar.commands","l":"BukkitMessageFormatter"},{"p":"co.aikar.commands","l":"BukkitRegisteredCommand"},{"p":"co.aikar.commands","l":"BukkitRootCommand"},{"p":"co.aikar.commands","l":"MinecraftMessageKeys"},{"p":"co.aikar.commands.bukkit.contexts","l":"OnlinePlayer"},{"p":"co.aikar.commands.contexts","l":"OnlinePlayer"}];updateSearchResults(); \ No newline at end of file +typeSearchIndex = [{"p":"co.aikar.commands","l":"ACFBukkitHelpTopic"},{"p":"co.aikar.commands","l":"ACFBukkitScheduler"},{"p":"co.aikar.commands","l":"ACFBukkitUtil"},{"p":"co.aikar.commands","l":"ACFFoliaScheduler"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"co.aikar.commands","l":"BukkitCommandCompletionContext"},{"p":"co.aikar.commands","l":"BukkitCommandCompletions"},{"p":"co.aikar.commands","l":"BukkitCommandContexts"},{"p":"co.aikar.commands","l":"BukkitCommandExecutionContext"},{"p":"co.aikar.commands","l":"BukkitCommandIssuer"},{"p":"co.aikar.commands","l":"BukkitCommandManager"},{"p":"co.aikar.commands","l":"BukkitConditionContext"},{"p":"co.aikar.commands","l":"BukkitLocales"},{"p":"co.aikar.commands","l":"BukkitMessageFormatter"},{"p":"co.aikar.commands","l":"BukkitRegisteredCommand"},{"p":"co.aikar.commands","l":"BukkitRootCommand"},{"p":"co.aikar.commands","l":"MinecraftMessageKeys"},{"p":"co.aikar.commands.bukkit.contexts","l":"OnlinePlayer"},{"p":"co.aikar.commands.contexts","l":"OnlinePlayer"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/acf-bungee/allclasses-index.html b/docs/acf-bungee/allclasses-index.html index c47e7963..fa442dd2 100644 --- a/docs/acf-bungee/allclasses-index.html +++ b/docs/acf-bungee/allclasses-index.html @@ -100,7 +100,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/allpackages-index.html b/docs/acf-bungee/allpackages-index.html index 3d6fc6dd..aa66e752 100644 --- a/docs/acf-bungee/allpackages-index.html +++ b/docs/acf-bungee/allpackages-index.html @@ -64,7 +64,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/ACFBungeeListener.html b/docs/acf-bungee/co/aikar/commands/ACFBungeeListener.html index e12261db..e89baa98 100644 --- a/docs/acf-bungee/co/aikar/commands/ACFBungeeListener.html +++ b/docs/acf-bungee/co/aikar/commands/ACFBungeeListener.html @@ -170,7 +170,7 @@ implements net.md_5.bungee.api.plugin.Listener

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/ACFBungeeUtil.html b/docs/acf-bungee/co/aikar/commands/ACFBungeeUtil.html index 0cc36c4d..dca6230e 100644 --- a/docs/acf-bungee/co/aikar/commands/ACFBungeeUtil.html +++ b/docs/acf-bungee/co/aikar/commands/ACFBungeeUtil.html @@ -308,7 +308,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletionContext.html b/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletionContext.html index e7828900..02652cf4 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletionContext.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletionContext.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletions.html b/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletions.html index 2737e70c..b41f0278 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletions.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeCommandCompletions.html @@ -137,7 +137,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/BungeeCommandContexts.html b/docs/acf-bungee/co/aikar/commands/BungeeCommandContexts.html index 274549a6..c3d5c017 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeCommandContexts.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeCommandContexts.html @@ -106,7 +106,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/BungeeCommandExecutionContext.html b/docs/acf-bungee/co/aikar/commands/BungeeCommandExecutionContext.html index f3e3453e..aeb3e2d5 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeCommandExecutionContext.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeCommandExecutionContext.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/BungeeCommandIssuer.html b/docs/acf-bungee/co/aikar/commands/BungeeCommandIssuer.html index bd5f8eae..4d792f91 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeCommandIssuer.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeCommandIssuer.html @@ -240,7 +240,7 @@ implements co.aikar.commands.CommandIssuer

        - +
        diff --git a/docs/acf-bungee/co/aikar/commands/BungeeCommandManager.html b/docs/acf-bungee/co/aikar/commands/BungeeCommandManager.html index 832f5ac2..760fdf00 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeCommandManager.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeCommandManager.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        -
        public class BungeeCommandManager +
        public class BungeeCommandManager extends co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
        @@ -235,31 +235,31 @@ loadScripts(document, 'script');
      • plugin

        -
        protected final net.md_5.bungee.api.plugin.Plugin plugin
        +
        protected final net.md_5.bungee.api.plugin.Plugin plugin
      • registeredCommands

        - +
      • contexts

        - +
      • completions

        - +
      • locales

        - +
      @@ -273,7 +273,7 @@ loadScripts(document, 'script');
    • BungeeCommandManager

      -
      public BungeeCommandManager(net.md_5.bungee.api.plugin.Plugin plugin)
      +
      public BungeeCommandManager(net.md_5.bungee.api.plugin.Plugin plugin)
    @@ -287,13 +287,13 @@ loadScripts(document, 'script');
  • getPlugin

    -
    public net.md_5.bungee.api.plugin.Plugin getPlugin()
    +
    public net.md_5.bungee.api.plugin.Plugin getPlugin()
  • getCommandContexts

    -
    public co.aikar.commands.CommandContexts<BungeeCommandExecutionContext> getCommandContexts()
    +
    public co.aikar.commands.CommandContexts<BungeeCommandExecutionContext> getCommandContexts()
    Specified by:
    getCommandContexts in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -303,7 +303,7 @@ loadScripts(document, 'script');
  • getCommandCompletions

    -
    public co.aikar.commands.CommandCompletions<BungeeCommandCompletionContext> getCommandCompletions()
    +
    public co.aikar.commands.CommandCompletions<BungeeCommandCompletionContext> getCommandCompletions()
    Specified by:
    getCommandCompletions in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -313,7 +313,7 @@ loadScripts(document, 'script');
  • getLocales

    - +
    Specified by:
    getLocales in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -323,13 +323,13 @@ loadScripts(document, 'script');
  • readLocale

    -
    public void readLocale(net.md_5.bungee.api.connection.ProxiedPlayer player)
    +
    public void readLocale(net.md_5.bungee.api.connection.ProxiedPlayer player)
  • registerCommand

    -
    public void registerCommand(co.aikar.commands.BaseCommand command)
    +
    public void registerCommand(co.aikar.commands.BaseCommand command)
    Specified by:
    registerCommand in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -339,25 +339,25 @@ loadScripts(document, 'script');
  • unregisterCommand

    -
    public void unregisterCommand(co.aikar.commands.BaseCommand command)
    +
    public void unregisterCommand(co.aikar.commands.BaseCommand command)
  • unregisterCommand

    -
    public void unregisterCommand(BungeeRootCommand command)
    +
    public void unregisterCommand(BungeeRootCommand command)
  • unregisterCommands

    -
    public void unregisterCommands()
    +
    public void unregisterCommands()
  • hasRegisteredCommands

    -
    public boolean hasRegisteredCommands()
    +
    public boolean hasRegisteredCommands()
    Specified by:
    hasRegisteredCommands in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -367,7 +367,7 @@ loadScripts(document, 'script');
  • isCommandIssuer

    -
    public boolean isCommandIssuer(Class<?> aClass)
    +
    public boolean isCommandIssuer(Class<?> aClass)
    Specified by:
    isCommandIssuer in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -377,7 +377,7 @@ loadScripts(document, 'script');
  • getCommandIssuer

    - +
    Specified by:
    getCommandIssuer in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -387,7 +387,7 @@ loadScripts(document, 'script');
  • createRootCommand

    -
    public co.aikar.commands.RootCommand createRootCommand(String cmd)
    +
    public co.aikar.commands.RootCommand createRootCommand(String cmd)
    Specified by:
    createRootCommand in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -397,7 +397,7 @@ loadScripts(document, 'script');
  • getRegisteredRootCommands

    -
    public Collection<co.aikar.commands.RootCommand> getRegisteredRootCommands()
    +
    public Collection<co.aikar.commands.RootCommand> getRegisteredRootCommands()
    Specified by:
    getRegisteredRootCommands in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -407,7 +407,7 @@ loadScripts(document, 'script');
  • createCommandContext

    -
    public BungeeCommandExecutionContext createCommandContext(co.aikar.commands.RegisteredCommand command, +
    public BungeeCommandExecutionContext createCommandContext(co.aikar.commands.RegisteredCommand command, co.aikar.commands.CommandParameter parameter, co.aikar.commands.CommandIssuer sender, List<String> args, @@ -422,7 +422,7 @@ loadScripts(document, 'script');
  • createCompletionContext

    -
    public co.aikar.commands.CommandCompletionContext createCompletionContext(co.aikar.commands.RegisteredCommand command, +
    public co.aikar.commands.CommandCompletionContext createCompletionContext(co.aikar.commands.RegisteredCommand command, co.aikar.commands.CommandIssuer sender, String input, String config, @@ -436,7 +436,7 @@ loadScripts(document, 'script');
  • createRegisteredCommand

    -
    public co.aikar.commands.RegisteredCommand createRegisteredCommand(co.aikar.commands.BaseCommand command, +
    public co.aikar.commands.RegisteredCommand createRegisteredCommand(co.aikar.commands.BaseCommand command, String cmdName, Method method, String prefSubCommand)
    @@ -449,7 +449,7 @@ loadScripts(document, 'script');
  • createConditionContext

    -
    public BungeeConditionContext createConditionContext(co.aikar.commands.CommandIssuer issuer, +
    public BungeeConditionContext createConditionContext(co.aikar.commands.CommandIssuer issuer, String config)
    Overrides:
    @@ -460,7 +460,7 @@ loadScripts(document, 'script');
  • log

    -
    public void log(co.aikar.commands.LogLevel level, +
    public void log(co.aikar.commands.LogLevel level, String message, Throwable throwable)
    @@ -472,7 +472,7 @@ loadScripts(document, 'script');
  • getCommandPrefix

    -
    public String getCommandPrefix(co.aikar.commands.CommandIssuer issuer)
    +
    public String getCommandPrefix(co.aikar.commands.CommandIssuer issuer)
    Overrides:
    getCommandPrefix in class co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,BungeeCommandIssuer,net.md_5.bungee.api.ChatColor,BungeeMessageFormatter,BungeeCommandExecutionContext,BungeeConditionContext>
    @@ -488,7 +488,7 @@ loadScripts(document, 'script');

    - +
  • diff --git a/docs/acf-bungee/co/aikar/commands/BungeeConditionContext.html b/docs/acf-bungee/co/aikar/commands/BungeeConditionContext.html index ab430359..b69fac32 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeConditionContext.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeConditionContext.html @@ -141,7 +141,7 @@ loadScripts(document, 'script');

    - +
  • diff --git a/docs/acf-bungee/co/aikar/commands/BungeeLocales.html b/docs/acf-bungee/co/aikar/commands/BungeeLocales.html index 7cc1b697..f7a9827a 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeLocales.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeLocales.html @@ -242,7 +242,7 @@ loadScripts(document, 'script');

    - +
  • diff --git a/docs/acf-bungee/co/aikar/commands/BungeeMessageFormatter.html b/docs/acf-bungee/co/aikar/commands/BungeeMessageFormatter.html index 6d6f6ef6..56df5b0a 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeMessageFormatter.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeMessageFormatter.html @@ -128,7 +128,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/BungeeRegisteredCommand.html b/docs/acf-bungee/co/aikar/commands/BungeeRegisteredCommand.html index 2a6dbb7d..55ac58ca 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeRegisteredCommand.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeRegisteredCommand.html @@ -158,7 +158,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/BungeeRootCommand.html b/docs/acf-bungee/co/aikar/commands/BungeeRootCommand.html index 781be547..82de1a28 100644 --- a/docs/acf-bungee/co/aikar/commands/BungeeRootCommand.html +++ b/docs/acf-bungee/co/aikar/commands/BungeeRootCommand.html @@ -265,7 +265,7 @@ implements co.aikar.commands.RootCommand, net.md_5.bungee.api.plugin.TabExecutor

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/MinecraftMessageKeys.html b/docs/acf-bungee/co/aikar/commands/MinecraftMessageKeys.html index 94eb0d0b..83c08976 100644 --- a/docs/acf-bungee/co/aikar/commands/MinecraftMessageKeys.html +++ b/docs/acf-bungee/co/aikar/commands/MinecraftMessageKeys.html @@ -251,7 +251,7 @@ not permitted.)

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/bungee/contexts/OnlinePlayer.html b/docs/acf-bungee/co/aikar/commands/bungee/contexts/OnlinePlayer.html index bd972a5b..47a8cfaf 100644 --- a/docs/acf-bungee/co/aikar/commands/bungee/contexts/OnlinePlayer.html +++ b/docs/acf-bungee/co/aikar/commands/bungee/contexts/OnlinePlayer.html @@ -226,7 +226,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/bungee/contexts/class-use/OnlinePlayer.html b/docs/acf-bungee/co/aikar/commands/bungee/contexts/class-use/OnlinePlayer.html index f6eedc3d..d788d4e0 100644 --- a/docs/acf-bungee/co/aikar/commands/bungee/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-bungee/co/aikar/commands/bungee/contexts/class-use/OnlinePlayer.html @@ -82,7 +82,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-summary.html b/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-summary.html index 9eaa17f8..5c4bdd3d 100644 --- a/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-summary.html +++ b/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-summary.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-tree.html b/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-tree.html index b7f256f4..9afce670 100644 --- a/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-tree.html +++ b/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-tree.html @@ -67,7 +67,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-use.html b/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-use.html index ffba9493..e24ef317 100644 --- a/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-use.html +++ b/docs/acf-bungee/co/aikar/commands/bungee/contexts/package-use.html @@ -75,7 +75,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeListener.html b/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeListener.html index c87108ff..7b7a8e1e 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeListener.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeListener.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFBungeeListener

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeUtil.html b/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeUtil.html index 54ac9431..c7a43867 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeUtil.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFBungeeUtil

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletionContext.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletionContext.html index 5ef6985d..79b3acb3 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletionContext.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletionContext.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletions.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletions.html index 836f902b..6a3a8bad 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletions.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletions.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandContexts.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandContexts.html index eb4d2fcb..22e348e8 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandContexts.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandContexts.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandExecutionContext.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandExecutionContext.html index e578cabf..49c3a04f 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandExecutionContext.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandExecutionContext.html @@ -92,7 +92,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandIssuer.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandIssuer.html index 587b84bf..4619a669 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandIssuer.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandIssuer.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandManager.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandManager.html index 3a09e29d..9bc0fa30 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandManager.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandManager.html @@ -82,7 +82,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeConditionContext.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeConditionContext.html index 352ecd6e..4eeb8dbe 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeConditionContext.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeConditionContext.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeLocales.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeLocales.html index cddb120b..132c9cc3 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeLocales.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeLocales.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeMessageFormatter.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeMessageFormatter.html index dc2c1ced..81e612db 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeMessageFormatter.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeMessageFormatter.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.BungeeMessageFormatter

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeRegisteredCommand.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeRegisteredCommand.html index 7016e892..ce230adf 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeRegisteredCommand.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeRegisteredCommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.BungeeRegisteredCommand

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/BungeeRootCommand.html b/docs/acf-bungee/co/aikar/commands/class-use/BungeeRootCommand.html index c7837008..e8c4fd35 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/BungeeRootCommand.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/BungeeRootCommand.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/class-use/MinecraftMessageKeys.html b/docs/acf-bungee/co/aikar/commands/class-use/MinecraftMessageKeys.html index 3fe34ba4..b9981bdc 100644 --- a/docs/acf-bungee/co/aikar/commands/class-use/MinecraftMessageKeys.html +++ b/docs/acf-bungee/co/aikar/commands/class-use/MinecraftMessageKeys.html @@ -86,7 +86,7 @@ the order they are declared.

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/contexts/OnlineProxiedPlayer.html b/docs/acf-bungee/co/aikar/commands/contexts/OnlineProxiedPlayer.html index be6692c4..cc60a868 100644 --- a/docs/acf-bungee/co/aikar/commands/contexts/OnlineProxiedPlayer.html +++ b/docs/acf-bungee/co/aikar/commands/contexts/OnlineProxiedPlayer.html @@ -144,7 +144,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/contexts/class-use/OnlineProxiedPlayer.html b/docs/acf-bungee/co/aikar/commands/contexts/class-use/OnlineProxiedPlayer.html index e55af659..ca1a97c1 100644 --- a/docs/acf-bungee/co/aikar/commands/contexts/class-use/OnlineProxiedPlayer.html +++ b/docs/acf-bungee/co/aikar/commands/contexts/class-use/OnlineProxiedPlayer.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts.OnlineProxiedPlayer

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/contexts/package-summary.html b/docs/acf-bungee/co/aikar/commands/contexts/package-summary.html index ff7b699b..fae64bd8 100644 --- a/docs/acf-bungee/co/aikar/commands/contexts/package-summary.html +++ b/docs/acf-bungee/co/aikar/commands/contexts/package-summary.html @@ -91,7 +91,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/contexts/package-tree.html b/docs/acf-bungee/co/aikar/commands/contexts/package-tree.html index 7601c07d..ec8a3a72 100644 --- a/docs/acf-bungee/co/aikar/commands/contexts/package-tree.html +++ b/docs/acf-bungee/co/aikar/commands/contexts/package-tree.html @@ -71,7 +71,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/contexts/package-use.html b/docs/acf-bungee/co/aikar/commands/contexts/package-use.html index 29da3780..c4b2d388 100644 --- a/docs/acf-bungee/co/aikar/commands/contexts/package-use.html +++ b/docs/acf-bungee/co/aikar/commands/contexts/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/package-summary.html b/docs/acf-bungee/co/aikar/commands/package-summary.html index 49b95db5..86af93f1 100644 --- a/docs/acf-bungee/co/aikar/commands/package-summary.html +++ b/docs/acf-bungee/co/aikar/commands/package-summary.html @@ -121,7 +121,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/package-tree.html b/docs/acf-bungee/co/aikar/commands/package-tree.html index 1c914d95..1551e211 100644 --- a/docs/acf-bungee/co/aikar/commands/package-tree.html +++ b/docs/acf-bungee/co/aikar/commands/package-tree.html @@ -133,7 +133,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/co/aikar/commands/package-use.html b/docs/acf-bungee/co/aikar/commands/package-use.html index acee76a5..5e524713 100644 --- a/docs/acf-bungee/co/aikar/commands/package-use.html +++ b/docs/acf-bungee/co/aikar/commands/package-use.html @@ -93,7 +93,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/constant-values.html b/docs/acf-bungee/constant-values.html index 7e22d18a..721a259d 100644 --- a/docs/acf-bungee/constant-values.html +++ b/docs/acf-bungee/constant-values.html @@ -75,7 +75,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/deprecated-list.html b/docs/acf-bungee/deprecated-list.html index 58756601..588759e5 100644 --- a/docs/acf-bungee/deprecated-list.html +++ b/docs/acf-bungee/deprecated-list.html @@ -88,7 +88,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/index-all.html b/docs/acf-bungee/index-all.html index ebe97054..122a4d37 100644 --- a/docs/acf-bungee/index-all.html +++ b/docs/acf-bungee/index-all.html @@ -349,7 +349,7 @@ the order they are declared. A B C E F G H I L M N O P R S T U V 
    All Classes and Interfaces|All Packages|Constant Field Values

    - +
    diff --git a/docs/acf-bungee/index.html b/docs/acf-bungee/index.html index 41d0b2d6..5a65a2bb 100644 --- a/docs/acf-bungee/index.html +++ b/docs/acf-bungee/index.html @@ -66,7 +66,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/overview-tree.html b/docs/acf-bungee/overview-tree.html index 6eebabf4..1dc60db1 100644 --- a/docs/acf-bungee/overview-tree.html +++ b/docs/acf-bungee/overview-tree.html @@ -140,7 +140,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-bungee/src-html/co/aikar/commands/ACFBungeeUtil.html b/docs/acf-bungee/src-html/co/aikar/commands/ACFBungeeUtil.html index 4c7ff698..1cbcb0df 100644 --- a/docs/acf-bungee/src-html/co/aikar/commands/ACFBungeeUtil.html +++ b/docs/acf-bungee/src-html/co/aikar/commands/ACFBungeeUtil.html @@ -126,21 +126,21 @@ 113 public static ProxiedPlayer findPlayerSmart(CommandIssuer issuer, String search) { 114 CommandSender requester = issuer.getIssuer(); 115 String name = ACFUtil.replace(search, ":confirm", ""); -116 if (!isValidName(name)) { -117 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); -118 return null; -119 } -120 -121 List<ProxiedPlayer> matches = new ArrayList<>(ProxyServer.getInstance().matchPlayer(name)); -122 -123 if (matches.size() > 1) { -124 String allMatches = matches.stream().map(ProxiedPlayer::getName).collect(Collectors.joining(", ")); -125 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, -126 "{search}", name, "{all}", allMatches); -127 return null; -128 } -129 -130 if (matches.isEmpty()) { +116 +117 List<ProxiedPlayer> matches = new ArrayList<>(ProxyServer.getInstance().matchPlayer(name)); +118 +119 if (matches.size() > 1) { +120 String allMatches = matches.stream().map(ProxiedPlayer::getName).collect(Collectors.joining(", ")); +121 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, +122 "{search}", name, "{all}", allMatches); +123 return null; +124 } +125 +126 if (matches.isEmpty()) { +127 if (!isValidName(name)) { +128 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); +129 return null; +130 } 131 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, 132 "{search}", name); 133 return null; diff --git a/docs/acf-bungee/src-html/co/aikar/commands/BungeeCommandManager.html b/docs/acf-bungee/src-html/co/aikar/commands/BungeeCommandManager.html index 3dcd64f0..18211de0 100644 --- a/docs/acf-bungee/src-html/co/aikar/commands/BungeeCommandManager.html +++ b/docs/acf-bungee/src-html/co/aikar/commands/BungeeCommandManager.html @@ -42,198 +42,200 @@ 029import net.md_5.bungee.api.ProxyServer; 030import net.md_5.bungee.api.connection.ProxiedPlayer; 031import net.md_5.bungee.api.plugin.Plugin; -032 -033import java.lang.reflect.Method; -034import java.util.Collection; -035import java.util.Collections; -036import java.util.HashMap; -037import java.util.List; -038import java.util.Locale; -039import java.util.Map; -040import java.util.concurrent.TimeUnit; -041import java.util.logging.Level; -042import java.util.logging.Logger; -043 -044public class BungeeCommandManager extends CommandManager< -045 CommandSender, -046 BungeeCommandIssuer, -047 ChatColor, -048 BungeeMessageFormatter, -049 BungeeCommandExecutionContext, -050 BungeeConditionContext -051 > { -052 -053 protected final Plugin plugin; -054 protected Map<String, BungeeRootCommand> registeredCommands = new HashMap<>(); -055 protected BungeeCommandContexts contexts; -056 protected BungeeCommandCompletions completions; -057 protected BungeeLocales locales; -058 -059 public BungeeCommandManager(Plugin plugin) { -060 this.plugin = plugin; -061 this.formatters.put(MessageType.ERROR, defaultFormatter = new BungeeMessageFormatter(ChatColor.RED, ChatColor.YELLOW, ChatColor.RED)); -062 this.formatters.put(MessageType.SYNTAX, new BungeeMessageFormatter(ChatColor.YELLOW, ChatColor.GREEN, ChatColor.WHITE)); -063 this.formatters.put(MessageType.INFO, new BungeeMessageFormatter(ChatColor.BLUE, ChatColor.DARK_GREEN, ChatColor.GREEN)); -064 this.formatters.put(MessageType.HELP, new BungeeMessageFormatter(ChatColor.AQUA, ChatColor.GREEN, ChatColor.YELLOW)); -065 -066 getLocales(); // auto load locales -067 -068 plugin.getProxy().getPluginManager().registerListener(plugin, new ACFBungeeListener(this, plugin)); -069 -070 //BungeeCord has no event for listening for client setting changes -071 plugin.getProxy().getScheduler().schedule(plugin, () -> { -072 ProxyServer.getInstance().getPlayers().forEach(this::readLocale); -073 }, 5, 5, TimeUnit.SECONDS); -074 -075 // TODO more default dependencies for bungee -076 registerDependency(plugin.getClass(), plugin); -077 registerDependency(Plugin.class, plugin); -078 } -079 -080 public Plugin getPlugin() { -081 return this.plugin; -082 } -083 -084 @Override -085 public synchronized CommandContexts<BungeeCommandExecutionContext> getCommandContexts() { -086 if (this.contexts == null) { -087 this.contexts = new BungeeCommandContexts(this); -088 } -089 return contexts; -090 } -091 -092 @Override -093 public synchronized CommandCompletions<BungeeCommandCompletionContext> getCommandCompletions() { -094 if (this.completions == null) { -095 this.completions = new BungeeCommandCompletions(this); -096 } -097 return completions; -098 } -099 -100 @Override -101 public BungeeLocales getLocales() { -102 if (this.locales == null) { -103 this.locales = new BungeeLocales(this); -104 this.locales.loadLanguages(); -105 } -106 return locales; -107 } -108 -109 public void readLocale(ProxiedPlayer player) { -110 if (!player.isConnected()) { -111 return; -112 } -113 -114 //This can be null if we didn't receive a settings packet -115 Locale locale = player.getLocale(); -116 if (locale != null) { -117 setIssuerLocale(player, player.getLocale()); -118 } -119 } -120 -121 @Override -122 public void registerCommand(BaseCommand command) { -123 command.onRegister(this); -124 for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) { -125 String commandName = entry.getKey().toLowerCase(Locale.ENGLISH); -126 BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue(); -127 if (!bungeeCommand.isRegistered) { -128 this.plugin.getProxy().getPluginManager().registerCommand(this.plugin, bungeeCommand); -129 } -130 bungeeCommand.isRegistered = true; -131 registeredCommands.put(commandName, bungeeCommand); -132 } -133 } -134 -135 public void unregisterCommand(BaseCommand command) { -136 for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) { -137 String commandName = entry.getKey().toLowerCase(Locale.ENGLISH); -138 BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue(); -139 bungeeCommand.getSubCommands().values().removeAll(command.subCommands.values()); -140 if (bungeeCommand.getSubCommands().isEmpty() && bungeeCommand.isRegistered) { -141 unregisterCommand(bungeeCommand); -142 bungeeCommand.isRegistered = false; -143 registeredCommands.remove(commandName); -144 } -145 } -146 } -147 -148 public void unregisterCommand(BungeeRootCommand command) { -149 this.plugin.getProxy().getPluginManager().unregisterCommand(command); -150 } -151 -152 public void unregisterCommands() { -153 for (Map.Entry<String, BungeeRootCommand> entry : registeredCommands.entrySet()) { -154 unregisterCommand(entry.getValue()); -155 } -156 } -157 -158 @Override -159 public boolean hasRegisteredCommands() { -160 return !registeredCommands.isEmpty(); -161 } -162 -163 @Override -164 public boolean isCommandIssuer(Class<?> aClass) { -165 return CommandSender.class.isAssignableFrom(aClass); -166 } -167 -168 @Override -169 public BungeeCommandIssuer getCommandIssuer(Object issuer) { -170 if (!(issuer instanceof CommandSender)) { -171 throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer."); -172 } -173 return new BungeeCommandIssuer(this, (CommandSender) issuer); -174 } -175 -176 @Override -177 public RootCommand createRootCommand(String cmd) { -178 return new BungeeRootCommand(this, cmd); -179 } -180 -181 @Override -182 public Collection<RootCommand> getRegisteredRootCommands() { -183 return Collections.unmodifiableCollection(registeredCommands.values()); -184 } -185 -186 @Override -187 public BungeeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) { -188 return new BungeeCommandExecutionContext(command, parameter, (BungeeCommandIssuer) sender, args, i, passedArgs); -189 } -190 -191 @Override -192 public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) { -193 return new BungeeCommandCompletionContext(command, (BungeeCommandIssuer) sender, input, config, args); -194 } -195 -196 @Override -197 public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) { -198 return new RegisteredCommand(command, cmdName, method, prefSubCommand); -199 } -200 -201 @Override -202 public BungeeConditionContext createConditionContext(CommandIssuer issuer, String config) { -203 return new BungeeConditionContext((BungeeCommandIssuer) issuer, config); -204 } -205 -206 @Override -207 public void log(LogLevel level, String message, Throwable throwable) { -208 Logger logger = this.plugin.getLogger(); -209 Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE; -210 logger.log(logLevel, LogLevel.LOG_PREFIX + message); -211 if (throwable != null) { -212 for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { -213 logger.log(logLevel, LogLevel.LOG_PREFIX + line); -214 } -215 } -216 } -217 -218 -219 @Override -220 public String getCommandPrefix(CommandIssuer issuer) { -221 return issuer.isPlayer() ? "/" : ""; -222 } -223} +032import net.md_5.bungee.api.plugin.PluginDescription; +033 +034import java.lang.reflect.Method; +035import java.util.Collection; +036import java.util.Collections; +037import java.util.HashMap; +038import java.util.List; +039import java.util.Locale; +040import java.util.Map; +041import java.util.concurrent.TimeUnit; +042import java.util.logging.Level; +043import java.util.logging.Logger; +044 +045public class BungeeCommandManager extends CommandManager< +046 CommandSender, +047 BungeeCommandIssuer, +048 ChatColor, +049 BungeeMessageFormatter, +050 BungeeCommandExecutionContext, +051 BungeeConditionContext +052 > { +053 +054 protected final Plugin plugin; +055 protected Map<String, BungeeRootCommand> registeredCommands = new HashMap<>(); +056 protected BungeeCommandContexts contexts; +057 protected BungeeCommandCompletions completions; +058 protected BungeeLocales locales; +059 +060 public BungeeCommandManager(Plugin plugin) { +061 this.plugin = plugin; +062 this.formatters.put(MessageType.ERROR, defaultFormatter = new BungeeMessageFormatter(ChatColor.RED, ChatColor.YELLOW, ChatColor.RED)); +063 this.formatters.put(MessageType.SYNTAX, new BungeeMessageFormatter(ChatColor.YELLOW, ChatColor.GREEN, ChatColor.WHITE)); +064 this.formatters.put(MessageType.INFO, new BungeeMessageFormatter(ChatColor.BLUE, ChatColor.DARK_GREEN, ChatColor.GREEN)); +065 this.formatters.put(MessageType.HELP, new BungeeMessageFormatter(ChatColor.AQUA, ChatColor.GREEN, ChatColor.YELLOW)); +066 +067 getLocales(); // auto load locales +068 +069 plugin.getProxy().getPluginManager().registerListener(plugin, new ACFBungeeListener(this, plugin)); +070 +071 //BungeeCord has no event for listening for client setting changes +072 plugin.getProxy().getScheduler().schedule(plugin, () -> { +073 ProxyServer.getInstance().getPlayers().forEach(this::readLocale); +074 }, 5, 5, TimeUnit.SECONDS); +075 +076 // TODO more default dependencies for bungee +077 registerDependency(plugin.getClass(), plugin); +078 registerDependency(Plugin.class, plugin); +079 registerDependency(PluginDescription.class, plugin.getDescription()); +080 } +081 +082 public Plugin getPlugin() { +083 return this.plugin; +084 } +085 +086 @Override +087 public synchronized CommandContexts<BungeeCommandExecutionContext> getCommandContexts() { +088 if (this.contexts == null) { +089 this.contexts = new BungeeCommandContexts(this); +090 } +091 return contexts; +092 } +093 +094 @Override +095 public synchronized CommandCompletions<BungeeCommandCompletionContext> getCommandCompletions() { +096 if (this.completions == null) { +097 this.completions = new BungeeCommandCompletions(this); +098 } +099 return completions; +100 } +101 +102 @Override +103 public BungeeLocales getLocales() { +104 if (this.locales == null) { +105 this.locales = new BungeeLocales(this); +106 this.locales.loadLanguages(); +107 } +108 return locales; +109 } +110 +111 public void readLocale(ProxiedPlayer player) { +112 if (!player.isConnected()) { +113 return; +114 } +115 +116 //This can be null if we didn't receive a settings packet +117 Locale locale = player.getLocale(); +118 if (locale != null) { +119 setIssuerLocale(player, player.getLocale()); +120 } +121 } +122 +123 @Override +124 public void registerCommand(BaseCommand command) { +125 command.onRegister(this); +126 for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) { +127 String commandName = entry.getKey().toLowerCase(Locale.ENGLISH); +128 BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue(); +129 if (!bungeeCommand.isRegistered) { +130 this.plugin.getProxy().getPluginManager().registerCommand(this.plugin, bungeeCommand); +131 } +132 bungeeCommand.isRegistered = true; +133 registeredCommands.put(commandName, bungeeCommand); +134 } +135 } +136 +137 public void unregisterCommand(BaseCommand command) { +138 for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) { +139 String commandName = entry.getKey().toLowerCase(Locale.ENGLISH); +140 BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue(); +141 bungeeCommand.getSubCommands().values().removeAll(command.subCommands.values()); +142 if (bungeeCommand.getSubCommands().isEmpty() && bungeeCommand.isRegistered) { +143 unregisterCommand(bungeeCommand); +144 bungeeCommand.isRegistered = false; +145 registeredCommands.remove(commandName); +146 } +147 } +148 } +149 +150 public void unregisterCommand(BungeeRootCommand command) { +151 this.plugin.getProxy().getPluginManager().unregisterCommand(command); +152 } +153 +154 public void unregisterCommands() { +155 for (Map.Entry<String, BungeeRootCommand> entry : registeredCommands.entrySet()) { +156 unregisterCommand(entry.getValue()); +157 } +158 } +159 +160 @Override +161 public boolean hasRegisteredCommands() { +162 return !registeredCommands.isEmpty(); +163 } +164 +165 @Override +166 public boolean isCommandIssuer(Class<?> aClass) { +167 return CommandSender.class.isAssignableFrom(aClass); +168 } +169 +170 @Override +171 public BungeeCommandIssuer getCommandIssuer(Object issuer) { +172 if (!(issuer instanceof CommandSender)) { +173 throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer."); +174 } +175 return new BungeeCommandIssuer(this, (CommandSender) issuer); +176 } +177 +178 @Override +179 public RootCommand createRootCommand(String cmd) { +180 return new BungeeRootCommand(this, cmd); +181 } +182 +183 @Override +184 public Collection<RootCommand> getRegisteredRootCommands() { +185 return Collections.unmodifiableCollection(registeredCommands.values()); +186 } +187 +188 @Override +189 public BungeeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) { +190 return new BungeeCommandExecutionContext(command, parameter, (BungeeCommandIssuer) sender, args, i, passedArgs); +191 } +192 +193 @Override +194 public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) { +195 return new BungeeCommandCompletionContext(command, (BungeeCommandIssuer) sender, input, config, args); +196 } +197 +198 @Override +199 public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) { +200 return new RegisteredCommand(command, cmdName, method, prefSubCommand); +201 } +202 +203 @Override +204 public BungeeConditionContext createConditionContext(CommandIssuer issuer, String config) { +205 return new BungeeConditionContext((BungeeCommandIssuer) issuer, config); +206 } +207 +208 @Override +209 public void log(LogLevel level, String message, Throwable throwable) { +210 Logger logger = this.plugin.getLogger(); +211 Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE; +212 logger.log(logLevel, LogLevel.LOG_PREFIX + message); +213 if (throwable != null) { +214 for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { +215 logger.log(logLevel, LogLevel.LOG_PREFIX + line); +216 } +217 } +218 } +219 +220 +221 @Override +222 public String getCommandPrefix(CommandIssuer issuer) { +223 return issuer.isPlayer() ? "/" : ""; +224 } +225} diff --git a/docs/acf-core/allclasses-index.html b/docs/acf-core/allclasses-index.html index a33eb0d3..2c7eb732 100644 --- a/docs/acf-core/allclasses-index.html +++ b/docs/acf-core/allclasses-index.html @@ -279,7 +279,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/allpackages-index.html b/docs/acf-core/allpackages-index.html index d9150224..a57cf02c 100644 --- a/docs/acf-core/allpackages-index.html +++ b/docs/acf-core/allpackages-index.html @@ -68,7 +68,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/ACFUtil.html b/docs/acf-core/co/aikar/commands/ACFUtil.html index 9388adb6..abf59f51 100644 --- a/docs/acf-core/co/aikar/commands/ACFUtil.html +++ b/docs/acf-core/co/aikar/commands/ACFUtil.html @@ -959,7 +959,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/AnnotationProcessor.html b/docs/acf-core/co/aikar/commands/AnnotationProcessor.html index 8193275d..24009d08 100644 --- a/docs/acf-core/co/aikar/commands/AnnotationProcessor.html +++ b/docs/acf-core/co/aikar/commands/AnnotationProcessor.html @@ -226,7 +226,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/BaseCommand.html b/docs/acf-core/co/aikar/commands/BaseCommand.html index 3801790e..23ef7eb7 100644 --- a/docs/acf-core/co/aikar/commands/BaseCommand.html +++ b/docs/acf-core/co/aikar/commands/BaseCommand.html @@ -341,7 +341,7 @@ loadScripts(document, 'script');
  • getCurrentCommandIssuer

    - +
    Gets the current command issuer.
    Returns:
    @@ -352,7 +352,7 @@ loadScripts(document, 'script');
  • getCurrentCommandManager

    - +
    Gets the current command manager.
    Returns:
    @@ -364,7 +364,7 @@ loadScripts(document, 'script');

    canExecute

    @Deprecated -public boolean canExecute(CommandIssuer issuer, +public boolean canExecute(CommandIssuer issuer, RegisteredCommand<?> cmd)
    Deprecated. @@ -381,7 +381,7 @@ loadScripts(document, 'script');
  • tabComplete

    -
    public List<String> tabComplete(CommandIssuer issuer, +
    public List<String> tabComplete(CommandIssuer issuer, String commandLabel, String[] args)
    Gets tab completed data from the given command from the user.
    @@ -398,7 +398,7 @@ loadScripts(document, 'script');
  • tabComplete

    -
    public List<String> tabComplete(CommandIssuer issuer, +
    public List<String> tabComplete(CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) @@ -555,7 +555,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandCompletionContext.html b/docs/acf-core/co/aikar/commands/CommandCompletionContext.html index c98c96d9..525417b6 100644 --- a/docs/acf-core/co/aikar/commands/CommandCompletionContext.html +++ b/docs/acf-core/co/aikar/commands/CommandCompletionContext.html @@ -267,7 +267,7 @@ loadScripts(document, 'script');

    - +
  • diff --git a/docs/acf-core/co/aikar/commands/CommandCompletions.AsyncCommandCompletionHandler.html b/docs/acf-core/co/aikar/commands/CommandCompletions.AsyncCommandCompletionHandler.html index 7b56532f..78175995 100644 --- a/docs/acf-core/co/aikar/commands/CommandCompletions.AsyncCommandCompletionHandler.html +++ b/docs/acf-core/co/aikar/commands/CommandCompletions.AsyncCommandCompletionHandler.html @@ -97,7 +97,7 @@ extends
    - + diff --git a/docs/acf-core/co/aikar/commands/CommandCompletions.CommandCompletionHandler.html b/docs/acf-core/co/aikar/commands/CommandCompletions.CommandCompletionHandler.html index c260a7cd..8366a2cb 100644 --- a/docs/acf-core/co/aikar/commands/CommandCompletions.CommandCompletionHandler.html +++ b/docs/acf-core/co/aikar/commands/CommandCompletions.CommandCompletionHandler.html @@ -133,7 +133,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html b/docs/acf-core/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html index dd32bd0b..901ccfd3 100644 --- a/docs/acf-core/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html +++ b/docs/acf-core/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html @@ -148,7 +148,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandCompletions.html b/docs/acf-core/co/aikar/commands/CommandCompletions.html index 60a8f69d..a2e601f5 100644 --- a/docs/acf-core/co/aikar/commands/CommandCompletions.html +++ b/docs/acf-core/co/aikar/commands/CommandCompletions.html @@ -319,7 +319,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandConditions.Condition.html b/docs/acf-core/co/aikar/commands/CommandConditions.Condition.html index 45568a60..e8ca2156 100644 --- a/docs/acf-core/co/aikar/commands/CommandConditions.Condition.html +++ b/docs/acf-core/co/aikar/commands/CommandConditions.Condition.html @@ -129,7 +129,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandConditions.ParameterCondition.html b/docs/acf-core/co/aikar/commands/CommandConditions.ParameterCondition.html index dae7b866..517a3eaa 100644 --- a/docs/acf-core/co/aikar/commands/CommandConditions.ParameterCondition.html +++ b/docs/acf-core/co/aikar/commands/CommandConditions.ParameterCondition.html @@ -133,7 +133,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandConditions.html b/docs/acf-core/co/aikar/commands/CommandConditions.html index c5f30009..0c395ede 100644 --- a/docs/acf-core/co/aikar/commands/CommandConditions.html +++ b/docs/acf-core/co/aikar/commands/CommandConditions.html @@ -164,7 +164,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandContexts.html b/docs/acf-core/co/aikar/commands/CommandContexts.html index 2244aac7..fe90d89f 100644 --- a/docs/acf-core/co/aikar/commands/CommandContexts.html +++ b/docs/acf-core/co/aikar/commands/CommandContexts.html @@ -257,7 +257,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandExecutionContext.html b/docs/acf-core/co/aikar/commands/CommandExecutionContext.html index 3169b4a7..142d84da 100644 --- a/docs/acf-core/co/aikar/commands/CommandExecutionContext.html +++ b/docs/acf-core/co/aikar/commands/CommandExecutionContext.html @@ -528,7 +528,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandHelp.html b/docs/acf-core/co/aikar/commands/CommandHelp.html index 957a7e4a..43d84d79 100644 --- a/docs/acf-core/co/aikar/commands/CommandHelp.html +++ b/docs/acf-core/co/aikar/commands/CommandHelp.html @@ -340,7 +340,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandHelpFormatter.html b/docs/acf-core/co/aikar/commands/CommandHelpFormatter.html index f5ad5f3f..2dffa8d1 100644 --- a/docs/acf-core/co/aikar/commands/CommandHelpFormatter.html +++ b/docs/acf-core/co/aikar/commands/CommandHelpFormatter.html @@ -363,7 +363,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandIssuer.html b/docs/acf-core/co/aikar/commands/CommandIssuer.html index 94782f3f..c3990435 100644 --- a/docs/acf-core/co/aikar/commands/CommandIssuer.html +++ b/docs/acf-core/co/aikar/commands/CommandIssuer.html @@ -312,7 +312,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandManager.html b/docs/acf-core/co/aikar/commands/CommandManager.html index 9cd5fcb6..5d7d9034 100644 --- a/docs/acf-core/co/aikar/commands/CommandManager.html +++ b/docs/acf-core/co/aikar/commands/CommandManager.html @@ -1078,7 +1078,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandOperationContext.html b/docs/acf-core/co/aikar/commands/CommandOperationContext.html index 0b2d4d15..5f53a08d 100644 --- a/docs/acf-core/co/aikar/commands/CommandOperationContext.html +++ b/docs/acf-core/co/aikar/commands/CommandOperationContext.html @@ -238,7 +238,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandParameter.html b/docs/acf-core/co/aikar/commands/CommandParameter.html index 964931a0..6e7b9dbd 100644 --- a/docs/acf-core/co/aikar/commands/CommandParameter.html +++ b/docs/acf-core/co/aikar/commands/CommandParameter.html @@ -484,7 +484,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/CommandReplacements.html b/docs/acf-core/co/aikar/commands/CommandReplacements.html index 53e083f7..efdd9eff 100644 --- a/docs/acf-core/co/aikar/commands/CommandReplacements.html +++ b/docs/acf-core/co/aikar/commands/CommandReplacements.html @@ -148,7 +148,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/ConditionContext.html b/docs/acf-core/co/aikar/commands/ConditionContext.html index b6a8f67c..67a5cfdc 100644 --- a/docs/acf-core/co/aikar/commands/ConditionContext.html +++ b/docs/acf-core/co/aikar/commands/ConditionContext.html @@ -167,7 +167,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/ConditionFailedException.html b/docs/acf-core/co/aikar/commands/ConditionFailedException.html index 729f72b2..7277ed18 100644 --- a/docs/acf-core/co/aikar/commands/ConditionFailedException.html +++ b/docs/acf-core/co/aikar/commands/ConditionFailedException.html @@ -174,7 +174,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/ExceptionHandler.html b/docs/acf-core/co/aikar/commands/ExceptionHandler.html index 1e5c07f2..e019687e 100644 --- a/docs/acf-core/co/aikar/commands/ExceptionHandler.html +++ b/docs/acf-core/co/aikar/commands/ExceptionHandler.html @@ -151,7 +151,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/ForwardingCommand.html b/docs/acf-core/co/aikar/commands/ForwardingCommand.html index e94d7b18..7ca24574 100644 --- a/docs/acf-core/co/aikar/commands/ForwardingCommand.html +++ b/docs/acf-core/co/aikar/commands/ForwardingCommand.html @@ -238,7 +238,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/HelpEntry.html b/docs/acf-core/co/aikar/commands/HelpEntry.html index 4d5a30bc..1833fc56 100644 --- a/docs/acf-core/co/aikar/commands/HelpEntry.html +++ b/docs/acf-core/co/aikar/commands/HelpEntry.html @@ -208,7 +208,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/InvalidCommandArgument.html b/docs/acf-core/co/aikar/commands/InvalidCommandArgument.html index e91010eb..a3c3c62f 100644 --- a/docs/acf-core/co/aikar/commands/InvalidCommandArgument.html +++ b/docs/acf-core/co/aikar/commands/InvalidCommandArgument.html @@ -218,7 +218,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/InvalidCommandContextException.html b/docs/acf-core/co/aikar/commands/InvalidCommandContextException.html index fcbb1946..9e5daca5 100644 --- a/docs/acf-core/co/aikar/commands/InvalidCommandContextException.html +++ b/docs/acf-core/co/aikar/commands/InvalidCommandContextException.html @@ -113,7 +113,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/IssuerLocaleChangedCallback.html b/docs/acf-core/co/aikar/commands/IssuerLocaleChangedCallback.html index 260d0f6d..50eecf3f 100644 --- a/docs/acf-core/co/aikar/commands/IssuerLocaleChangedCallback.html +++ b/docs/acf-core/co/aikar/commands/IssuerLocaleChangedCallback.html @@ -124,7 +124,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/Locales.html b/docs/acf-core/co/aikar/commands/Locales.html index d0790f5a..526e1366 100644 --- a/docs/acf-core/co/aikar/commands/Locales.html +++ b/docs/acf-core/co/aikar/commands/Locales.html @@ -620,7 +620,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/MessageFormatter.html b/docs/acf-core/co/aikar/commands/MessageFormatter.html index 6b5c3002..7ae541e0 100644 --- a/docs/acf-core/co/aikar/commands/MessageFormatter.html +++ b/docs/acf-core/co/aikar/commands/MessageFormatter.html @@ -200,7 +200,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/MessageKeys.html b/docs/acf-core/co/aikar/commands/MessageKeys.html index 3df2b290..88a2b850 100644 --- a/docs/acf-core/co/aikar/commands/MessageKeys.html +++ b/docs/acf-core/co/aikar/commands/MessageKeys.html @@ -412,7 +412,7 @@ not permitted.)

    - +
    diff --git a/docs/acf-core/co/aikar/commands/MessageType.html b/docs/acf-core/co/aikar/commands/MessageType.html index ed8301e2..1af48957 100644 --- a/docs/acf-core/co/aikar/commands/MessageType.html +++ b/docs/acf-core/co/aikar/commands/MessageType.html @@ -227,7 +227,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/RegisteredCommand.html b/docs/acf-core/co/aikar/commands/RegisteredCommand.html index 6cf68111..325b9de7 100644 --- a/docs/acf-core/co/aikar/commands/RegisteredCommand.html +++ b/docs/acf-core/co/aikar/commands/RegisteredCommand.html @@ -285,7 +285,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/RootCommand.html b/docs/acf-core/co/aikar/commands/RootCommand.html index 8aa35944..60e27839 100644 --- a/docs/acf-core/co/aikar/commands/RootCommand.html +++ b/docs/acf-core/co/aikar/commands/RootCommand.html @@ -285,7 +285,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/ShowCommandHelp.html b/docs/acf-core/co/aikar/commands/ShowCommandHelp.html index 132fcca4..e1b330e0 100644 --- a/docs/acf-core/co/aikar/commands/ShowCommandHelp.html +++ b/docs/acf-core/co/aikar/commands/ShowCommandHelp.html @@ -162,7 +162,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/UnresolvedDependencyException.html b/docs/acf-core/co/aikar/commands/UnresolvedDependencyException.html index 32c77c32..80214266 100644 --- a/docs/acf-core/co/aikar/commands/UnresolvedDependencyException.html +++ b/docs/acf-core/co/aikar/commands/UnresolvedDependencyException.html @@ -115,7 +115,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/UnstableAPI.html b/docs/acf-core/co/aikar/commands/UnstableAPI.html index cfc0cd5d..42887d57 100644 --- a/docs/acf-core/co/aikar/commands/UnstableAPI.html +++ b/docs/acf-core/co/aikar/commands/UnstableAPI.html @@ -76,7 +76,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/CatchAll.html b/docs/acf-core/co/aikar/commands/annotation/CatchAll.html index 18fbad56..4898f538 100644 --- a/docs/acf-core/co/aikar/commands/annotation/CatchAll.html +++ b/docs/acf-core/co/aikar/commands/annotation/CatchAll.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/CatchUnknown.html b/docs/acf-core/co/aikar/commands/annotation/CatchUnknown.html index 19d0f424..16f42e13 100644 --- a/docs/acf-core/co/aikar/commands/annotation/CatchUnknown.html +++ b/docs/acf-core/co/aikar/commands/annotation/CatchUnknown.html @@ -82,7 +82,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/CommandAlias.html b/docs/acf-core/co/aikar/commands/annotation/CommandAlias.html index 451738b9..b28750e2 100644 --- a/docs/acf-core/co/aikar/commands/annotation/CommandAlias.html +++ b/docs/acf-core/co/aikar/commands/annotation/CommandAlias.html @@ -118,7 +118,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/CommandCompletion.html b/docs/acf-core/co/aikar/commands/annotation/CommandCompletion.html index 8741b4bb..eb888b23 100644 --- a/docs/acf-core/co/aikar/commands/annotation/CommandCompletion.html +++ b/docs/acf-core/co/aikar/commands/annotation/CommandCompletion.html @@ -118,7 +118,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/CommandPermission.html b/docs/acf-core/co/aikar/commands/annotation/CommandPermission.html index 9d62be31..bd1d18ee 100644 --- a/docs/acf-core/co/aikar/commands/annotation/CommandPermission.html +++ b/docs/acf-core/co/aikar/commands/annotation/CommandPermission.html @@ -115,7 +115,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Conditions.html b/docs/acf-core/co/aikar/commands/annotation/Conditions.html index 6314592e..e38d383a 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Conditions.html +++ b/docs/acf-core/co/aikar/commands/annotation/Conditions.html @@ -116,7 +116,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Default.html b/docs/acf-core/co/aikar/commands/annotation/Default.html index 8f3f5a13..b6389f87 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Default.html +++ b/docs/acf-core/co/aikar/commands/annotation/Default.html @@ -118,7 +118,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Dependency.html b/docs/acf-core/co/aikar/commands/annotation/Dependency.html index 3a0f9441..59e8de66 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Dependency.html +++ b/docs/acf-core/co/aikar/commands/annotation/Dependency.html @@ -125,7 +125,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Description.html b/docs/acf-core/co/aikar/commands/annotation/Description.html index 298124f4..964f056b 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Description.html +++ b/docs/acf-core/co/aikar/commands/annotation/Description.html @@ -114,7 +114,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Flags.html b/docs/acf-core/co/aikar/commands/annotation/Flags.html index 61cfe82d..8baea2f6 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Flags.html +++ b/docs/acf-core/co/aikar/commands/annotation/Flags.html @@ -117,7 +117,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/HelpCommand.html b/docs/acf-core/co/aikar/commands/annotation/HelpCommand.html index 1161cf2a..b1436aca 100644 --- a/docs/acf-core/co/aikar/commands/annotation/HelpCommand.html +++ b/docs/acf-core/co/aikar/commands/annotation/HelpCommand.html @@ -126,7 +126,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/HelpSearchTags.html b/docs/acf-core/co/aikar/commands/annotation/HelpSearchTags.html index c1e4c2f0..4e597c72 100644 --- a/docs/acf-core/co/aikar/commands/annotation/HelpSearchTags.html +++ b/docs/acf-core/co/aikar/commands/annotation/HelpSearchTags.html @@ -116,7 +116,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Name.html b/docs/acf-core/co/aikar/commands/annotation/Name.html index 80843303..40d38d75 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Name.html +++ b/docs/acf-core/co/aikar/commands/annotation/Name.html @@ -112,7 +112,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Optional.html b/docs/acf-core/co/aikar/commands/annotation/Optional.html index 7b9968a6..50312bca 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Optional.html +++ b/docs/acf-core/co/aikar/commands/annotation/Optional.html @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/PreCommand.html b/docs/acf-core/co/aikar/commands/annotation/PreCommand.html index b0ffebba..1cf90bd5 100644 --- a/docs/acf-core/co/aikar/commands/annotation/PreCommand.html +++ b/docs/acf-core/co/aikar/commands/annotation/PreCommand.html @@ -76,7 +76,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Private.html b/docs/acf-core/co/aikar/commands/annotation/Private.html index 615a9923..01de5c53 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Private.html +++ b/docs/acf-core/co/aikar/commands/annotation/Private.html @@ -76,7 +76,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Single.html b/docs/acf-core/co/aikar/commands/annotation/Single.html index f8b54824..32d43e77 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Single.html +++ b/docs/acf-core/co/aikar/commands/annotation/Single.html @@ -76,7 +76,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Split.html b/docs/acf-core/co/aikar/commands/annotation/Split.html index c376ff5d..e42a6162 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Split.html +++ b/docs/acf-core/co/aikar/commands/annotation/Split.html @@ -118,7 +118,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Subcommand.html b/docs/acf-core/co/aikar/commands/annotation/Subcommand.html index 0219d07b..0723a7c3 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Subcommand.html +++ b/docs/acf-core/co/aikar/commands/annotation/Subcommand.html @@ -117,7 +117,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Syntax.html b/docs/acf-core/co/aikar/commands/annotation/Syntax.html index a7d71e4c..b1b3bb5a 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Syntax.html +++ b/docs/acf-core/co/aikar/commands/annotation/Syntax.html @@ -119,7 +119,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/UnknownHandler.html b/docs/acf-core/co/aikar/commands/annotation/UnknownHandler.html index af9150c2..fbfbea73 100644 --- a/docs/acf-core/co/aikar/commands/annotation/UnknownHandler.html +++ b/docs/acf-core/co/aikar/commands/annotation/UnknownHandler.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/Values.html b/docs/acf-core/co/aikar/commands/annotation/Values.html index ca314794..e19e974b 100644 --- a/docs/acf-core/co/aikar/commands/annotation/Values.html +++ b/docs/acf-core/co/aikar/commands/annotation/Values.html @@ -115,7 +115,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/CatchAll.html b/docs/acf-core/co/aikar/commands/annotation/class-use/CatchAll.html index 1a21f7ec..55309419 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/CatchAll.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/CatchAll.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.CatchAll

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/CatchUnknown.html b/docs/acf-core/co/aikar/commands/annotation/class-use/CatchUnknown.html index dcce54b9..8872a4c4 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/CatchUnknown.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/CatchUnknown.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.CatchUnknown

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/CommandAlias.html b/docs/acf-core/co/aikar/commands/annotation/class-use/CommandAlias.html index 5f4ef6d5..bde2464c 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/CommandAlias.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/CommandAlias.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.CommandAlias

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/CommandCompletion.html b/docs/acf-core/co/aikar/commands/annotation/class-use/CommandCompletion.html index 6779f73d..ea98e1cf 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/CommandCompletion.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/CommandCompletion.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.CommandCompletion

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/CommandPermission.html b/docs/acf-core/co/aikar/commands/annotation/class-use/CommandPermission.html index eb83824e..21c7bc82 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/CommandPermission.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/CommandPermission.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.CommandPermission

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Conditions.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Conditions.html index 69846435..517fded8 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Conditions.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Conditions.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Conditions

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Default.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Default.html index 5761c48d..f1860d43 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Default.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Default.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Default

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Dependency.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Dependency.html index fe6c0da8..f47a818e 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Dependency.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Dependency.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Dependency

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Description.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Description.html index 00bb18a7..b35f22fe 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Description.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Description.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Description

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Flags.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Flags.html index bd5b7f2c..a801360c 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Flags.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Flags.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Flags

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/HelpCommand.html b/docs/acf-core/co/aikar/commands/annotation/class-use/HelpCommand.html index 409e74d4..a8360ca9 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/HelpCommand.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/HelpCommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.HelpCommand

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/HelpSearchTags.html b/docs/acf-core/co/aikar/commands/annotation/class-use/HelpSearchTags.html index d6d602e6..280e0ec9 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/HelpSearchTags.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/HelpSearchTags.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.HelpSearchTags

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Name.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Name.html index a3ee5e98..1e961654 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Name.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Name.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Name

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Optional.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Optional.html index fd4c1659..ed6d7593 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Optional.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Optional.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Optional

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/PreCommand.html b/docs/acf-core/co/aikar/commands/annotation/class-use/PreCommand.html index 4282acfc..7d0c36c9 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/PreCommand.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/PreCommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.PreCommand

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Private.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Private.html index 1dd01326..d6261f7d 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Private.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Private.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Private

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Single.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Single.html index 506796c1..931d8529 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Single.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Single.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Single

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Split.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Split.html index 693aa05b..a7b375cd 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Split.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Split.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Split

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Subcommand.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Subcommand.html index 44daed6e..e8b524a2 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Subcommand.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Subcommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Subcommand

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Syntax.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Syntax.html index 3b213d57..be7dfdec 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Syntax.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Syntax.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Syntax

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/UnknownHandler.html b/docs/acf-core/co/aikar/commands/annotation/class-use/UnknownHandler.html index 9d9858d3..383921ff 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/UnknownHandler.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/UnknownHandler.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.UnknownHandler

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/class-use/Values.html b/docs/acf-core/co/aikar/commands/annotation/class-use/Values.html index b8208f77..f3265b76 100644 --- a/docs/acf-core/co/aikar/commands/annotation/class-use/Values.html +++ b/docs/acf-core/co/aikar/commands/annotation/class-use/Values.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Values

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/package-summary.html b/docs/acf-core/co/aikar/commands/annotation/package-summary.html index 87adcad7..1728e7fe 100644 --- a/docs/acf-core/co/aikar/commands/annotation/package-summary.html +++ b/docs/acf-core/co/aikar/commands/annotation/package-summary.html @@ -181,7 +181,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/package-tree.html b/docs/acf-core/co/aikar/commands/annotation/package-tree.html index d25256e3..cad61a9d 100644 --- a/docs/acf-core/co/aikar/commands/annotation/package-tree.html +++ b/docs/acf-core/co/aikar/commands/annotation/package-tree.html @@ -84,7 +84,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/annotation/package-use.html b/docs/acf-core/co/aikar/commands/annotation/package-use.html index a4f5b006..ae6ae7b5 100644 --- a/docs/acf-core/co/aikar/commands/annotation/package-use.html +++ b/docs/acf-core/co/aikar/commands/annotation/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.Nestable.html b/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.Nestable.html index 5f51d54b..72fceb2b 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.Nestable.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.Nestable.html @@ -396,7 +396,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.html b/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.html index bc50f234..d0f22beb 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.html @@ -743,7 +743,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsLangUtil.html b/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsLangUtil.html index 4d6dfaf1..cc450023 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsLangUtil.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsLangUtil.html @@ -1575,7 +1575,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.Nestable.html b/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.Nestable.html index 3a80fa21..14663cd2 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.Nestable.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.Nestable.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.apachecommonslang.ApacheCommonsExceptionUtil.Nestable

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.html b/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.html index 8e0761b8..b2d65d24 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.apachecommonslang.ApacheCommonsExceptionUtil

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsLangUtil.html b/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsLangUtil.html index fe053eab..b86f8ed8 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsLangUtil.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsLangUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.apachecommonslang.ApacheCommonsLangUtil

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/package-summary.html b/docs/acf-core/co/aikar/commands/apachecommonslang/package-summary.html index 0a7f521a..28ada6ca 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/package-summary.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/package-summary.html @@ -115,7 +115,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/package-tree.html b/docs/acf-core/co/aikar/commands/apachecommonslang/package-tree.html index 559d9f64..48eb4af1 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/package-tree.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/package-tree.html @@ -74,7 +74,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/apachecommonslang/package-use.html b/docs/acf-core/co/aikar/commands/apachecommonslang/package-use.html index 3b6cba8b..e4a129ac 100644 --- a/docs/acf-core/co/aikar/commands/apachecommonslang/package-use.html +++ b/docs/acf-core/co/aikar/commands/apachecommonslang/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.apachecommonslang

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/ACFUtil.html b/docs/acf-core/co/aikar/commands/class-use/ACFUtil.html index fa10db64..4bcecaab 100644 --- a/docs/acf-core/co/aikar/commands/class-use/ACFUtil.html +++ b/docs/acf-core/co/aikar/commands/class-use/ACFUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFUtil

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/AnnotationProcessor.html b/docs/acf-core/co/aikar/commands/class-use/AnnotationProcessor.html index eacf5399..0b8853c9 100644 --- a/docs/acf-core/co/aikar/commands/class-use/AnnotationProcessor.html +++ b/docs/acf-core/co/aikar/commands/class-use/AnnotationProcessor.html @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/BaseCommand.html b/docs/acf-core/co/aikar/commands/class-use/BaseCommand.html index 7477e390..7750e26c 100644 --- a/docs/acf-core/co/aikar/commands/class-use/BaseCommand.html +++ b/docs/acf-core/co/aikar/commands/class-use/BaseCommand.html @@ -167,7 +167,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandCompletionContext.html b/docs/acf-core/co/aikar/commands/class-use/CommandCompletionContext.html index 21914041..83fbc257 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandCompletionContext.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandCompletionContext.html @@ -97,7 +97,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.AsyncCommandCompletionHandler.html b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.AsyncCommandCompletionHandler.html index f0901730..a4b3de2a 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.AsyncCommandCompletionHandler.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.AsyncCommandCompletionHandler.html @@ -81,7 +81,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.CommandCompletionHandler.html b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.CommandCompletionHandler.html index c2c56403..aec2a008 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.CommandCompletionHandler.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.CommandCompletionHandler.html @@ -132,7 +132,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.SyncCompletionRequired.html b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.SyncCompletionRequired.html index 9ee62fdf..a0e691ae 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.SyncCompletionRequired.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.SyncCompletionRequired.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.CommandCompletions.SyncCompletionRequired

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.html b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.html index 99ce221f..31ba758b 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandCompletions.html @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandConditions.Condition.html b/docs/acf-core/co/aikar/commands/class-use/CommandConditions.Condition.html index 3b12296c..21f00de0 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandConditions.Condition.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandConditions.Condition.html @@ -89,7 +89,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandConditions.ParameterCondition.html b/docs/acf-core/co/aikar/commands/class-use/CommandConditions.ParameterCondition.html index 3badd5ea..d6592647 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandConditions.ParameterCondition.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandConditions.ParameterCondition.html @@ -91,7 +91,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandConditions.html b/docs/acf-core/co/aikar/commands/class-use/CommandConditions.html index 5f1adf50..cf4dd73f 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandConditions.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandConditions.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandContexts.html b/docs/acf-core/co/aikar/commands/class-use/CommandContexts.html index 65a24872..56316d6b 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandContexts.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandContexts.html @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandExecutionContext.html b/docs/acf-core/co/aikar/commands/class-use/CommandExecutionContext.html index 64d175b0..a3a732a2 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandExecutionContext.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandExecutionContext.html @@ -184,7 +184,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandHelp.html b/docs/acf-core/co/aikar/commands/class-use/CommandHelp.html index 08d38a3c..a12ab433 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandHelp.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandHelp.html @@ -195,7 +195,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandHelpFormatter.html b/docs/acf-core/co/aikar/commands/class-use/CommandHelpFormatter.html index a647f270..081eb6af 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandHelpFormatter.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandHelpFormatter.html @@ -104,7 +104,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandIssuer.html b/docs/acf-core/co/aikar/commands/class-use/CommandIssuer.html index 4ef52faa..cd9dc496 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandIssuer.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandIssuer.html @@ -426,7 +426,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandManager.html b/docs/acf-core/co/aikar/commands/class-use/CommandManager.html index 704b1144..37f0ea7a 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandManager.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandManager.html @@ -127,7 +127,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandOperationContext.html b/docs/acf-core/co/aikar/commands/class-use/CommandOperationContext.html index 7b214bfc..26aacc6b 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandOperationContext.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandOperationContext.html @@ -120,7 +120,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandParameter.html b/docs/acf-core/co/aikar/commands/class-use/CommandParameter.html index 07af454f..af5aff4a 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandParameter.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandParameter.html @@ -111,7 +111,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/CommandReplacements.html b/docs/acf-core/co/aikar/commands/class-use/CommandReplacements.html index 1eb60d58..690ec435 100644 --- a/docs/acf-core/co/aikar/commands/class-use/CommandReplacements.html +++ b/docs/acf-core/co/aikar/commands/class-use/CommandReplacements.html @@ -90,7 +90,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/ConditionContext.html b/docs/acf-core/co/aikar/commands/class-use/ConditionContext.html index fcd81e2c..9990c865 100644 --- a/docs/acf-core/co/aikar/commands/class-use/ConditionContext.html +++ b/docs/acf-core/co/aikar/commands/class-use/ConditionContext.html @@ -105,7 +105,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/ConditionFailedException.html b/docs/acf-core/co/aikar/commands/class-use/ConditionFailedException.html index 193a3aad..2582557a 100644 --- a/docs/acf-core/co/aikar/commands/class-use/ConditionFailedException.html +++ b/docs/acf-core/co/aikar/commands/class-use/ConditionFailedException.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ConditionFailedException

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/ExceptionHandler.html b/docs/acf-core/co/aikar/commands/class-use/ExceptionHandler.html index 2e0afce8..9c922ca6 100644 --- a/docs/acf-core/co/aikar/commands/class-use/ExceptionHandler.html +++ b/docs/acf-core/co/aikar/commands/class-use/ExceptionHandler.html @@ -112,7 +112,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/ForwardingCommand.html b/docs/acf-core/co/aikar/commands/class-use/ForwardingCommand.html index cb09f4d1..19813f1e 100644 --- a/docs/acf-core/co/aikar/commands/class-use/ForwardingCommand.html +++ b/docs/acf-core/co/aikar/commands/class-use/ForwardingCommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ForwardingCommand

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/HelpEntry.html b/docs/acf-core/co/aikar/commands/class-use/HelpEntry.html index 91e80f7c..38db1ed9 100644 --- a/docs/acf-core/co/aikar/commands/class-use/HelpEntry.html +++ b/docs/acf-core/co/aikar/commands/class-use/HelpEntry.html @@ -152,7 +152,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/InvalidCommandArgument.html b/docs/acf-core/co/aikar/commands/class-use/InvalidCommandArgument.html index 32735c22..06f7351c 100644 --- a/docs/acf-core/co/aikar/commands/class-use/InvalidCommandArgument.html +++ b/docs/acf-core/co/aikar/commands/class-use/InvalidCommandArgument.html @@ -127,7 +127,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/InvalidCommandContextException.html b/docs/acf-core/co/aikar/commands/class-use/InvalidCommandContextException.html index 8981ba25..cf00c33c 100644 --- a/docs/acf-core/co/aikar/commands/class-use/InvalidCommandContextException.html +++ b/docs/acf-core/co/aikar/commands/class-use/InvalidCommandContextException.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.InvalidCommandContextException

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/IssuerLocaleChangedCallback.html b/docs/acf-core/co/aikar/commands/class-use/IssuerLocaleChangedCallback.html index 36f4039c..313626e3 100644 --- a/docs/acf-core/co/aikar/commands/class-use/IssuerLocaleChangedCallback.html +++ b/docs/acf-core/co/aikar/commands/class-use/IssuerLocaleChangedCallback.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/Locales.html b/docs/acf-core/co/aikar/commands/class-use/Locales.html index 93a1d576..65a6a501 100644 --- a/docs/acf-core/co/aikar/commands/class-use/Locales.html +++ b/docs/acf-core/co/aikar/commands/class-use/Locales.html @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/MessageFormatter.html b/docs/acf-core/co/aikar/commands/class-use/MessageFormatter.html index 4e25cfd6..a624d150 100644 --- a/docs/acf-core/co/aikar/commands/class-use/MessageFormatter.html +++ b/docs/acf-core/co/aikar/commands/class-use/MessageFormatter.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/MessageKeys.html b/docs/acf-core/co/aikar/commands/class-use/MessageKeys.html index 8e1cd6ee..4445e034 100644 --- a/docs/acf-core/co/aikar/commands/class-use/MessageKeys.html +++ b/docs/acf-core/co/aikar/commands/class-use/MessageKeys.html @@ -86,7 +86,7 @@ the order they are declared.

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/MessageType.html b/docs/acf-core/co/aikar/commands/class-use/MessageType.html index 4e4df93a..bfd020de 100644 --- a/docs/acf-core/co/aikar/commands/class-use/MessageType.html +++ b/docs/acf-core/co/aikar/commands/class-use/MessageType.html @@ -146,7 +146,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/RegisteredCommand.html b/docs/acf-core/co/aikar/commands/class-use/RegisteredCommand.html index bd574a20..4d20d938 100644 --- a/docs/acf-core/co/aikar/commands/class-use/RegisteredCommand.html +++ b/docs/acf-core/co/aikar/commands/class-use/RegisteredCommand.html @@ -202,7 +202,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/RootCommand.html b/docs/acf-core/co/aikar/commands/class-use/RootCommand.html index ce453a86..5502a64a 100644 --- a/docs/acf-core/co/aikar/commands/class-use/RootCommand.html +++ b/docs/acf-core/co/aikar/commands/class-use/RootCommand.html @@ -133,7 +133,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/ShowCommandHelp.html b/docs/acf-core/co/aikar/commands/class-use/ShowCommandHelp.html index 1cb85d89..c4ff6081 100644 --- a/docs/acf-core/co/aikar/commands/class-use/ShowCommandHelp.html +++ b/docs/acf-core/co/aikar/commands/class-use/ShowCommandHelp.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ShowCommandHelp

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/UnresolvedDependencyException.html b/docs/acf-core/co/aikar/commands/class-use/UnresolvedDependencyException.html index 50a4c18a..c5e11a04 100644 --- a/docs/acf-core/co/aikar/commands/class-use/UnresolvedDependencyException.html +++ b/docs/acf-core/co/aikar/commands/class-use/UnresolvedDependencyException.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.UnresolvedDependencyException

    - +
    diff --git a/docs/acf-core/co/aikar/commands/class-use/UnstableAPI.html b/docs/acf-core/co/aikar/commands/class-use/UnstableAPI.html index a9c507f8..d06fa9d2 100644 --- a/docs/acf-core/co/aikar/commands/class-use/UnstableAPI.html +++ b/docs/acf-core/co/aikar/commands/class-use/UnstableAPI.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/ContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/ContextResolver.html index 9c54378c..a5fcb9d0 100644 --- a/docs/acf-core/co/aikar/commands/contexts/ContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/ContextResolver.html @@ -147,7 +147,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/IssuerAwareContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/IssuerAwareContextResolver.html index 387fef54..9dd1fe96 100644 --- a/docs/acf-core/co/aikar/commands/contexts/IssuerAwareContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/IssuerAwareContextResolver.html @@ -97,7 +97,7 @@ extends

    - + diff --git a/docs/acf-core/co/aikar/commands/contexts/IssuerOnlyContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/IssuerOnlyContextResolver.html index d95c2041..f798b070 100644 --- a/docs/acf-core/co/aikar/commands/contexts/IssuerOnlyContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/IssuerOnlyContextResolver.html @@ -99,7 +99,7 @@ extends

    - + diff --git a/docs/acf-core/co/aikar/commands/contexts/OptionalContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/OptionalContextResolver.html index 4f762a8b..c25f4314 100644 --- a/docs/acf-core/co/aikar/commands/contexts/OptionalContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/OptionalContextResolver.html @@ -101,7 +101,7 @@ extends

    - + diff --git a/docs/acf-core/co/aikar/commands/contexts/SenderAwareContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/SenderAwareContextResolver.html index 67b20129..75620fd9 100644 --- a/docs/acf-core/co/aikar/commands/contexts/SenderAwareContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/SenderAwareContextResolver.html @@ -106,7 +106,7 @@ extends

    - + diff --git a/docs/acf-core/co/aikar/commands/contexts/class-use/ContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/class-use/ContextResolver.html index a55a818a..df7b24f0 100644 --- a/docs/acf-core/co/aikar/commands/contexts/class-use/ContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/class-use/ContextResolver.html @@ -138,7 +138,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerAwareContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerAwareContextResolver.html index c46330f1..ed7110a3 100644 --- a/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerAwareContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerAwareContextResolver.html @@ -111,7 +111,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerOnlyContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerOnlyContextResolver.html index 45c516c4..653b07cc 100644 --- a/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerOnlyContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/class-use/IssuerOnlyContextResolver.html @@ -81,7 +81,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/class-use/OptionalContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/class-use/OptionalContextResolver.html index f823de8a..43c0b59c 100644 --- a/docs/acf-core/co/aikar/commands/contexts/class-use/OptionalContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/class-use/OptionalContextResolver.html @@ -81,7 +81,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/class-use/SenderAwareContextResolver.html b/docs/acf-core/co/aikar/commands/contexts/class-use/SenderAwareContextResolver.html index c3d8cb4e..0a7a540d 100644 --- a/docs/acf-core/co/aikar/commands/contexts/class-use/SenderAwareContextResolver.html +++ b/docs/acf-core/co/aikar/commands/contexts/class-use/SenderAwareContextResolver.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts.SenderAwareContextResolver

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/package-summary.html b/docs/acf-core/co/aikar/commands/contexts/package-summary.html index fd04c8d6..1bcf8974 100644 --- a/docs/acf-core/co/aikar/commands/contexts/package-summary.html +++ b/docs/acf-core/co/aikar/commands/contexts/package-summary.html @@ -111,7 +111,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/package-tree.html b/docs/acf-core/co/aikar/commands/contexts/package-tree.html index 2bfef8a6..64683a88 100644 --- a/docs/acf-core/co/aikar/commands/contexts/package-tree.html +++ b/docs/acf-core/co/aikar/commands/contexts/package-tree.html @@ -73,7 +73,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/contexts/package-use.html b/docs/acf-core/co/aikar/commands/contexts/package-use.html index 60669f87..bda5efbf 100644 --- a/docs/acf-core/co/aikar/commands/contexts/package-use.html +++ b/docs/acf-core/co/aikar/commands/contexts/package-use.html @@ -104,7 +104,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/package-summary.html b/docs/acf-core/co/aikar/commands/package-summary.html index 59cafe99..ca495790 100644 --- a/docs/acf-core/co/aikar/commands/package-summary.html +++ b/docs/acf-core/co/aikar/commands/package-summary.html @@ -188,7 +188,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/package-tree.html b/docs/acf-core/co/aikar/commands/package-tree.html index 0d2be131..bd9b55f2 100644 --- a/docs/acf-core/co/aikar/commands/package-tree.html +++ b/docs/acf-core/co/aikar/commands/package-tree.html @@ -147,7 +147,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/package-use.html b/docs/acf-core/co/aikar/commands/package-use.html index c0c694a0..68cc790a 100644 --- a/docs/acf-core/co/aikar/commands/package-use.html +++ b/docs/acf-core/co/aikar/commands/package-use.html @@ -183,7 +183,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/processors/ConditionsProcessor.html b/docs/acf-core/co/aikar/commands/processors/ConditionsProcessor.html index dd46caec..dc5d0a96 100644 --- a/docs/acf-core/co/aikar/commands/processors/ConditionsProcessor.html +++ b/docs/acf-core/co/aikar/commands/processors/ConditionsProcessor.html @@ -192,7 +192,7 @@ implements

    - + diff --git a/docs/acf-core/co/aikar/commands/processors/class-use/ConditionsProcessor.html b/docs/acf-core/co/aikar/commands/processors/class-use/ConditionsProcessor.html index 59bbe376..32830e8e 100644 --- a/docs/acf-core/co/aikar/commands/processors/class-use/ConditionsProcessor.html +++ b/docs/acf-core/co/aikar/commands/processors/class-use/ConditionsProcessor.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.processors.ConditionsProcessor

    - +
    diff --git a/docs/acf-core/co/aikar/commands/processors/package-summary.html b/docs/acf-core/co/aikar/commands/processors/package-summary.html index ba3a7d3b..8b79629c 100644 --- a/docs/acf-core/co/aikar/commands/processors/package-summary.html +++ b/docs/acf-core/co/aikar/commands/processors/package-summary.html @@ -95,7 +95,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/processors/package-tree.html b/docs/acf-core/co/aikar/commands/processors/package-tree.html index fba24b0d..7909a951 100644 --- a/docs/acf-core/co/aikar/commands/processors/package-tree.html +++ b/docs/acf-core/co/aikar/commands/processors/package-tree.html @@ -67,7 +67,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/co/aikar/commands/processors/package-use.html b/docs/acf-core/co/aikar/commands/processors/package-use.html index d61fd26c..4da1a9ab 100644 --- a/docs/acf-core/co/aikar/commands/processors/package-use.html +++ b/docs/acf-core/co/aikar/commands/processors/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.processors

    - +
    diff --git a/docs/acf-core/constant-values.html b/docs/acf-core/constant-values.html index 792b3897..762a242a 100644 --- a/docs/acf-core/constant-values.html +++ b/docs/acf-core/constant-values.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/deprecated-list.html b/docs/acf-core/deprecated-list.html index 6e4da380..58ad95dc 100644 --- a/docs/acf-core/deprecated-list.html +++ b/docs/acf-core/deprecated-list.html @@ -210,7 +210,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/index-all.html b/docs/acf-core/index-all.html index d653eb31..93746157 100644 --- a/docs/acf-core/index-all.html +++ b/docs/acf-core/index-all.html @@ -1982,7 +1982,7 @@ the order they are declared.
    A B C D E F G H I J K L M N O P R S T U V W 
    All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

    - +
    diff --git a/docs/acf-core/index.html b/docs/acf-core/index.html index 086d2bda..68b74bf3 100644 --- a/docs/acf-core/index.html +++ b/docs/acf-core/index.html @@ -70,7 +70,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/overview-tree.html b/docs/acf-core/overview-tree.html index 76ac383b..92efb425 100644 --- a/docs/acf-core/overview-tree.html +++ b/docs/acf-core/overview-tree.html @@ -188,7 +188,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/serialized-form.html b/docs/acf-core/serialized-form.html index 8e4c3f7a..84a77684 100644 --- a/docs/acf-core/serialized-form.html +++ b/docs/acf-core/serialized-form.html @@ -136,7 +136,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-core/src-html/co/aikar/commands/BaseCommand.html b/docs/acf-core/src-html/co/aikar/commands/BaseCommand.html index ed495112..e5bee790 100644 --- a/docs/acf-core/src-html/co/aikar/commands/BaseCommand.html +++ b/docs/acf-core/src-html/co/aikar/commands/BaseCommand.html @@ -166,7 +166,7 @@ 153 */ 154 private ExceptionHandler exceptionHandler = null; 155 /** -156 * The last operative context data of this command. This may be null if this command hasn't been run yet. +156 * The last operative context data of this command. This may be null if this command is not currently being executed. 157 */ 158 private final ThreadLocal<CommandOperationContext> lastCommandOperationContext = new ThreadLocal<>(); 159 /** @@ -534,125 +534,125 @@ 521 */ 522 private void postCommandOperation() { 523 CommandManager.commandOperationContext.get().pop(); -524 execSubcommand = null; -525 execLabel = null; -526 origArgs = new String[]{}; -527 } -528 -529 /** -530 * This is ran before any command operation has been performed. -531 * -532 * @param issuer The user who executed the command. -533 * @param commandLabel The label the user used to execute the command. This is not the command name, but their input. -534 * When there is multiple aliases, this is which alias was used -535 * @param args The arguments passed to the command when executing it. -536 * @param isAsync Whether the command is executed off of the main thread. -537 * @return The context which is being registered to the {@link CommandManager}'s {@link -538 * CommandManager#commandOperationContext thread local stack}. -539 */ -540 private CommandOperationContext preCommandOperation(CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) { -541 Stack<CommandOperationContext> contexts = CommandManager.commandOperationContext.get(); -542 CommandOperationContext context = this.manager.createCommandOperationContext(this, issuer, commandLabel, args, isAsync); -543 contexts.push(context); -544 lastCommandOperationContext.set(context); -545 execSubcommand = null; -546 execLabel = commandLabel; -547 origArgs = args; -548 return context; -549 } -550 -551 /** -552 * Gets the current command issuer. -553 * -554 * @return The current command issuer. -555 */ -556 public CommandIssuer getCurrentCommandIssuer() { -557 return CommandManager.getCurrentCommandIssuer(); -558 } -559 -560 /** -561 * Gets the current command manager. -562 * -563 * @return The current command manager. -564 */ -565 public CommandManager getCurrentCommandManager() { -566 return CommandManager.getCurrentCommandManager(); -567 } -568 -569 private void executeCommand(CommandOperationContext commandOperationContext, -570 CommandIssuer issuer, String[] args, RegisteredCommand cmd) { -571 if (cmd.hasPermission(issuer)) { -572 commandOperationContext.setRegisteredCommand(cmd); -573 if (checkPrecommand(commandOperationContext, cmd, issuer, args)) { -574 return; -575 } -576 List<String> sargs = Arrays.asList(args); -577 cmd.invoke(issuer, sargs, commandOperationContext); -578 } else { -579 issuer.sendMessage(MessageType.ERROR, MessageKeys.PERMISSION_DENIED); -580 } -581 } -582 -583 /** -584 * Please use command conditions for restricting execution -585 * -586 * @param issuer -587 * @param cmd -588 * @return -589 * @deprecated See {@link CommandConditions} -590 */ -591 @SuppressWarnings("DeprecatedIsStillUsed") -592 @Deprecated -593 public boolean canExecute(CommandIssuer issuer, RegisteredCommand<?> cmd) { -594 return true; -595 } -596 -597 /** -598 * Gets tab completed data from the given command from the user. -599 * -600 * @param issuer The user who executed the tabcomplete. -601 * @param commandLabel The label which is being used by the user. -602 * @param args The arguments the user has typed so far. -603 * @return All possibilities in the tab complete. -604 */ -605 public List<String> tabComplete(CommandIssuer issuer, String commandLabel, String[] args) { -606 return tabComplete(issuer, commandLabel, args, false); -607 } -608 -609 /** -610 * Gets the tab complete suggestions from a given command. This will automatically find anything -611 * which is valid for the specified command through the command's implementation. -612 * -613 * @param issuer The issuer of the command. -614 * @param commandLabel The command name as entered by the user instead of the ACF registered name. -615 * @param args All arguments entered by the user. -616 * @param isAsync Whether this is run off of the main thread. -617 * @return The possibilities to tab complete in no particular order. -618 */ -619 @SuppressWarnings("WeakerAccess") -620 public List<String> tabComplete(CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) -621 throws IllegalArgumentException { -622 return tabComplete(issuer, manager.getRootCommand(commandLabel.toLowerCase(Locale.ENGLISH)), args, isAsync); -623 } -624 -625 List<String> tabComplete(CommandIssuer issuer, RootCommand rootCommand, String[] args, boolean isAsync) -626 throws IllegalArgumentException { -627 if (args.length == 0) { -628 args = new String[]{""}; -629 } -630 String commandLabel = rootCommand.getCommandName(); -631 try { -632 CommandRouter router = manager.getRouter(); -633 -634 preCommandOperation(issuer, commandLabel, args, isAsync); -635 -636 final RouteSearch search = router.routeCommand(rootCommand, commandLabel, args, true); -637 -638 final List<String> cmds = new ArrayList<>(); -639 if (search != null) { -640 CommandRouter.CommandRouteResult result = router.matchCommand(search, true); -641 if (result != null) { -642 cmds.addAll(completeCommand(issuer, result.cmd, result.args, commandLabel, isAsync)); +524 lastCommandOperationContext.set(null); +525 execSubcommand = null; +526 execLabel = null; +527 origArgs = new String[]{}; +528 } +529 +530 /** +531 * This is ran before any command operation has been performed. +532 * +533 * @param issuer The user who executed the command. +534 * @param commandLabel The label the user used to execute the command. This is not the command name, but their input. +535 * When there is multiple aliases, this is which alias was used +536 * @param args The arguments passed to the command when executing it. +537 * @param isAsync Whether the command is executed off of the main thread. +538 * @return The context which is being registered to the {@link CommandManager}'s {@link +539 * CommandManager#commandOperationContext thread local stack}. +540 */ +541 private CommandOperationContext preCommandOperation(CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) { +542 Stack<CommandOperationContext> contexts = CommandManager.commandOperationContext.get(); +543 CommandOperationContext context = this.manager.createCommandOperationContext(this, issuer, commandLabel, args, isAsync); +544 contexts.push(context); +545 lastCommandOperationContext.set(context); +546 execSubcommand = null; +547 execLabel = commandLabel; +548 origArgs = args; +549 return context; +550 } +551 +552 /** +553 * Gets the current command issuer. +554 * +555 * @return The current command issuer. +556 */ +557 public CommandIssuer getCurrentCommandIssuer() { +558 return CommandManager.getCurrentCommandIssuer(); +559 } +560 +561 /** +562 * Gets the current command manager. +563 * +564 * @return The current command manager. +565 */ +566 public CommandManager getCurrentCommandManager() { +567 return CommandManager.getCurrentCommandManager(); +568 } +569 +570 private void executeCommand(CommandOperationContext commandOperationContext, +571 CommandIssuer issuer, String[] args, RegisteredCommand cmd) { +572 if (cmd.hasPermission(issuer)) { +573 commandOperationContext.setRegisteredCommand(cmd); +574 if (checkPrecommand(commandOperationContext, cmd, issuer, args)) { +575 return; +576 } +577 List<String> sargs = Arrays.asList(args); +578 cmd.invoke(issuer, sargs, commandOperationContext); +579 } else { +580 issuer.sendMessage(MessageType.ERROR, MessageKeys.PERMISSION_DENIED); +581 } +582 } +583 +584 /** +585 * Please use command conditions for restricting execution +586 * +587 * @param issuer +588 * @param cmd +589 * @return +590 * @deprecated See {@link CommandConditions} +591 */ +592 @SuppressWarnings("DeprecatedIsStillUsed") +593 @Deprecated +594 public boolean canExecute(CommandIssuer issuer, RegisteredCommand<?> cmd) { +595 return true; +596 } +597 +598 /** +599 * Gets tab completed data from the given command from the user. +600 * +601 * @param issuer The user who executed the tabcomplete. +602 * @param commandLabel The label which is being used by the user. +603 * @param args The arguments the user has typed so far. +604 * @return All possibilities in the tab complete. +605 */ +606 public List<String> tabComplete(CommandIssuer issuer, String commandLabel, String[] args) { +607 return tabComplete(issuer, commandLabel, args, false); +608 } +609 +610 /** +611 * Gets the tab complete suggestions from a given command. This will automatically find anything +612 * which is valid for the specified command through the command's implementation. +613 * +614 * @param issuer The issuer of the command. +615 * @param commandLabel The command name as entered by the user instead of the ACF registered name. +616 * @param args All arguments entered by the user. +617 * @param isAsync Whether this is run off of the main thread. +618 * @return The possibilities to tab complete in no particular order. +619 */ +620 @SuppressWarnings("WeakerAccess") +621 public List<String> tabComplete(CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) +622 throws IllegalArgumentException { +623 return tabComplete(issuer, manager.getRootCommand(commandLabel.toLowerCase(Locale.ENGLISH)), args, isAsync); +624 } +625 +626 List<String> tabComplete(CommandIssuer issuer, RootCommand rootCommand, String[] args, boolean isAsync) +627 throws IllegalArgumentException { +628 if (args.length == 0) { +629 args = new String[]{""}; +630 } +631 String commandLabel = rootCommand.getCommandName(); +632 try { +633 CommandRouter router = manager.getRouter(); +634 +635 preCommandOperation(issuer, commandLabel, args, isAsync); +636 +637 final RouteSearch search = router.routeCommand(rootCommand, commandLabel, args, true); +638 +639 final List<String> cmds = new ArrayList<>(); +640 if (search != null) { +641 for (RegisteredCommand<?> command : search.commands) { +642 cmds.addAll(completeCommand(issuer, command, search.args, commandLabel, isAsync)); 643 } 644 } 645 diff --git a/docs/acf-core/src-html/co/aikar/commands/CommandManager.html b/docs/acf-core/src-html/co/aikar/commands/CommandManager.html index 1441d338..ece84cce 100644 --- a/docs/acf-core/src-html/co/aikar/commands/CommandManager.html +++ b/docs/acf-core/src-html/co/aikar/commands/CommandManager.html @@ -89,7 +89,7 @@ 076 077 protected boolean usePerIssuerLocale = false; 078 protected List<IssuerLocaleChangedCallback<I>> localeChangedCallbacks = new ArrayList<>(); -079 protected Set<Locale> supportedLanguages = new HashSet<>(Arrays.asList(Locales.ENGLISH, Locales.DUTCH, Locales.GERMAN, Locales.SPANISH, Locales.FRENCH, Locales.CZECH, Locales.PORTUGUESE, Locales.SWEDISH, Locales.NORWEGIAN_BOKMAAL, Locales.NORWEGIAN_NYNORSK, Locales.RUSSIAN, Locales.BULGARIAN, Locales.HUNGARIAN, Locales.TURKISH, Locales.JAPANESE, Locales.CHINESE, Locales.SIMPLIFIED_CHINESE, Locales.TRADITIONAL_CHINESE)); +079 protected Set<Locale> supportedLanguages = new HashSet<>(Arrays.asList(Locales.ENGLISH, Locales.DUTCH, Locales.GERMAN, Locales.SPANISH, Locales.FRENCH, Locales.CZECH, Locales.PORTUGUESE, Locales.SWEDISH, Locales.NORWEGIAN_BOKMAAL, Locales.NORWEGIAN_NYNORSK, Locales.RUSSIAN, Locales.BULGARIAN, Locales.HUNGARIAN, Locales.TURKISH, Locales.JAPANESE, Locales.CHINESE, Locales.SIMPLIFIED_CHINESE, Locales.TRADITIONAL_CHINESE, Locales.KOREAN)); 080 protected Map<MessageType, MF> formatters = new IdentityHashMap<>(); 081 protected MF defaultFormatter; 082 protected int defaultHelpPerPage = 10; diff --git a/docs/acf-core/src-html/co/aikar/commands/CommandParameter.html b/docs/acf-core/src-html/co/aikar/commands/CommandParameter.html index 8bbade86..724119dc 100644 --- a/docs/acf-core/src-html/co/aikar/commands/CommandParameter.html +++ b/docs/acf-core/src-html/co/aikar/commands/CommandParameter.html @@ -114,7 +114,7 @@ 101 //noinspection unchecked 102 this.commandIssuer = paramIndex == 0 && manager.isCommandIssuer(type); 103 this.canConsumeInput = !this.commandIssuer && !(resolver instanceof IssuerOnlyContextResolver); -104 this.consumesRest = (type == String.class && !annotations.hasAnnotation(param, Single.class)) || (isLast && type == String[].class); +104 this.consumesRest = isLast && ((type == String.class && !annotations.hasAnnotation(param, Single.class)) || (type == String[].class)); 105 106 this.values = annotations.getAnnotationValues(param, Values.class, Annotations.REPLACEMENTS | Annotations.NO_EMPTY); 107 diff --git a/docs/acf-core/src-html/co/aikar/commands/RegisteredCommand.html b/docs/acf-core/src-html/co/aikar/commands/RegisteredCommand.html index c861eb13..abbfeeb2 100644 --- a/docs/acf-core/src-html/co/aikar/commands/RegisteredCommand.html +++ b/docs/acf-core/src-html/co/aikar/commands/RegisteredCommand.html @@ -106,7 +106,7 @@ 093 this.prefSubCommand = prefSubCommand; 094 095 this.permission = annotations.getAnnotationValue(method, CommandPermission.class, Annotations.REPLACEMENTS | Annotations.NO_EMPTY); -096 this.complete = annotations.getAnnotationValue(method, CommandCompletion.class, Annotations.DEFAULT_EMPTY); // no replacements as it should be per-issuer +096 this.complete = annotations.getAnnotationValue(method, CommandCompletion.class, Annotations.REPLACEMENTS | Annotations.DEFAULT_EMPTY); 097 this.helpText = annotations.getAnnotationValue(method, Description.class, Annotations.REPLACEMENTS | Annotations.DEFAULT_EMPTY); 098 this.conditions = annotations.getAnnotationValue(method, Conditions.class, Annotations.REPLACEMENTS | Annotations.NO_EMPTY); 099 this.helpSearchTags = annotations.getAnnotationValue(method, HelpSearchTags.class, Annotations.REPLACEMENTS | Annotations.NO_EMPTY); diff --git a/docs/acf-jda/allclasses-index.html b/docs/acf-jda/allclasses-index.html index 1af5d3e8..73da1e54 100644 --- a/docs/acf-jda/allclasses-index.html +++ b/docs/acf-jda/allclasses-index.html @@ -111,7 +111,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/allpackages-index.html b/docs/acf-jda/allpackages-index.html index 4dc9daaa..18686c5f 100644 --- a/docs/acf-jda/allpackages-index.html +++ b/docs/acf-jda/allpackages-index.html @@ -61,7 +61,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/CommandConfig.html b/docs/acf-jda/co/aikar/commands/CommandConfig.html index 1211eddf..675f560d 100644 --- a/docs/acf-jda/co/aikar/commands/CommandConfig.html +++ b/docs/acf-jda/co/aikar/commands/CommandConfig.html @@ -142,7 +142,7 @@ extends
    - + diff --git a/docs/acf-jda/co/aikar/commands/CommandConfigProvider.html b/docs/acf-jda/co/aikar/commands/CommandConfigProvider.html index 0f9f1bef..c5bf775f 100644 --- a/docs/acf-jda/co/aikar/commands/CommandConfigProvider.html +++ b/docs/acf-jda/co/aikar/commands/CommandConfigProvider.html @@ -127,7 +127,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/CommandPermissionResolver.html b/docs/acf-jda/co/aikar/commands/CommandPermissionResolver.html index 9ccb3562..617b2245 100644 --- a/docs/acf-jda/co/aikar/commands/CommandPermissionResolver.html +++ b/docs/acf-jda/co/aikar/commands/CommandPermissionResolver.html @@ -127,7 +127,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandCompletions.html b/docs/acf-jda/co/aikar/commands/JDACommandCompletions.html index 794f0f42..60d79e52 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandCompletions.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandCompletions.html @@ -188,7 +188,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandConfig.html b/docs/acf-jda/co/aikar/commands/JDACommandConfig.html index b093dd7c..26d28aa1 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandConfig.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandConfig.html @@ -196,7 +196,7 @@ implements
    C

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandContexts.html b/docs/acf-jda/co/aikar/commands/JDACommandContexts.html index 0af454d1..fb9bf09d 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandContexts.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandContexts.html @@ -136,7 +136,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandEvent.html b/docs/acf-jda/co/aikar/commands/JDACommandEvent.html index edb01072..297672db 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandEvent.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandEvent.html @@ -260,7 +260,7 @@ implements co.aikar.commands.CommandIssuer

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandExecutionContext.html b/docs/acf-jda/co/aikar/commands/JDACommandExecutionContext.html index 8a50ce3a..61f0abe4 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandExecutionContext.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandExecutionContext.html @@ -105,7 +105,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandManager.html b/docs/acf-jda/co/aikar/commands/JDACommandManager.html index 35182f73..57d23400 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandManager.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandManager.html @@ -518,7 +518,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDACommandPermissionResolver.html b/docs/acf-jda/co/aikar/commands/JDACommandPermissionResolver.html index d7e9fcd8..be058cab 100644 --- a/docs/acf-jda/co/aikar/commands/JDACommandPermissionResolver.html +++ b/docs/acf-jda/co/aikar/commands/JDACommandPermissionResolver.html @@ -166,7 +166,7 @@ implements

    - + diff --git a/docs/acf-jda/co/aikar/commands/JDAConditionContext.html b/docs/acf-jda/co/aikar/commands/JDAConditionContext.html index 4a64005e..ed5054cf 100644 --- a/docs/acf-jda/co/aikar/commands/JDAConditionContext.html +++ b/docs/acf-jda/co/aikar/commands/JDAConditionContext.html @@ -96,7 +96,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDAListener.html b/docs/acf-jda/co/aikar/commands/JDAListener.html index 60859262..b9b958b0 100644 --- a/docs/acf-jda/co/aikar/commands/JDAListener.html +++ b/docs/acf-jda/co/aikar/commands/JDAListener.html @@ -152,7 +152,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDALocales.html b/docs/acf-jda/co/aikar/commands/JDALocales.html index 41bcd5fa..319b1acb 100644 --- a/docs/acf-jda/co/aikar/commands/JDALocales.html +++ b/docs/acf-jda/co/aikar/commands/JDALocales.html @@ -136,7 +136,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDAMessageFormatter.html b/docs/acf-jda/co/aikar/commands/JDAMessageFormatter.html index d47290ad..05d648b2 100644 --- a/docs/acf-jda/co/aikar/commands/JDAMessageFormatter.html +++ b/docs/acf-jda/co/aikar/commands/JDAMessageFormatter.html @@ -127,7 +127,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDAOptions.html b/docs/acf-jda/co/aikar/commands/JDAOptions.html index dc257ab7..8f22823e 100644 --- a/docs/acf-jda/co/aikar/commands/JDAOptions.html +++ b/docs/acf-jda/co/aikar/commands/JDAOptions.html @@ -183,7 +183,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/JDARootCommand.html b/docs/acf-jda/co/aikar/commands/JDARootCommand.html index 855aa2cd..737d593f 100644 --- a/docs/acf-jda/co/aikar/commands/JDARootCommand.html +++ b/docs/acf-jda/co/aikar/commands/JDARootCommand.html @@ -203,7 +203,7 @@ implements co.aikar.commands.RootCommand

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/Author.html b/docs/acf-jda/co/aikar/commands/annotation/Author.html index d1da37c9..1bee14a6 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/Author.html +++ b/docs/acf-jda/co/aikar/commands/annotation/Author.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/CrossGuild.html b/docs/acf-jda/co/aikar/commands/annotation/CrossGuild.html index 10be89b8..b1662451 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/CrossGuild.html +++ b/docs/acf-jda/co/aikar/commands/annotation/CrossGuild.html @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/SelfUser.html b/docs/acf-jda/co/aikar/commands/annotation/SelfUser.html index d25097e4..1987f815 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/SelfUser.html +++ b/docs/acf-jda/co/aikar/commands/annotation/SelfUser.html @@ -76,7 +76,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/class-use/Author.html b/docs/acf-jda/co/aikar/commands/annotation/class-use/Author.html index 7f77eb15..381adc55 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/class-use/Author.html +++ b/docs/acf-jda/co/aikar/commands/annotation/class-use/Author.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.Author

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/class-use/CrossGuild.html b/docs/acf-jda/co/aikar/commands/annotation/class-use/CrossGuild.html index e961f463..daecf574 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/class-use/CrossGuild.html +++ b/docs/acf-jda/co/aikar/commands/annotation/class-use/CrossGuild.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.CrossGuild

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/class-use/SelfUser.html b/docs/acf-jda/co/aikar/commands/annotation/class-use/SelfUser.html index 692b9bfb..108f57bb 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/class-use/SelfUser.html +++ b/docs/acf-jda/co/aikar/commands/annotation/class-use/SelfUser.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation.SelfUser

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/package-summary.html b/docs/acf-jda/co/aikar/commands/annotation/package-summary.html index a8233ef0..2cf28447 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/package-summary.html +++ b/docs/acf-jda/co/aikar/commands/annotation/package-summary.html @@ -100,7 +100,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/package-tree.html b/docs/acf-jda/co/aikar/commands/annotation/package-tree.html index 7060268c..450b84cd 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/package-tree.html +++ b/docs/acf-jda/co/aikar/commands/annotation/package-tree.html @@ -64,7 +64,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/annotation/package-use.html b/docs/acf-jda/co/aikar/commands/annotation/package-use.html index a1c111ad..fd970ef4 100644 --- a/docs/acf-jda/co/aikar/commands/annotation/package-use.html +++ b/docs/acf-jda/co/aikar/commands/annotation/package-use.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.annotation

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/CommandConfig.html b/docs/acf-jda/co/aikar/commands/class-use/CommandConfig.html index 73f16953..5da62973 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/CommandConfig.html +++ b/docs/acf-jda/co/aikar/commands/class-use/CommandConfig.html @@ -104,7 +104,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/CommandConfigProvider.html b/docs/acf-jda/co/aikar/commands/class-use/CommandConfigProvider.html index 1ec45e78..6a3b95bd 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/CommandConfigProvider.html +++ b/docs/acf-jda/co/aikar/commands/class-use/CommandConfigProvider.html @@ -107,7 +107,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/CommandPermissionResolver.html b/docs/acf-jda/co/aikar/commands/class-use/CommandPermissionResolver.html index 7fdb7dae..af89209d 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/CommandPermissionResolver.html +++ b/docs/acf-jda/co/aikar/commands/class-use/CommandPermissionResolver.html @@ -98,7 +98,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandCompletions.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandCompletions.html index e94eed80..66724717 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandCompletions.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandCompletions.html @@ -77,7 +77,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandConfig.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandConfig.html index 40006876..da80c731 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandConfig.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandConfig.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.JDACommandConfig

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandContexts.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandContexts.html index 4496c975..6ee05f5f 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandContexts.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandContexts.html @@ -77,7 +77,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandEvent.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandEvent.html index 42b3626c..779c1d7f 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandEvent.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandEvent.html @@ -93,7 +93,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandExecutionContext.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandExecutionContext.html index c7cc2dfd..68bd123b 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandExecutionContext.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandExecutionContext.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.JDACommandExecutionContext

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandManager.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandManager.html index 5b4a4ae9..d736ff46 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandManager.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandManager.html @@ -106,7 +106,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDACommandPermissionResolver.html b/docs/acf-jda/co/aikar/commands/class-use/JDACommandPermissionResolver.html index 3df4570a..004b94af 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDACommandPermissionResolver.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDACommandPermissionResolver.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.JDACommandPermissionResolver

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDAConditionContext.html b/docs/acf-jda/co/aikar/commands/class-use/JDAConditionContext.html index feab3321..4f0b2c00 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDAConditionContext.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDAConditionContext.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.JDAConditionContext

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDAListener.html b/docs/acf-jda/co/aikar/commands/class-use/JDAListener.html index f1355bce..f594ebe4 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDAListener.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDAListener.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.JDAListener

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDALocales.html b/docs/acf-jda/co/aikar/commands/class-use/JDALocales.html index a330ce3f..44c08e56 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDALocales.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDALocales.html @@ -77,7 +77,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDAMessageFormatter.html b/docs/acf-jda/co/aikar/commands/class-use/JDAMessageFormatter.html index d2cf9410..238decf6 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDAMessageFormatter.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDAMessageFormatter.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.JDAMessageFormatter

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDAOptions.html b/docs/acf-jda/co/aikar/commands/class-use/JDAOptions.html index 1a5314a8..3b14368f 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDAOptions.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDAOptions.html @@ -96,7 +96,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/class-use/JDARootCommand.html b/docs/acf-jda/co/aikar/commands/class-use/JDARootCommand.html index 926981c7..bdb9f600 100644 --- a/docs/acf-jda/co/aikar/commands/class-use/JDARootCommand.html +++ b/docs/acf-jda/co/aikar/commands/class-use/JDARootCommand.html @@ -77,7 +77,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/package-summary.html b/docs/acf-jda/co/aikar/commands/package-summary.html index f5fe72e3..38ff53fb 100644 --- a/docs/acf-jda/co/aikar/commands/package-summary.html +++ b/docs/acf-jda/co/aikar/commands/package-summary.html @@ -124,7 +124,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/package-tree.html b/docs/acf-jda/co/aikar/commands/package-tree.html index cac8e222..fe57890f 100644 --- a/docs/acf-jda/co/aikar/commands/package-tree.html +++ b/docs/acf-jda/co/aikar/commands/package-tree.html @@ -121,7 +121,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/co/aikar/commands/package-use.html b/docs/acf-jda/co/aikar/commands/package-use.html index aa12590d..76246204 100644 --- a/docs/acf-jda/co/aikar/commands/package-use.html +++ b/docs/acf-jda/co/aikar/commands/package-use.html @@ -92,7 +92,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/index-all.html b/docs/acf-jda/index-all.html index c120c90c..cc8244cf 100644 --- a/docs/acf-jda/index-all.html +++ b/docs/acf-jda/index-all.html @@ -280,7 +280,7 @@ loadScripts(document, 'script');
    A C D G H I J L O P R S U 
    All Classes and Interfaces|All Packages

    - +
    diff --git a/docs/acf-jda/index.html b/docs/acf-jda/index.html index 80c67703..1e559108 100644 --- a/docs/acf-jda/index.html +++ b/docs/acf-jda/index.html @@ -63,7 +63,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-jda/overview-tree.html b/docs/acf-jda/overview-tree.html index 5c7d7cf0..7aa7bc2a 100644 --- a/docs/acf-jda/overview-tree.html +++ b/docs/acf-jda/overview-tree.html @@ -130,7 +130,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/allclasses-index.html b/docs/acf-paper/allclasses-index.html index 8190d80d..4ecf6210 100644 --- a/docs/acf-paper/allclasses-index.html +++ b/docs/acf-paper/allclasses-index.html @@ -69,7 +69,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/allpackages-index.html b/docs/acf-paper/allpackages-index.html index ea5f3a4c..baca9160 100644 --- a/docs/acf-paper/allpackages-index.html +++ b/docs/acf-paper/allpackages-index.html @@ -59,7 +59,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/PaperBrigadierManager.html b/docs/acf-paper/co/aikar/commands/PaperBrigadierManager.html index f60ac201..9f51ffb1 100644 --- a/docs/acf-paper/co/aikar/commands/PaperBrigadierManager.html +++ b/docs/acf-paper/co/aikar/commands/PaperBrigadierManager.html @@ -175,7 +175,7 @@ implements org.bukkit.event.Listener

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/PaperCommandCompletions.html b/docs/acf-paper/co/aikar/commands/PaperCommandCompletions.html index fdf3ad03..96e35898 100644 --- a/docs/acf-paper/co/aikar/commands/PaperCommandCompletions.html +++ b/docs/acf-paper/co/aikar/commands/PaperCommandCompletions.html @@ -138,7 +138,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/PaperCommandContexts.html b/docs/acf-paper/co/aikar/commands/PaperCommandContexts.html index 346c2a7e..ce92f251 100644 --- a/docs/acf-paper/co/aikar/commands/PaperCommandContexts.html +++ b/docs/acf-paper/co/aikar/commands/PaperCommandContexts.html @@ -138,7 +138,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/PaperCommandManager.html b/docs/acf-paper/co/aikar/commands/PaperCommandManager.html index 55bde463..42921071 100644 --- a/docs/acf-paper/co/aikar/commands/PaperCommandManager.html +++ b/docs/acf-paper/co/aikar/commands/PaperCommandManager.html @@ -72,7 +72,7 @@ loadScripts(document, 'script');
    java.lang.Object
    co.aikar.commands.CommandManager<org.bukkit.command.CommandSender,co.aikar.commands.BukkitCommandIssuer,org.bukkit.ChatColor,co.aikar.commands.BukkitMessageFormatter,co.aikar.commands.BukkitCommandExecutionContext,co.aikar.commands.BukkitConditionContext> -
    co.aikar.commands.FoliaCommandManager +
    co.aikar.commands.BukkitCommandManager
    co.aikar.commands.PaperCommandManager
    @@ -80,7 +80,7 @@ loadScripts(document, 'script');

    public class PaperCommandManager -extends co.aikar.commands.FoliaCommandManager
    +extends co.aikar.commands.BukkitCommandManager
      @@ -89,7 +89,7 @@ loadScripts(document, 'script');

      Field Summary

      -

      Fields inherited from class co.aikar.commands.FoliaCommandManager

      +

      Fields inherited from class co.aikar.commands.BukkitCommandManager

      autoDetectFromClient, completions, contexts, issuersLocaleString, knownCommands, locales, mcMinorVersion, mcPatchVersion, plugin, registeredCommands

      Fields inherited from class co.aikar.commands.CommandManager

      @@ -133,7 +133,7 @@ loadScripts(document, 'script');
      -

      Methods inherited from class co.aikar.commands.FoliaCommandManager

      +

      Methods inherited from class co.aikar.commands.BukkitCommandManager

      createCommandContext, createCompletionContext, createConditionContext, createRegisteredCommand, createRootCommand, getCommandIssuer, getCommandPrefix, getLocales, getPlugin, getRegisteredRootCommands, getTimings, handleUncaughtException, hasRegisteredCommands, isCommandIssuer, log, registerCommand, registerCommand, setPlayerLocale, unregisterCommand, unregisterCommand, unregisterCommands, usePerIssuerLocale

      Methods inherited from class co.aikar.commands.CommandManager

      @@ -155,7 +155,7 @@ loadScripts(document, 'script');
    • PaperCommandManager

      -
      public PaperCommandManager(org.bukkit.plugin.Plugin plugin)
      +
      public PaperCommandManager(org.bukkit.plugin.Plugin plugin)
    @@ -169,7 +169,7 @@ loadScripts(document, 'script');
  • enableUnstableAPI

    -
    public void enableUnstableAPI(String api)
    +
    public void enableUnstableAPI(String api)
    Overrides:
    enableUnstableAPI in class co.aikar.commands.CommandManager<org.bukkit.command.CommandSender,co.aikar.commands.BukkitCommandIssuer,org.bukkit.ChatColor,co.aikar.commands.BukkitMessageFormatter,co.aikar.commands.BukkitCommandExecutionContext,co.aikar.commands.BukkitConditionContext>
    @@ -179,20 +179,20 @@ loadScripts(document, 'script');
  • getCommandContexts

    -
    public co.aikar.commands.CommandContexts<co.aikar.commands.BukkitCommandExecutionContext> getCommandContexts()
    +
    public co.aikar.commands.CommandContexts<co.aikar.commands.BukkitCommandExecutionContext> getCommandContexts()
    Overrides:
    -
    getCommandContexts in class co.aikar.commands.FoliaCommandManager
    +
    getCommandContexts in class co.aikar.commands.BukkitCommandManager
  • getCommandCompletions

    -
    public co.aikar.commands.CommandCompletions<co.aikar.commands.BukkitCommandCompletionContext> getCommandCompletions()
    +
    public co.aikar.commands.CommandCompletions<co.aikar.commands.BukkitCommandCompletionContext> getCommandCompletions()
    Overrides:
    -
    getCommandCompletions in class co.aikar.commands.FoliaCommandManager
    +
    getCommandCompletions in class co.aikar.commands.BukkitCommandManager
  • @@ -205,7 +205,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/class-use/PaperBrigadierManager.html b/docs/acf-paper/co/aikar/commands/class-use/PaperBrigadierManager.html index 2f8c57a2..b917638f 100644 --- a/docs/acf-paper/co/aikar/commands/class-use/PaperBrigadierManager.html +++ b/docs/acf-paper/co/aikar/commands/class-use/PaperBrigadierManager.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.PaperBrigadierManager

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/class-use/PaperCommandCompletions.html b/docs/acf-paper/co/aikar/commands/class-use/PaperCommandCompletions.html index 7c9e8a77..572860e6 100644 --- a/docs/acf-paper/co/aikar/commands/class-use/PaperCommandCompletions.html +++ b/docs/acf-paper/co/aikar/commands/class-use/PaperCommandCompletions.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.PaperCommandCompletions

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/class-use/PaperCommandContexts.html b/docs/acf-paper/co/aikar/commands/class-use/PaperCommandContexts.html index a1da70da..4c1ac59d 100644 --- a/docs/acf-paper/co/aikar/commands/class-use/PaperCommandContexts.html +++ b/docs/acf-paper/co/aikar/commands/class-use/PaperCommandContexts.html @@ -52,7 +52,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.PaperCommandContexts

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/class-use/PaperCommandManager.html b/docs/acf-paper/co/aikar/commands/class-use/PaperCommandManager.html index 76fccfd1..135678a7 100644 --- a/docs/acf-paper/co/aikar/commands/class-use/PaperCommandManager.html +++ b/docs/acf-paper/co/aikar/commands/class-use/PaperCommandManager.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/package-summary.html b/docs/acf-paper/co/aikar/commands/package-summary.html index 7cdad5b6..02363257 100644 --- a/docs/acf-paper/co/aikar/commands/package-summary.html +++ b/docs/acf-paper/co/aikar/commands/package-summary.html @@ -85,7 +85,7 @@ loadScripts(document, 'script');

    - +
    diff --git a/docs/acf-paper/co/aikar/commands/package-tree.html b/docs/acf-paper/co/aikar/commands/package-tree.html index e5f760ee..8e6b0c3d 100644 --- a/docs/acf-paper/co/aikar/commands/package-tree.html +++ b/docs/acf-paper/co/aikar/commands/package-tree.html @@ -74,7 +74,7 @@ loadScripts(document, 'script');
  • co.aikar.commands.CommandManager<IT,I,FT,MF,CEC,CC>
      -
    • co.aikar.commands.FoliaCommandManager +
    • co.aikar.commands.BukkitCommandManager @@ -89,7 +89,7 @@ loadScripts(document, 'script');

      - +
      diff --git a/docs/acf-paper/co/aikar/commands/package-use.html b/docs/acf-paper/co/aikar/commands/package-use.html index 4bbe7d82..c297ebc0 100644 --- a/docs/acf-paper/co/aikar/commands/package-use.html +++ b/docs/acf-paper/co/aikar/commands/package-use.html @@ -67,7 +67,7 @@ loadScripts(document, 'script');

      - +
      diff --git a/docs/acf-paper/deprecated-list.html b/docs/acf-paper/deprecated-list.html index d085a59c..27e48c35 100644 --- a/docs/acf-paper/deprecated-list.html +++ b/docs/acf-paper/deprecated-list.html @@ -71,7 +71,7 @@ loadScripts(document, 'script');

      - +
      diff --git a/docs/acf-paper/index-all.html b/docs/acf-paper/index-all.html index d5e32d1f..a79df8ad 100644 --- a/docs/acf-paper/index-all.html +++ b/docs/acf-paper/index-all.html @@ -102,7 +102,7 @@ loadScripts(document, 'script'); C E G O P 
      All Classes and Interfaces|All Packages

      - +
      diff --git a/docs/acf-paper/overview-tree.html b/docs/acf-paper/overview-tree.html index b74a916d..6d2a1835 100644 --- a/docs/acf-paper/overview-tree.html +++ b/docs/acf-paper/overview-tree.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');
    • co.aikar.commands.CommandManager<IT,I,FT,MF,CEC,CC>
        -
      • co.aikar.commands.FoliaCommandManager +
      • co.aikar.commands.BukkitCommandManager @@ -93,7 +93,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-paper/src-html/co/aikar/commands/PaperCommandManager.html b/docs/acf-paper/src-html/co/aikar/commands/PaperCommandManager.html index 9fd4bd34..6d8ef88c 100644 --- a/docs/acf-paper/src-html/co/aikar/commands/PaperCommandManager.html +++ b/docs/acf-paper/src-html/co/aikar/commands/PaperCommandManager.html @@ -43,48 +43,47 @@ 030 031 private boolean brigadierAvailable; 032 -033 // If we get anything Paper specific -034 public PaperCommandManager(Plugin plugin) { -035 super(plugin); -036 try { -037 Class.forName("com.destroystokyo.paper.event.server.AsyncTabCompleteEvent"); -038 plugin.getServer().getPluginManager().registerEvents(new PaperAsyncTabCompleteHandler(this), plugin); -039 } catch (ClassNotFoundException ignored) { -040 // Ignored -041 } -042 try { -043 Class.forName("com.destroystokyo.paper.event.brigadier.CommandRegisteredEvent"); -044 brigadierAvailable = true; -045 } catch (ClassNotFoundException ignored) { -046 // Ignored -047 } -048 } -049 -050 @Override -051 public void enableUnstableAPI(String api) { -052 super.enableUnstableAPI(api); -053 -054 if ("brigadier".equals(api) && brigadierAvailable) { -055 new PaperBrigadierManager(plugin, this); -056 } -057 } -058 -059 @Override -060 public synchronized CommandContexts<BukkitCommandExecutionContext> getCommandContexts() { -061 if (this.contexts == null) { -062 this.contexts = new PaperCommandContexts(this); -063 } -064 return this.contexts; -065 } -066 -067 @Override -068 public synchronized CommandCompletions<BukkitCommandCompletionContext> getCommandCompletions() { -069 if (this.completions == null) { -070 this.completions = new PaperCommandCompletions(this); -071 } -072 return this.completions; -073 } -074} +033 public PaperCommandManager(Plugin plugin) { +034 super(plugin); +035 try { +036 Class.forName("com.destroystokyo.paper.event.server.AsyncTabCompleteEvent"); +037 plugin.getServer().getPluginManager().registerEvents(new PaperAsyncTabCompleteHandler(this), plugin); +038 } catch (ClassNotFoundException ignored) { +039 // Ignored +040 } +041 try { +042 Class.forName("com.destroystokyo.paper.event.brigadier.CommandRegisteredEvent"); +043 brigadierAvailable = true; +044 } catch (ClassNotFoundException ignored) { +045 // Ignored +046 } +047 } +048 +049 @Override +050 public void enableUnstableAPI(String api) { +051 super.enableUnstableAPI(api); +052 +053 if ("brigadier".equals(api) && brigadierAvailable) { +054 new PaperBrigadierManager(plugin, this); +055 } +056 } +057 +058 @Override +059 public synchronized CommandContexts<BukkitCommandExecutionContext> getCommandContexts() { +060 if (this.contexts == null) { +061 this.contexts = new PaperCommandContexts(this); +062 } +063 return this.contexts; +064 } +065 +066 @Override +067 public synchronized CommandCompletions<BukkitCommandCompletionContext> getCommandCompletions() { +068 if (this.completions == null) { +069 this.completions = new PaperCommandCompletions(this); +070 } +071 return this.completions; +072 } +073} diff --git a/docs/acf-sponge/allclasses-index.html b/docs/acf-sponge/allclasses-index.html index 0a08b236..ce0cf69d 100644 --- a/docs/acf-sponge/allclasses-index.html +++ b/docs/acf-sponge/allclasses-index.html @@ -104,7 +104,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/allpackages-index.html b/docs/acf-sponge/allpackages-index.html index 0da85d56..45a433ef 100644 --- a/docs/acf-sponge/allpackages-index.html +++ b/docs/acf-sponge/allpackages-index.html @@ -64,7 +64,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/ACFSpongeListener.html b/docs/acf-sponge/co/aikar/commands/ACFSpongeListener.html index aa3f3778..775839f1 100644 --- a/docs/acf-sponge/co/aikar/commands/ACFSpongeListener.html +++ b/docs/acf-sponge/co/aikar/commands/ACFSpongeListener.html @@ -167,7 +167,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/ACFSpongeUtil.html b/docs/acf-sponge/co/aikar/commands/ACFSpongeUtil.html index eab5c97b..1a1e3193 100644 --- a/docs/acf-sponge/co/aikar/commands/ACFSpongeUtil.html +++ b/docs/acf-sponge/co/aikar/commands/ACFSpongeUtil.html @@ -174,7 +174,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/MinecraftMessageKeys.html b/docs/acf-sponge/co/aikar/commands/MinecraftMessageKeys.html index a4ba281d..c63a245e 100644 --- a/docs/acf-sponge/co/aikar/commands/MinecraftMessageKeys.html +++ b/docs/acf-sponge/co/aikar/commands/MinecraftMessageKeys.html @@ -275,7 +275,7 @@ not permitted.)

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletionContext.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletionContext.html index aa9be8e4..ae644bd2 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletionContext.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletionContext.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletions.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletions.html index b07b5f8e..b7315779 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletions.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandCompletions.html @@ -137,7 +137,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandContexts.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandContexts.html index d1aebd22..bb442f91 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandContexts.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandContexts.html @@ -137,7 +137,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandExecutionContext.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandExecutionContext.html index a061046e..605012cf 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandExecutionContext.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandExecutionContext.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandIssuer.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandIssuer.html index dc1f994f..aa1e6b62 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandIssuer.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandIssuer.html @@ -240,7 +240,7 @@ implements co.aikar.commands.CommandIssuer

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandManager.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandManager.html index ebb08877..1e0885d2 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandManager.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandManager.html @@ -461,7 +461,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeCommandOperationContext.html b/docs/acf-sponge/co/aikar/commands/SpongeCommandOperationContext.html index b3c1bd47..7b313e78 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeCommandOperationContext.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeCommandOperationContext.html @@ -141,7 +141,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeConditionContext.html b/docs/acf-sponge/co/aikar/commands/SpongeConditionContext.html index 3a7fed6e..bb1b057a 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeConditionContext.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeConditionContext.html @@ -141,7 +141,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeLocales.html b/docs/acf-sponge/co/aikar/commands/SpongeLocales.html index a2c96195..027bace8 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeLocales.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeLocales.html @@ -172,7 +172,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeMessageFormatter.html b/docs/acf-sponge/co/aikar/commands/SpongeMessageFormatter.html index 6559f0a3..6a5e2ce0 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeMessageFormatter.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeMessageFormatter.html @@ -161,7 +161,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeRegisteredCommand.html b/docs/acf-sponge/co/aikar/commands/SpongeRegisteredCommand.html index 30e2cbe2..2ffbbd73 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeRegisteredCommand.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeRegisteredCommand.html @@ -158,7 +158,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/SpongeRootCommand.html b/docs/acf-sponge/co/aikar/commands/SpongeRootCommand.html index a0c3a783..7ab2fd60 100644 --- a/docs/acf-sponge/co/aikar/commands/SpongeRootCommand.html +++ b/docs/acf-sponge/co/aikar/commands/SpongeRootCommand.html @@ -303,7 +303,7 @@ implements org.spongepowered.api.command.CommandCallable, co.aikar.commands.Root

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeListener.html b/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeListener.html index eb0d11de..d7246ad2 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeListener.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeListener.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFSpongeListener

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeUtil.html b/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeUtil.html index 45cb7b18..72764521 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeUtil.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFSpongeUtil

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/MinecraftMessageKeys.html b/docs/acf-sponge/co/aikar/commands/class-use/MinecraftMessageKeys.html index f802c15f..5e88177f 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/MinecraftMessageKeys.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/MinecraftMessageKeys.html @@ -86,7 +86,7 @@ the order they are declared.

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletionContext.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletionContext.html index 4941581f..e66969ee 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletionContext.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletionContext.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletions.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletions.html index 4874b18c..af036e7c 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletions.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletions.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandContexts.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandContexts.html index 810cda41..b6a71adb 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandContexts.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandContexts.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandExecutionContext.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandExecutionContext.html index 91bfb4b1..338b2722 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandExecutionContext.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandExecutionContext.html @@ -92,7 +92,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandIssuer.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandIssuer.html index 2273498a..75a827f8 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandIssuer.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandIssuer.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandManager.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandManager.html index 152c70ac..f55c79ac 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandManager.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandManager.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandOperationContext.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandOperationContext.html index cf9ec51f..5e939e78 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandOperationContext.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandOperationContext.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.SpongeCommandOperationContext

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeConditionContext.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeConditionContext.html index 1a537d2c..78e2fad7 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeConditionContext.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeConditionContext.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeLocales.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeLocales.html index 3fb09200..48a2a823 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeLocales.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeLocales.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeMessageFormatter.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeMessageFormatter.html index 66d56557..c2edb937 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeMessageFormatter.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeMessageFormatter.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.SpongeMessageFormatter

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeRegisteredCommand.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeRegisteredCommand.html index 2c860b92..7a09e41f 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeRegisteredCommand.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeRegisteredCommand.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.SpongeRegisteredCommand

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/class-use/SpongeRootCommand.html b/docs/acf-sponge/co/aikar/commands/class-use/SpongeRootCommand.html index 9929c93e..66daf573 100644 --- a/docs/acf-sponge/co/aikar/commands/class-use/SpongeRootCommand.html +++ b/docs/acf-sponge/co/aikar/commands/class-use/SpongeRootCommand.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/contexts/CommandResultSupplier.html b/docs/acf-sponge/co/aikar/commands/contexts/CommandResultSupplier.html index 28e06b95..b9bc66b9 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/CommandResultSupplier.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/CommandResultSupplier.html @@ -166,7 +166,7 @@ implements
        - + diff --git a/docs/acf-sponge/co/aikar/commands/contexts/OnlinePlayer.html b/docs/acf-sponge/co/aikar/commands/contexts/OnlinePlayer.html index 13932b23..b8a984cd 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/OnlinePlayer.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/OnlinePlayer.html @@ -144,7 +144,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/contexts/class-use/CommandResultSupplier.html b/docs/acf-sponge/co/aikar/commands/contexts/class-use/CommandResultSupplier.html index 2efc56e6..a1f468d2 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/class-use/CommandResultSupplier.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/class-use/CommandResultSupplier.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts.CommandResultSupplier

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/contexts/class-use/OnlinePlayer.html b/docs/acf-sponge/co/aikar/commands/contexts/class-use/OnlinePlayer.html index a4eb692a..b8e64c14 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/class-use/OnlinePlayer.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts.OnlinePlayer

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/contexts/package-summary.html b/docs/acf-sponge/co/aikar/commands/contexts/package-summary.html index 18198860..120deaaa 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/package-summary.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/package-summary.html @@ -93,7 +93,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/contexts/package-tree.html b/docs/acf-sponge/co/aikar/commands/contexts/package-tree.html index 1d9e351d..46931154 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/package-tree.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/package-tree.html @@ -72,7 +72,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/contexts/package-use.html b/docs/acf-sponge/co/aikar/commands/contexts/package-use.html index a4a1df36..ec6f7f80 100644 --- a/docs/acf-sponge/co/aikar/commands/contexts/package-use.html +++ b/docs/acf-sponge/co/aikar/commands/contexts/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/package-summary.html b/docs/acf-sponge/co/aikar/commands/package-summary.html index 1f15f3d8..e0021149 100644 --- a/docs/acf-sponge/co/aikar/commands/package-summary.html +++ b/docs/acf-sponge/co/aikar/commands/package-summary.html @@ -123,7 +123,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/package-tree.html b/docs/acf-sponge/co/aikar/commands/package-tree.html index b4db7da8..b3f53565 100644 --- a/docs/acf-sponge/co/aikar/commands/package-tree.html +++ b/docs/acf-sponge/co/aikar/commands/package-tree.html @@ -134,7 +134,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/package-use.html b/docs/acf-sponge/co/aikar/commands/package-use.html index 73762141..298dae72 100644 --- a/docs/acf-sponge/co/aikar/commands/package-use.html +++ b/docs/acf-sponge/co/aikar/commands/package-use.html @@ -93,7 +93,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/sponge/contexts/OnlinePlayer.html b/docs/acf-sponge/co/aikar/commands/sponge/contexts/OnlinePlayer.html index f671f719..d384f76f 100644 --- a/docs/acf-sponge/co/aikar/commands/sponge/contexts/OnlinePlayer.html +++ b/docs/acf-sponge/co/aikar/commands/sponge/contexts/OnlinePlayer.html @@ -226,7 +226,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/sponge/contexts/class-use/OnlinePlayer.html b/docs/acf-sponge/co/aikar/commands/sponge/contexts/class-use/OnlinePlayer.html index 8b573f98..1a613db0 100644 --- a/docs/acf-sponge/co/aikar/commands/sponge/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-sponge/co/aikar/commands/sponge/contexts/class-use/OnlinePlayer.html @@ -82,7 +82,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-summary.html b/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-summary.html index ab0018f6..65cc314e 100644 --- a/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-summary.html +++ b/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-summary.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-tree.html b/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-tree.html index 67f8384b..193c045e 100644 --- a/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-tree.html +++ b/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-tree.html @@ -67,7 +67,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-use.html b/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-use.html index 27b45b49..651683d2 100644 --- a/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-use.html +++ b/docs/acf-sponge/co/aikar/commands/sponge/contexts/package-use.html @@ -75,7 +75,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/deprecated-list.html b/docs/acf-sponge/deprecated-list.html index 5b832174..9bf082e3 100644 --- a/docs/acf-sponge/deprecated-list.html +++ b/docs/acf-sponge/deprecated-list.html @@ -72,7 +72,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/index-all.html b/docs/acf-sponge/index-all.html index 30b45d61..4c1b178a 100644 --- a/docs/acf-sponge/index-all.html +++ b/docs/acf-sponge/index-all.html @@ -335,7 +335,7 @@ the order they are declared.
        A C E F G H I L M N O P R S T U V Y 
        All Classes and Interfaces|All Packages

        - +
        diff --git a/docs/acf-sponge/index.html b/docs/acf-sponge/index.html index 305d6e02..3f6312cf 100644 --- a/docs/acf-sponge/index.html +++ b/docs/acf-sponge/index.html @@ -66,7 +66,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/overview-tree.html b/docs/acf-sponge/overview-tree.html index 983a8078..497f23d5 100644 --- a/docs/acf-sponge/overview-tree.html +++ b/docs/acf-sponge/overview-tree.html @@ -142,7 +142,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-sponge/src-html/co/aikar/commands/ACFSpongeUtil.html b/docs/acf-sponge/src-html/co/aikar/commands/ACFSpongeUtil.html index 8c92ff19..afe2d72d 100644 --- a/docs/acf-sponge/src-html/co/aikar/commands/ACFSpongeUtil.html +++ b/docs/acf-sponge/src-html/co/aikar/commands/ACFSpongeUtil.html @@ -30,24 +30,24 @@ 017 return null; 018 } 019 String name = ACFUtil.replace(search, ":confirm", ""); -020 if (!isValidName(name)) { -021 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); -022 return null; -023 } +020 +021 List<Player> matches = matchPlayer(name); +022 List<Player> confirmList = new ArrayList<>(); +023 findMatches(search, requester, matches, confirmList); 024 -025 List<Player> matches = matchPlayer(name); -026 List<Player> confirmList = new ArrayList<>(); -027 findMatches(search, requester, matches, confirmList); -028 -029 -030 if (matches.size() > 1 || confirmList.size() > 1) { -031 String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", ")); -032 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, -033 "{search}", name, "{all}", allMatches); -034 return null; -035 } -036 -037 if (matches.isEmpty()) { +025 +026 if (matches.size() > 1 || confirmList.size() > 1) { +027 String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", ")); +028 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, +029 "{search}", name, "{all}", allMatches); +030 return null; +031 } +032 +033 if (matches.isEmpty()) { +034 if (!isValidName(name)) { +035 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); +036 return null; +037 } 038 Player player = ACFUtil.getFirstElement(confirmList); 039 if (player == null) { 040 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name); diff --git a/docs/acf-sponge/src-html/co/aikar/commands/SpongeCommandContexts.html b/docs/acf-sponge/src-html/co/aikar/commands/SpongeCommandContexts.html index e697566f..0e6eab0a 100644 --- a/docs/acf-sponge/src-html/co/aikar/commands/SpongeCommandContexts.html +++ b/docs/acf-sponge/src-html/co/aikar/commands/SpongeCommandContexts.html @@ -38,7 +38,7 @@ 025 026import co.aikar.commands.contexts.CommandResultSupplier; 027import co.aikar.commands.sponge.contexts.OnlinePlayer; -028import org.jetbrains.annotations.Nullable; +028import org.jetbrains.annotations.Contract; 029import org.spongepowered.api.Sponge; 030import org.spongepowered.api.command.CommandSource; 031import org.spongepowered.api.entity.living.player.Player; @@ -62,10 +62,10 @@ 049 super(manager); 050 051 registerIssuerOnlyContext(CommandResultSupplier.class, c -> new CommandResultSupplier()); -052 registerContext(OnlinePlayer.class, c -> getOnlinePlayer(c.getIssuer(), c.popFirstArg(), c.isOptional())); +052 registerContext(OnlinePlayer.class, c -> getOnlinePlayer(c.getIssuer(), c.popFirstArg(), false)); 053 registerContext(co.aikar.commands.contexts.OnlinePlayer.class, c -> { -054 OnlinePlayer onlinePlayer = getOnlinePlayer(c.getIssuer(), c.popFirstArg(), c.isOptional()); -055 return onlinePlayer != null ? new co.aikar.commands.contexts.OnlinePlayer(onlinePlayer.getPlayer()) : null; +054 OnlinePlayer onlinePlayer = getOnlinePlayer(c.getIssuer(), c.popFirstArg(), false); +055 return new co.aikar.commands.contexts.OnlinePlayer(onlinePlayer.getPlayer()); 056 }); 057 registerContext(User.class, c -> { 058 String name = c.popFirstArg(); @@ -177,7 +177,7 @@ 164 }); 165 } 166 -167 @Nullable +167 @Contract("_,_,false -> !null") 168 OnlinePlayer getOnlinePlayer(SpongeCommandIssuer issuer, String lookup, boolean allowMissing) throws InvalidCommandArgument { 169 Player player = ACFSpongeUtil.findPlayerSmart(issuer, lookup); 170 if (player == null) { diff --git a/docs/acf-velocity/allclasses-index.html b/docs/acf-velocity/allclasses-index.html index 42d0592f..b3a10285 100644 --- a/docs/acf-velocity/allclasses-index.html +++ b/docs/acf-velocity/allclasses-index.html @@ -98,7 +98,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/allpackages-index.html b/docs/acf-velocity/allpackages-index.html index cdcf1d7d..04ddc4bc 100644 --- a/docs/acf-velocity/allpackages-index.html +++ b/docs/acf-velocity/allpackages-index.html @@ -64,7 +64,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/ACFVelocityListener.html b/docs/acf-velocity/co/aikar/commands/ACFVelocityListener.html index 6ce25e09..6533149f 100644 --- a/docs/acf-velocity/co/aikar/commands/ACFVelocityListener.html +++ b/docs/acf-velocity/co/aikar/commands/ACFVelocityListener.html @@ -176,7 +176,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/ACFVelocityUtil.html b/docs/acf-velocity/co/aikar/commands/ACFVelocityUtil.html index 858f1688..54e8627f 100644 --- a/docs/acf-velocity/co/aikar/commands/ACFVelocityUtil.html +++ b/docs/acf-velocity/co/aikar/commands/ACFVelocityUtil.html @@ -189,7 +189,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/MinecraftMessageKeys.html b/docs/acf-velocity/co/aikar/commands/MinecraftMessageKeys.html index 41bcfb56..7a2045e5 100644 --- a/docs/acf-velocity/co/aikar/commands/MinecraftMessageKeys.html +++ b/docs/acf-velocity/co/aikar/commands/MinecraftMessageKeys.html @@ -251,7 +251,7 @@ not permitted.)

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletionContext.html b/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletionContext.html index 1c66e5a1..3e0e35a4 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletionContext.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletionContext.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletions.html b/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletions.html index 309850a8..1d5992f6 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletions.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityCommandCompletions.html @@ -139,7 +139,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityCommandContexts.html b/docs/acf-velocity/co/aikar/commands/VelocityCommandContexts.html index 87c62c2a..5580c946 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityCommandContexts.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityCommandContexts.html @@ -74,7 +74,7 @@ loadScripts(document, 'script');

        -
        public class VelocityCommandContexts +
        public class VelocityCommandContexts extends co.aikar.commands.CommandContexts<VelocityCommandExecutionContext>
        @@ -106,7 +106,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityCommandExecutionContext.html b/docs/acf-velocity/co/aikar/commands/VelocityCommandExecutionContext.html index e44032d0..b6d4e092 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityCommandExecutionContext.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityCommandExecutionContext.html @@ -150,7 +150,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityCommandIssuer.html b/docs/acf-velocity/co/aikar/commands/VelocityCommandIssuer.html index c396037b..f63be903 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityCommandIssuer.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityCommandIssuer.html @@ -240,7 +240,7 @@ implements co.aikar.commands.CommandIssuer

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityCommandManager.html b/docs/acf-velocity/co/aikar/commands/VelocityCommandManager.html index 3b17bd0f..09deeb92 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityCommandManager.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityCommandManager.html @@ -519,7 +519,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityConditionContext.html b/docs/acf-velocity/co/aikar/commands/VelocityConditionContext.html index ec3c46ee..73fdad8b 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityConditionContext.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityConditionContext.html @@ -141,7 +141,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityLocales.html b/docs/acf-velocity/co/aikar/commands/VelocityLocales.html index de77664d..afc00671 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityLocales.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityLocales.html @@ -172,7 +172,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityMessageFormatter.html b/docs/acf-velocity/co/aikar/commands/VelocityMessageFormatter.html index f9123ce1..a297959b 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityMessageFormatter.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityMessageFormatter.html @@ -128,7 +128,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/VelocityRootCommand.html b/docs/acf-velocity/co/aikar/commands/VelocityRootCommand.html index b294779f..4b628cd5 100644 --- a/docs/acf-velocity/co/aikar/commands/VelocityRootCommand.html +++ b/docs/acf-velocity/co/aikar/commands/VelocityRootCommand.html @@ -255,7 +255,7 @@ implements com.velocitypowered.api.command.SimpleCommand, co.aikar.commands.Root

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityListener.html b/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityListener.html index daa70b01..04c0813f 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityListener.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityListener.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFVelocityListener

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityUtil.html b/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityUtil.html index 39a07694..3f3bea08 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityUtil.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityUtil.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.ACFVelocityUtil

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/MinecraftMessageKeys.html b/docs/acf-velocity/co/aikar/commands/class-use/MinecraftMessageKeys.html index 2860cfa4..1521a5dd 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/MinecraftMessageKeys.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/MinecraftMessageKeys.html @@ -86,7 +86,7 @@ the order they are declared.

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletionContext.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletionContext.html index caea0431..bfb9c0db 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletionContext.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletionContext.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletions.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletions.html index 61243b1c..7b3f91cc 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletions.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletions.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandContexts.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandContexts.html index 9b142603..941774ba 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandContexts.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandContexts.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandExecutionContext.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandExecutionContext.html index 9423e9f7..fc4bc23e 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandExecutionContext.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandExecutionContext.html @@ -92,7 +92,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandIssuer.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandIssuer.html index e9c8dba6..fcb280c5 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandIssuer.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandIssuer.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandManager.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandManager.html index 52a31b3f..a16f3ef9 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandManager.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandManager.html @@ -83,7 +83,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityConditionContext.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityConditionContext.html index 84f02f51..732698fb 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityConditionContext.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityConditionContext.html @@ -79,7 +79,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityLocales.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityLocales.html index cac89b45..72621525 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityLocales.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityLocales.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityMessageFormatter.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityMessageFormatter.html index 69af7c4c..9d067133 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityMessageFormatter.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityMessageFormatter.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.VelocityMessageFormatter

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/class-use/VelocityRootCommand.html b/docs/acf-velocity/co/aikar/commands/class-use/VelocityRootCommand.html index a7f8c81d..1e74e443 100644 --- a/docs/acf-velocity/co/aikar/commands/class-use/VelocityRootCommand.html +++ b/docs/acf-velocity/co/aikar/commands/class-use/VelocityRootCommand.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/contexts/OnlinePlayer.html b/docs/acf-velocity/co/aikar/commands/contexts/OnlinePlayer.html index 8f9af64b..5563490b 100644 --- a/docs/acf-velocity/co/aikar/commands/contexts/OnlinePlayer.html +++ b/docs/acf-velocity/co/aikar/commands/contexts/OnlinePlayer.html @@ -144,7 +144,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/contexts/class-use/OnlinePlayer.html b/docs/acf-velocity/co/aikar/commands/contexts/class-use/OnlinePlayer.html index f149aa82..caa191ac 100644 --- a/docs/acf-velocity/co/aikar/commands/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-velocity/co/aikar/commands/contexts/class-use/OnlinePlayer.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts.OnlinePlayer

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/contexts/package-summary.html b/docs/acf-velocity/co/aikar/commands/contexts/package-summary.html index 40bb329a..952607f0 100644 --- a/docs/acf-velocity/co/aikar/commands/contexts/package-summary.html +++ b/docs/acf-velocity/co/aikar/commands/contexts/package-summary.html @@ -91,7 +91,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/contexts/package-tree.html b/docs/acf-velocity/co/aikar/commands/contexts/package-tree.html index 52c6a257..7020c38d 100644 --- a/docs/acf-velocity/co/aikar/commands/contexts/package-tree.html +++ b/docs/acf-velocity/co/aikar/commands/contexts/package-tree.html @@ -71,7 +71,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/contexts/package-use.html b/docs/acf-velocity/co/aikar/commands/contexts/package-use.html index ceff8908..291ee3bb 100644 --- a/docs/acf-velocity/co/aikar/commands/contexts/package-use.html +++ b/docs/acf-velocity/co/aikar/commands/contexts/package-use.html @@ -53,7 +53,7 @@ loadScripts(document, 'script'); No usage of co.aikar.commands.contexts

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/package-summary.html b/docs/acf-velocity/co/aikar/commands/package-summary.html index dd02a502..3f8da64f 100644 --- a/docs/acf-velocity/co/aikar/commands/package-summary.html +++ b/docs/acf-velocity/co/aikar/commands/package-summary.html @@ -119,7 +119,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/package-tree.html b/docs/acf-velocity/co/aikar/commands/package-tree.html index 32e6557b..bd98d9b5 100644 --- a/docs/acf-velocity/co/aikar/commands/package-tree.html +++ b/docs/acf-velocity/co/aikar/commands/package-tree.html @@ -124,7 +124,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/package-use.html b/docs/acf-velocity/co/aikar/commands/package-use.html index 93ffcb50..f126e4eb 100644 --- a/docs/acf-velocity/co/aikar/commands/package-use.html +++ b/docs/acf-velocity/co/aikar/commands/package-use.html @@ -93,7 +93,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/velocity/contexts/OnlinePlayer.html b/docs/acf-velocity/co/aikar/commands/velocity/contexts/OnlinePlayer.html index f404cb7e..1c68d252 100644 --- a/docs/acf-velocity/co/aikar/commands/velocity/contexts/OnlinePlayer.html +++ b/docs/acf-velocity/co/aikar/commands/velocity/contexts/OnlinePlayer.html @@ -226,7 +226,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/velocity/contexts/class-use/OnlinePlayer.html b/docs/acf-velocity/co/aikar/commands/velocity/contexts/class-use/OnlinePlayer.html index 02ca7dfa..6102ceea 100644 --- a/docs/acf-velocity/co/aikar/commands/velocity/contexts/class-use/OnlinePlayer.html +++ b/docs/acf-velocity/co/aikar/commands/velocity/contexts/class-use/OnlinePlayer.html @@ -82,7 +82,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-summary.html b/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-summary.html index 8be37e6c..3c42ae53 100644 --- a/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-summary.html +++ b/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-summary.html @@ -78,7 +78,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-tree.html b/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-tree.html index e735b52d..ffa9d5a4 100644 --- a/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-tree.html +++ b/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-tree.html @@ -67,7 +67,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-use.html b/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-use.html index 9ad05304..fb13cad8 100644 --- a/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-use.html +++ b/docs/acf-velocity/co/aikar/commands/velocity/contexts/package-use.html @@ -75,7 +75,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/deprecated-list.html b/docs/acf-velocity/deprecated-list.html index 9075ca08..3886fbda 100644 --- a/docs/acf-velocity/deprecated-list.html +++ b/docs/acf-velocity/deprecated-list.html @@ -72,7 +72,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/index-all.html b/docs/acf-velocity/index-all.html index ddc094be..b54934f4 100644 --- a/docs/acf-velocity/index-all.html +++ b/docs/acf-velocity/index-all.html @@ -314,7 +314,7 @@ the order they are declared. A C E F G H I L M N O P R S T U V 
        All Classes and Interfaces|All Packages

        - +
        diff --git a/docs/acf-velocity/index.html b/docs/acf-velocity/index.html index 948088f7..a0c906da 100644 --- a/docs/acf-velocity/index.html +++ b/docs/acf-velocity/index.html @@ -66,7 +66,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/overview-tree.html b/docs/acf-velocity/overview-tree.html index 7f8cd0bb..de2c87ae 100644 --- a/docs/acf-velocity/overview-tree.html +++ b/docs/acf-velocity/overview-tree.html @@ -131,7 +131,7 @@ loadScripts(document, 'script');

        - +
        diff --git a/docs/acf-velocity/src-html/co/aikar/commands/ACFVelocityUtil.html b/docs/acf-velocity/src-html/co/aikar/commands/ACFVelocityUtil.html index 15071c82..db20a14d 100644 --- a/docs/acf-velocity/src-html/co/aikar/commands/ACFVelocityUtil.html +++ b/docs/acf-velocity/src-html/co/aikar/commands/ACFVelocityUtil.html @@ -35,20 +35,20 @@ 022 public static Player findPlayerSmart(ProxyServer server, CommandIssuer issuer, String search) { 023 CommandSource requester = issuer.getIssuer(); 024 String name = ACFUtil.replace(search, ":confirm", ""); -025 if (!isValidName(name)) { -026 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); -027 return null; -028 } -029 -030 List<Player> matches = new ArrayList<>(matchPlayer(server, name)); -031 -032 if (matches.size() > 1) { -033 String allMatches = matches.stream().map(Player::getUsername).collect(Collectors.joining(", ")); -034 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, "{search}", name, "{all}", allMatches); -035 return null; -036 } -037 -038 if (matches.isEmpty()) { +025 +026 List<Player> matches = new ArrayList<>(matchPlayer(server, name)); +027 +028 if (matches.size() > 1) { +029 String allMatches = matches.stream().map(Player::getUsername).collect(Collectors.joining(", ")); +030 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, "{search}", name, "{all}", allMatches); +031 return null; +032 } +033 +034 if (matches.isEmpty()) { +035 if (!isValidName(name)) { +036 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); +037 return null; +038 } 039 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name); 040 return null; 041 } diff --git a/docs/acf-velocity/src-html/co/aikar/commands/VelocityCommandContexts.html b/docs/acf-velocity/src-html/co/aikar/commands/VelocityCommandContexts.html index a0adafb7..479b635b 100644 --- a/docs/acf-velocity/src-html/co/aikar/commands/VelocityCommandContexts.html +++ b/docs/acf-velocity/src-html/co/aikar/commands/VelocityCommandContexts.html @@ -45,65 +45,60 @@ 032import net.kyori.adventure.text.format.TextFormat; 033 034import net.kyori.adventure.text.format.TextColor; -035import org.jetbrains.annotations.Nullable; -036 -037import java.util.stream.Collectors; -038import java.util.stream.Stream; -039 -040public class VelocityCommandContexts extends CommandContexts<VelocityCommandExecutionContext> { -041 -042 VelocityCommandContexts(ProxyServer server, CommandManager manager) { -043 super(manager); -044 registerContext(OnlinePlayer.class, (c) -> getOnlinePlayer(server, c)); -045 registerContext(co.aikar.commands.contexts.OnlinePlayer.class, c -> { -046 OnlinePlayer onlinePlayer = getOnlinePlayer(server, c); -047 return onlinePlayer != null ? new co.aikar.commands.contexts.OnlinePlayer(onlinePlayer.getPlayer()) : null; -048 }); -049 registerIssuerAwareContext(CommandSource.class, VelocityCommandExecutionContext::getSender); -050 registerIssuerAwareContext(Player.class, (c) -> { -051 Player proxiedPlayer = c.getSender() instanceof Player ? (Player) c.getSender() : null; -052 if (proxiedPlayer == null && !c.isOptional()) { -053 throw new InvalidCommandArgument(MessageKeys.NOT_ALLOWED_ON_CONSOLE, false); -054 } -055 return proxiedPlayer; -056 }); -057 -058 registerContext(TextFormat.class, c -> { -059 String first = c.popFirstArg(); -060 Stream<TextFormat> colors = NamedTextColor.NAMES.values().stream().map(namedTextColor -> namedTextColor); -061 if (!c.hasFlag("colorsonly")) { -062 colors = Stream.concat(colors, Stream.of(TextDecoration.values())); -063 } -064 String filter = c.getFlagValue("filter", (String) null); -065 if (filter != null) { -066 filter = ACFUtil.simplifyString(filter); -067 String finalFilter = filter; -068 colors = colors.filter(color -> finalFilter.equals(ACFUtil.simplifyString(color.toString()))); -069 } -070 -071 TextColor match = NamedTextColor.NAMES.value(ACFUtil.simplifyString(first)); -072 if (match == null) { -073 String valid = colors.map(color -> "<c2>" + ACFUtil.simplifyString(color.toString()) + "</c2>") -074 .collect(Collectors.joining("<c1>,</c1> ")); -075 -076 throw new InvalidCommandArgument(MessageKeys.PLEASE_SPECIFY_ONE_OF, "{valid}", valid); -077 } -078 return match; -079 }); -080 } -081 -082 @Nullable -083 private OnlinePlayer getOnlinePlayer(ProxyServer server, VelocityCommandExecutionContext c) throws InvalidCommandArgument { -084 Player proxiedPlayer = ACFVelocityUtil.findPlayerSmart(server, c.getIssuer(), c.popFirstArg()); -085 if (proxiedPlayer == null) { -086 if (c.isOptional()) { -087 return null; -088 } -089 throw new InvalidCommandArgument(false); -090 } -091 return new OnlinePlayer(proxiedPlayer); -092 } -093} +035 +036import java.util.stream.Collectors; +037import java.util.stream.Stream; +038 +039public class VelocityCommandContexts extends CommandContexts<VelocityCommandExecutionContext> { +040 +041 VelocityCommandContexts(ProxyServer server, CommandManager manager) { +042 super(manager); +043 registerContext(OnlinePlayer.class, (c) -> getOnlinePlayer(server, c)); +044 registerContext(co.aikar.commands.contexts.OnlinePlayer.class, c -> { +045 OnlinePlayer onlinePlayer = getOnlinePlayer(server, c); +046 return new co.aikar.commands.contexts.OnlinePlayer(onlinePlayer.getPlayer()); +047 }); +048 registerIssuerAwareContext(CommandSource.class, VelocityCommandExecutionContext::getSender); +049 registerIssuerAwareContext(Player.class, (c) -> { +050 Player proxiedPlayer = c.getSender() instanceof Player ? (Player) c.getSender() : null; +051 if (proxiedPlayer == null && !c.isOptional()) { +052 throw new InvalidCommandArgument(MessageKeys.NOT_ALLOWED_ON_CONSOLE, false); +053 } +054 return proxiedPlayer; +055 }); +056 +057 registerContext(TextFormat.class, c -> { +058 String first = c.popFirstArg(); +059 Stream<TextFormat> colors = NamedTextColor.NAMES.values().stream().map(namedTextColor -> namedTextColor); +060 if (!c.hasFlag("colorsonly")) { +061 colors = Stream.concat(colors, Stream.of(TextDecoration.values())); +062 } +063 String filter = c.getFlagValue("filter", (String) null); +064 if (filter != null) { +065 filter = ACFUtil.simplifyString(filter); +066 String finalFilter = filter; +067 colors = colors.filter(color -> finalFilter.equals(ACFUtil.simplifyString(color.toString()))); +068 } +069 +070 TextColor match = NamedTextColor.NAMES.value(ACFUtil.simplifyString(first)); +071 if (match == null) { +072 String valid = colors.map(color -> "<c2>" + ACFUtil.simplifyString(color.toString()) + "</c2>") +073 .collect(Collectors.joining("<c1>,</c1> ")); +074 +075 throw new InvalidCommandArgument(MessageKeys.PLEASE_SPECIFY_ONE_OF, "{valid}", valid); +076 } +077 return match; +078 }); +079 } +080 +081 private OnlinePlayer getOnlinePlayer(ProxyServer server, VelocityCommandExecutionContext c) throws InvalidCommandArgument { +082 Player proxiedPlayer = ACFVelocityUtil.findPlayerSmart(server, c.getIssuer(), c.popFirstArg()); +083 if (proxiedPlayer == null) { +084 throw new InvalidCommandArgument(false); +085 } +086 return new OnlinePlayer(proxiedPlayer); +087 } +088}