30 Commits

Author SHA1 Message Date
chickeneer 1d285db1aa Allow extension of module specific context classes
I am uncertain whether this is an api feature we want
to 'advertise', but I do not see a compelling reason
we need to block extending the classes.
2025-01-28 19:01:41 -06:00
Jeremy Wood d2d8833b9d Open CommandIssuer implementations for extension. (#416) 2025-01-28 18:55:16 -06:00
mohammed Alteneiji aff3e6a8c7 fix Velocity root command not checking for permissions correctly (#406) 2024-05-04 13:35:52 -05:00
chickeneer e9ca4fcd65 Change valid name checking to a configurable predicate #382
I see the value in allowing acf users to disable the valid name check.
I think others may want to go a step further and create their own
valid name verification. Those that want to truly accept all names can simply
do `CommandManager#setValidNamePredicate(name -> true)` with the new API.
Another solution I considered was having users override the isValidName method
on their CommandManager, but this functionality seemed more friendly.
2023-04-02 16:41:26 -05:00
AlexProgrammerDE 260a772903 Add backwards api support 2023-04-02 06:52:44 -05:00
AlexProgrammerDE 905d5406ec Add allow illegal name manager option 2023-04-02 06:52:44 -05:00
chickeneer 3652ceb975 Send invalid name feedback only after no player is returned #365 2022-04-27 17:22:49 -05:00
chickeneer 153a636fa1 Fix isOptional usage in onlinePlayer context resolvers
Null should not be returned when something is provided as an argument
2022-01-15 13:45:55 -06:00
chickeneer 4d3b0192fc Miscellaneous grammar improvements 2021-12-21 20:46:53 -06:00
chickeneer 3295b82df6 Remove redundant inspection suppressions 2021-12-21 20:46:36 -06:00
chickeneer 59de061bea Remove extra imports 2021-12-21 20:38:14 -06:00
chickeneer 74cbf09190 Merge branch 'kyngs_master'
# Conflicts:
#	velocity/pom.xml
#	velocity/src/main/java/co/aikar/commands/ACFVelocityUtil.java
#	velocity/src/main/java/co/aikar/commands/VelocityCommandCompletions.java
#	velocity/src/main/java/co/aikar/commands/VelocityCommandContexts.java
#	velocity/src/main/java/co/aikar/commands/VelocityCommandManager.java
#	velocity/src/main/java/co/aikar/commands/VelocityMessageFormatter.java
#	velocity/src/main/java/co/aikar/commands/VelocityRootCommand.java
2021-12-21 11:56:57 -06:00
chickeneer e323bc4a74 Use legacyAmpersand method for componentserializer 2021-12-21 11:48:51 -06:00
chickeneer 37f89ba7be Merge branch 'master' into AlbeMiglio_master
# Conflicts:
#	docs/acf-brigadier/allclasses-index.html
#	docs/acf-brigadier/allpackages-index.html
#	docs/acf-brigadier/co/aikar/commands/ACFBrigadierManager.html
#	docs/acf-brigadier/co/aikar/commands/class-use/ACFBrigadierManager.html
#	docs/acf-brigadier/co/aikar/commands/package-summary.html
#	docs/acf-brigadier/co/aikar/commands/package-tree.html
#	docs/acf-brigadier/co/aikar/commands/package-use.html
#	docs/acf-brigadier/deprecated-list.html
#	docs/acf-brigadier/index-all.html
#	docs/acf-brigadier/index.html
#	docs/acf-brigadier/overview-tree.html
#	docs/acf-bukkit/allclasses-index.html
#	docs/acf-bukkit/allpackages-index.html
#	docs/acf-bukkit/co/aikar/commands/ACFBukkitHelpTopic.html
#	docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html
#	docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletionContext.html
#	docs/acf-bukkit/co/aikar/commands/BukkitCommandCompletions.html
#	docs/acf-bukkit/co/aikar/commands/BukkitCommandContexts.html
#	docs/acf-bukkit/co/aikar/commands/BukkitCommandExecutionContext.html
#	docs/acf-bukkit/co/aikar/commands/BukkitCommandIssuer.html
#	docs/acf-bukkit/co/aikar/commands/BukkitCommandManager.html
#	docs/acf-bukkit/co/aikar/commands/BukkitConditionContext.html
#	docs/acf-bukkit/co/aikar/commands/BukkitLocales.html
#	docs/acf-bukkit/co/aikar/commands/BukkitMessageFormatter.html
#	docs/acf-bukkit/co/aikar/commands/BukkitRegisteredCommand.html
#	docs/acf-bukkit/co/aikar/commands/BukkitRootCommand.html
#	docs/acf-bukkit/co/aikar/commands/MinecraftMessageKeys.html
#	docs/acf-bukkit/co/aikar/commands/bukkit/contexts/OnlinePlayer.html
#	docs/acf-bukkit/co/aikar/commands/bukkit/contexts/class-use/OnlinePlayer.html
#	docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-summary.html
#	docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-tree.html
#	docs/acf-bukkit/co/aikar/commands/bukkit/contexts/package-use.html
#	docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitHelpTopic.html
#	docs/acf-bukkit/co/aikar/commands/class-use/ACFBukkitUtil.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletionContext.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandCompletions.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandContexts.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandExecutionContext.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandIssuer.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitCommandManager.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitConditionContext.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitLocales.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitMessageFormatter.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitRegisteredCommand.html
#	docs/acf-bukkit/co/aikar/commands/class-use/BukkitRootCommand.html
#	docs/acf-bukkit/co/aikar/commands/class-use/MinecraftMessageKeys.html
#	docs/acf-bukkit/co/aikar/commands/contexts/OnlinePlayer.html
#	docs/acf-bukkit/co/aikar/commands/contexts/class-use/OnlinePlayer.html
#	docs/acf-bukkit/co/aikar/commands/contexts/package-summary.html
#	docs/acf-bukkit/co/aikar/commands/contexts/package-tree.html
#	docs/acf-bukkit/co/aikar/commands/contexts/package-use.html
#	docs/acf-bukkit/co/aikar/commands/package-summary.html
#	docs/acf-bukkit/co/aikar/commands/package-tree.html
#	docs/acf-bukkit/co/aikar/commands/package-use.html
#	docs/acf-bukkit/deprecated-list.html
#	docs/acf-bukkit/index-all.html
#	docs/acf-bukkit/index.html
#	docs/acf-bukkit/overview-summary.html
#	docs/acf-bukkit/overview-tree.html
#	docs/acf-bungee/allclasses-index.html
#	docs/acf-bungee/allpackages-index.html
#	docs/acf-bungee/co/aikar/commands/ACFBungeeListener.html
#	docs/acf-bungee/co/aikar/commands/ACFBungeeUtil.html
#	docs/acf-bungee/co/aikar/commands/BungeeCommandCompletionContext.html
#	docs/acf-bungee/co/aikar/commands/BungeeCommandCompletions.html
#	docs/acf-bungee/co/aikar/commands/BungeeCommandContexts.html
#	docs/acf-bungee/co/aikar/commands/BungeeCommandExecutionContext.html
#	docs/acf-bungee/co/aikar/commands/BungeeCommandIssuer.html
#	docs/acf-bungee/co/aikar/commands/BungeeCommandManager.html
#	docs/acf-bungee/co/aikar/commands/BungeeConditionContext.html
#	docs/acf-bungee/co/aikar/commands/BungeeLocales.html
#	docs/acf-bungee/co/aikar/commands/BungeeMessageFormatter.html
#	docs/acf-bungee/co/aikar/commands/BungeeRegisteredCommand.html
#	docs/acf-bungee/co/aikar/commands/BungeeRootCommand.html
#	docs/acf-bungee/co/aikar/commands/MinecraftMessageKeys.html
#	docs/acf-bungee/co/aikar/commands/bungee/contexts/OnlinePlayer.html
#	docs/acf-bungee/co/aikar/commands/bungee/contexts/class-use/OnlinePlayer.html
#	docs/acf-bungee/co/aikar/commands/bungee/contexts/package-summary.html
#	docs/acf-bungee/co/aikar/commands/bungee/contexts/package-tree.html
#	docs/acf-bungee/co/aikar/commands/bungee/contexts/package-use.html
#	docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeListener.html
#	docs/acf-bungee/co/aikar/commands/class-use/ACFBungeeUtil.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletionContext.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandCompletions.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandContexts.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandExecutionContext.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandIssuer.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeCommandManager.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeConditionContext.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeLocales.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeMessageFormatter.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeRegisteredCommand.html
#	docs/acf-bungee/co/aikar/commands/class-use/BungeeRootCommand.html
#	docs/acf-bungee/co/aikar/commands/class-use/MinecraftMessageKeys.html
#	docs/acf-bungee/co/aikar/commands/contexts/OnlineProxiedPlayer.html
#	docs/acf-bungee/co/aikar/commands/contexts/class-use/OnlineProxiedPlayer.html
#	docs/acf-bungee/co/aikar/commands/contexts/package-summary.html
#	docs/acf-bungee/co/aikar/commands/contexts/package-tree.html
#	docs/acf-bungee/co/aikar/commands/contexts/package-use.html
#	docs/acf-bungee/co/aikar/commands/package-summary.html
#	docs/acf-bungee/co/aikar/commands/package-tree.html
#	docs/acf-bungee/co/aikar/commands/package-use.html
#	docs/acf-bungee/constant-values.html
#	docs/acf-bungee/deprecated-list.html
#	docs/acf-bungee/index-all.html
#	docs/acf-bungee/index.html
#	docs/acf-bungee/overview-summary.html
#	docs/acf-bungee/overview-tree.html
#	docs/acf-core/allclasses-index.html
#	docs/acf-core/allpackages-index.html
#	docs/acf-core/co/aikar/commands/ACFUtil.html
#	docs/acf-core/co/aikar/commands/AnnotationProcessor.html
#	docs/acf-core/co/aikar/commands/BaseCommand.html
#	docs/acf-core/co/aikar/commands/CommandCompletionContext.html
#	docs/acf-core/co/aikar/commands/CommandCompletions.AsyncCommandCompletionHandler.html
#	docs/acf-core/co/aikar/commands/CommandCompletions.CommandCompletionHandler.html
#	docs/acf-core/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html
#	docs/acf-core/co/aikar/commands/CommandCompletions.html
#	docs/acf-core/co/aikar/commands/CommandConditions.Condition.html
#	docs/acf-core/co/aikar/commands/CommandConditions.ParameterCondition.html
#	docs/acf-core/co/aikar/commands/CommandConditions.html
#	docs/acf-core/co/aikar/commands/CommandContexts.html
#	docs/acf-core/co/aikar/commands/CommandExecutionContext.html
#	docs/acf-core/co/aikar/commands/CommandHelp.html
#	docs/acf-core/co/aikar/commands/CommandHelpFormatter.html
#	docs/acf-core/co/aikar/commands/CommandIssuer.html
#	docs/acf-core/co/aikar/commands/CommandManager.html
#	docs/acf-core/co/aikar/commands/CommandOperationContext.html
#	docs/acf-core/co/aikar/commands/CommandParameter.html
#	docs/acf-core/co/aikar/commands/CommandReplacements.html
#	docs/acf-core/co/aikar/commands/ConditionContext.html
#	docs/acf-core/co/aikar/commands/ConditionFailedException.html
#	docs/acf-core/co/aikar/commands/ExceptionHandler.html
#	docs/acf-core/co/aikar/commands/ForwardingCommand.html
#	docs/acf-core/co/aikar/commands/HelpEntry.html
#	docs/acf-core/co/aikar/commands/InvalidCommandArgument.html
#	docs/acf-core/co/aikar/commands/InvalidCommandContextException.html
#	docs/acf-core/co/aikar/commands/IssuerLocaleChangedCallback.html
#	docs/acf-core/co/aikar/commands/Locales.html
#	docs/acf-core/co/aikar/commands/MessageFormatter.html
#	docs/acf-core/co/aikar/commands/MessageKeys.html
#	docs/acf-core/co/aikar/commands/MessageType.html
#	docs/acf-core/co/aikar/commands/RegisteredCommand.html
#	docs/acf-core/co/aikar/commands/RootCommand.html
#	docs/acf-core/co/aikar/commands/ShowCommandHelp.html
#	docs/acf-core/co/aikar/commands/UnresolvedDependencyException.html
#	docs/acf-core/co/aikar/commands/UnstableAPI.html
#	docs/acf-core/co/aikar/commands/annotation/CatchAll.html
#	docs/acf-core/co/aikar/commands/annotation/CatchUnknown.html
#	docs/acf-core/co/aikar/commands/annotation/CommandAlias.html
#	docs/acf-core/co/aikar/commands/annotation/CommandCompletion.html
#	docs/acf-core/co/aikar/commands/annotation/CommandPermission.html
#	docs/acf-core/co/aikar/commands/annotation/Conditions.html
#	docs/acf-core/co/aikar/commands/annotation/Default.html
#	docs/acf-core/co/aikar/commands/annotation/Dependency.html
#	docs/acf-core/co/aikar/commands/annotation/Description.html
#	docs/acf-core/co/aikar/commands/annotation/Flags.html
#	docs/acf-core/co/aikar/commands/annotation/HelpCommand.html
#	docs/acf-core/co/aikar/commands/annotation/HelpSearchTags.html
#	docs/acf-core/co/aikar/commands/annotation/Name.html
#	docs/acf-core/co/aikar/commands/annotation/Optional.html
#	docs/acf-core/co/aikar/commands/annotation/PreCommand.html
#	docs/acf-core/co/aikar/commands/annotation/Private.html
#	docs/acf-core/co/aikar/commands/annotation/Single.html
#	docs/acf-core/co/aikar/commands/annotation/Split.html
#	docs/acf-core/co/aikar/commands/annotation/Subcommand.html
#	docs/acf-core/co/aikar/commands/annotation/Syntax.html
#	docs/acf-core/co/aikar/commands/annotation/UnknownHandler.html
#	docs/acf-core/co/aikar/commands/annotation/Values.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/CatchAll.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/CatchUnknown.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/CommandAlias.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/CommandCompletion.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/CommandPermission.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Conditions.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Default.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Dependency.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Description.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Flags.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/HelpCommand.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/HelpSearchTags.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Name.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Optional.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/PreCommand.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Private.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Single.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Split.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Subcommand.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Syntax.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/UnknownHandler.html
#	docs/acf-core/co/aikar/commands/annotation/class-use/Values.html
#	docs/acf-core/co/aikar/commands/annotation/package-summary.html
#	docs/acf-core/co/aikar/commands/annotation/package-tree.html
#	docs/acf-core/co/aikar/commands/annotation/package-use.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.Nestable.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsExceptionUtil.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/ApacheCommonsLangUtil.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.Nestable.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsExceptionUtil.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/class-use/ApacheCommonsLangUtil.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/package-summary.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/package-tree.html
#	docs/acf-core/co/aikar/commands/apachecommonslang/package-use.html
#	docs/acf-core/co/aikar/commands/class-use/ACFUtil.html
#	docs/acf-core/co/aikar/commands/class-use/AnnotationProcessor.html
#	docs/acf-core/co/aikar/commands/class-use/BaseCommand.html
#	docs/acf-core/co/aikar/commands/class-use/CommandCompletionContext.html
#	docs/acf-core/co/aikar/commands/class-use/CommandCompletions.AsyncCommandCompletionHandler.html
#	docs/acf-core/co/aikar/commands/class-use/CommandCompletions.CommandCompletionHandler.html
#	docs/acf-core/co/aikar/commands/class-use/CommandCompletions.SyncCompletionRequired.html
#	docs/acf-core/co/aikar/commands/class-use/CommandCompletions.html
#	docs/acf-core/co/aikar/commands/class-use/CommandConditions.Condition.html
#	docs/acf-core/co/aikar/commands/class-use/CommandConditions.ParameterCondition.html
#	docs/acf-core/co/aikar/commands/class-use/CommandConditions.html
#	docs/acf-core/co/aikar/commands/class-use/CommandContexts.html
#	docs/acf-core/co/aikar/commands/class-use/CommandExecutionContext.html
#	docs/acf-core/co/aikar/commands/class-use/CommandHelp.html
#	docs/acf-core/co/aikar/commands/class-use/CommandHelpFormatter.html
#	docs/acf-core/co/aikar/commands/class-use/CommandIssuer.html
#	docs/acf-core/co/aikar/commands/class-use/CommandManager.html
#	docs/acf-core/co/aikar/commands/class-use/CommandOperationContext.html
#	docs/acf-core/co/aikar/commands/class-use/CommandParameter.html
#	docs/acf-core/co/aikar/commands/class-use/CommandReplacements.html
#	docs/acf-core/co/aikar/commands/class-use/ConditionContext.html
#	docs/acf-core/co/aikar/commands/class-use/ConditionFailedException.html
#	docs/acf-core/co/aikar/commands/class-use/ExceptionHandler.html
#	docs/acf-core/co/aikar/commands/class-use/ForwardingCommand.html
#	docs/acf-core/co/aikar/commands/class-use/HelpEntry.html
#	docs/acf-core/co/aikar/commands/class-use/InvalidCommandArgument.html
#	docs/acf-core/co/aikar/commands/class-use/InvalidCommandContextException.html
#	docs/acf-core/co/aikar/commands/class-use/IssuerLocaleChangedCallback.html
#	docs/acf-core/co/aikar/commands/class-use/Locales.html
#	docs/acf-core/co/aikar/commands/class-use/MessageFormatter.html
#	docs/acf-core/co/aikar/commands/class-use/MessageKeys.html
#	docs/acf-core/co/aikar/commands/class-use/MessageType.html
#	docs/acf-core/co/aikar/commands/class-use/RegisteredCommand.html
#	docs/acf-core/co/aikar/commands/class-use/RootCommand.html
#	docs/acf-core/co/aikar/commands/class-use/ShowCommandHelp.html
#	docs/acf-core/co/aikar/commands/class-use/UnresolvedDependencyException.html
#	docs/acf-core/co/aikar/commands/class-use/UnstableAPI.html
#	docs/acf-core/co/aikar/commands/contexts/ContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/IssuerAwareContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/IssuerOnlyContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/OptionalContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/SenderAwareContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/class-use/ContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/class-use/IssuerAwareContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/class-use/IssuerOnlyContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/class-use/OptionalContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/class-use/SenderAwareContextResolver.html
#	docs/acf-core/co/aikar/commands/contexts/package-summary.html
#	docs/acf-core/co/aikar/commands/contexts/package-tree.html
#	docs/acf-core/co/aikar/commands/contexts/package-use.html
#	docs/acf-core/co/aikar/commands/package-summary.html
#	docs/acf-core/co/aikar/commands/package-tree.html
#	docs/acf-core/co/aikar/commands/package-use.html
#	docs/acf-core/co/aikar/commands/processors/ConditionsProcessor.html
#	docs/acf-core/co/aikar/commands/processors/class-use/ConditionsProcessor.html
#	docs/acf-core/co/aikar/commands/processors/package-summary.html
#	docs/acf-core/co/aikar/commands/processors/package-tree.html
#	docs/acf-core/co/aikar/commands/processors/package-use.html
#	docs/acf-core/constant-values.html
#	docs/acf-core/deprecated-list.html
#	docs/acf-core/index-all.html
#	docs/acf-core/index.html
#	docs/acf-core/overview-summary.html
#	docs/acf-core/overview-tree.html
#	docs/acf-core/serialized-form.html
#	docs/acf-jda/allclasses-index.html
#	docs/acf-jda/allpackages-index.html
#	docs/acf-jda/co/aikar/commands/CommandConfig.html
#	docs/acf-jda/co/aikar/commands/CommandConfigProvider.html
#	docs/acf-jda/co/aikar/commands/CommandPermissionResolver.html
#	docs/acf-jda/co/aikar/commands/JDACommandCompletions.html
#	docs/acf-jda/co/aikar/commands/JDACommandConfig.html
#	docs/acf-jda/co/aikar/commands/JDACommandContexts.html
#	docs/acf-jda/co/aikar/commands/JDACommandEvent.html
#	docs/acf-jda/co/aikar/commands/JDACommandExecutionContext.html
#	docs/acf-jda/co/aikar/commands/JDACommandManager.html
#	docs/acf-jda/co/aikar/commands/JDACommandPermissionResolver.html
#	docs/acf-jda/co/aikar/commands/JDAConditionContext.html
#	docs/acf-jda/co/aikar/commands/JDAListener.html
#	docs/acf-jda/co/aikar/commands/JDALocales.html
#	docs/acf-jda/co/aikar/commands/JDAMessageFormatter.html
#	docs/acf-jda/co/aikar/commands/JDAOptions.html
#	docs/acf-jda/co/aikar/commands/JDARootCommand.html
#	docs/acf-jda/co/aikar/commands/annotation/Author.html
#	docs/acf-jda/co/aikar/commands/annotation/CrossGuild.html
#	docs/acf-jda/co/aikar/commands/annotation/SelfUser.html
#	docs/acf-jda/co/aikar/commands/annotation/class-use/Author.html
#	docs/acf-jda/co/aikar/commands/annotation/class-use/CrossGuild.html
#	docs/acf-jda/co/aikar/commands/annotation/class-use/SelfUser.html
#	docs/acf-jda/co/aikar/commands/annotation/package-summary.html
#	docs/acf-jda/co/aikar/commands/annotation/package-tree.html
#	docs/acf-jda/co/aikar/commands/annotation/package-use.html
#	docs/acf-jda/co/aikar/commands/class-use/CommandConfig.html
#	docs/acf-jda/co/aikar/commands/class-use/CommandConfigProvider.html
#	docs/acf-jda/co/aikar/commands/class-use/CommandPermissionResolver.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandCompletions.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandConfig.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandContexts.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandEvent.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandExecutionContext.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandManager.html
#	docs/acf-jda/co/aikar/commands/class-use/JDACommandPermissionResolver.html
#	docs/acf-jda/co/aikar/commands/class-use/JDAConditionContext.html
#	docs/acf-jda/co/aikar/commands/class-use/JDAListener.html
#	docs/acf-jda/co/aikar/commands/class-use/JDALocales.html
#	docs/acf-jda/co/aikar/commands/class-use/JDAMessageFormatter.html
#	docs/acf-jda/co/aikar/commands/class-use/JDAOptions.html
#	docs/acf-jda/co/aikar/commands/class-use/JDARootCommand.html
#	docs/acf-jda/co/aikar/commands/package-summary.html
#	docs/acf-jda/co/aikar/commands/package-tree.html
#	docs/acf-jda/co/aikar/commands/package-use.html
#	docs/acf-jda/index-all.html
#	docs/acf-jda/index.html
#	docs/acf-jda/overview-summary.html
#	docs/acf-jda/overview-tree.html
#	docs/acf-paper/allclasses-index.html
#	docs/acf-paper/allpackages-index.html
#	docs/acf-paper/co/aikar/commands/PaperBrigadierManager.html
#	docs/acf-paper/co/aikar/commands/PaperCommandCompletions.html
#	docs/acf-paper/co/aikar/commands/PaperCommandContexts.html
#	docs/acf-paper/co/aikar/commands/PaperCommandManager.html
#	docs/acf-paper/co/aikar/commands/class-use/PaperBrigadierManager.html
#	docs/acf-paper/co/aikar/commands/class-use/PaperCommandCompletions.html
#	docs/acf-paper/co/aikar/commands/class-use/PaperCommandContexts.html
#	docs/acf-paper/co/aikar/commands/class-use/PaperCommandManager.html
#	docs/acf-paper/co/aikar/commands/package-summary.html
#	docs/acf-paper/co/aikar/commands/package-tree.html
#	docs/acf-paper/co/aikar/commands/package-use.html
#	docs/acf-paper/deprecated-list.html
#	docs/acf-paper/index-all.html
#	docs/acf-paper/index.html
#	docs/acf-paper/overview-tree.html
#	docs/acf-sponge/allclasses-index.html
#	docs/acf-sponge/allpackages-index.html
#	docs/acf-sponge/co/aikar/commands/ACFSpongeListener.html
#	docs/acf-sponge/co/aikar/commands/ACFSpongeUtil.html
#	docs/acf-sponge/co/aikar/commands/MinecraftMessageKeys.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandCompletionContext.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandCompletions.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandContexts.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandExecutionContext.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandIssuer.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandManager.html
#	docs/acf-sponge/co/aikar/commands/SpongeCommandOperationContext.html
#	docs/acf-sponge/co/aikar/commands/SpongeConditionContext.html
#	docs/acf-sponge/co/aikar/commands/SpongeLocales.html
#	docs/acf-sponge/co/aikar/commands/SpongeMessageFormatter.html
#	docs/acf-sponge/co/aikar/commands/SpongeRegisteredCommand.html
#	docs/acf-sponge/co/aikar/commands/SpongeRootCommand.html
#	docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeListener.html
#	docs/acf-sponge/co/aikar/commands/class-use/ACFSpongeUtil.html
#	docs/acf-sponge/co/aikar/commands/class-use/MinecraftMessageKeys.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletionContext.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandCompletions.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandContexts.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandExecutionContext.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandIssuer.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandManager.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeCommandOperationContext.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeConditionContext.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeLocales.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeMessageFormatter.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeRegisteredCommand.html
#	docs/acf-sponge/co/aikar/commands/class-use/SpongeRootCommand.html
#	docs/acf-sponge/co/aikar/commands/contexts/CommandResultSupplier.html
#	docs/acf-sponge/co/aikar/commands/contexts/OnlinePlayer.html
#	docs/acf-sponge/co/aikar/commands/contexts/class-use/CommandResultSupplier.html
#	docs/acf-sponge/co/aikar/commands/contexts/class-use/OnlinePlayer.html
#	docs/acf-sponge/co/aikar/commands/contexts/package-summary.html
#	docs/acf-sponge/co/aikar/commands/contexts/package-tree.html
#	docs/acf-sponge/co/aikar/commands/contexts/package-use.html
#	docs/acf-sponge/co/aikar/commands/package-summary.html
#	docs/acf-sponge/co/aikar/commands/package-tree.html
#	docs/acf-sponge/co/aikar/commands/package-use.html
#	docs/acf-sponge/co/aikar/commands/sponge/contexts/OnlinePlayer.html
#	docs/acf-sponge/co/aikar/commands/sponge/contexts/class-use/OnlinePlayer.html
#	docs/acf-sponge/co/aikar/commands/sponge/contexts/package-summary.html
#	docs/acf-sponge/co/aikar/commands/sponge/contexts/package-tree.html
#	docs/acf-sponge/co/aikar/commands/sponge/contexts/package-use.html
#	docs/acf-sponge/deprecated-list.html
#	docs/acf-sponge/index-all.html
#	docs/acf-sponge/index.html
#	docs/acf-sponge/overview-summary.html
#	docs/acf-sponge/overview-tree.html
#	docs/acf-velocity/allclasses-index.html
#	docs/acf-velocity/allpackages-index.html
#	docs/acf-velocity/co/aikar/commands/ACFVelocityListener.html
#	docs/acf-velocity/co/aikar/commands/ACFVelocityUtil.html
#	docs/acf-velocity/co/aikar/commands/MinecraftMessageKeys.html
#	docs/acf-velocity/co/aikar/commands/VelocityCommandCompletionContext.html
#	docs/acf-velocity/co/aikar/commands/VelocityCommandCompletions.html
#	docs/acf-velocity/co/aikar/commands/VelocityCommandContexts.html
#	docs/acf-velocity/co/aikar/commands/VelocityCommandExecutionContext.html
#	docs/acf-velocity/co/aikar/commands/VelocityCommandIssuer.html
#	docs/acf-velocity/co/aikar/commands/VelocityCommandManager.html
#	docs/acf-velocity/co/aikar/commands/VelocityConditionContext.html
#	docs/acf-velocity/co/aikar/commands/VelocityLocales.html
#	docs/acf-velocity/co/aikar/commands/VelocityMessageFormatter.html
#	docs/acf-velocity/co/aikar/commands/VelocityRootCommand.html
#	docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityListener.html
#	docs/acf-velocity/co/aikar/commands/class-use/ACFVelocityUtil.html
#	docs/acf-velocity/co/aikar/commands/class-use/MinecraftMessageKeys.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletionContext.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandCompletions.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandContexts.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandExecutionContext.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandIssuer.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityCommandManager.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityConditionContext.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityLocales.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityMessageFormatter.html
#	docs/acf-velocity/co/aikar/commands/class-use/VelocityRootCommand.html
#	docs/acf-velocity/co/aikar/commands/contexts/OnlinePlayer.html
#	docs/acf-velocity/co/aikar/commands/contexts/class-use/OnlinePlayer.html
#	docs/acf-velocity/co/aikar/commands/contexts/package-summary.html
#	docs/acf-velocity/co/aikar/commands/contexts/package-tree.html
#	docs/acf-velocity/co/aikar/commands/contexts/package-use.html
#	docs/acf-velocity/co/aikar/commands/package-summary.html
#	docs/acf-velocity/co/aikar/commands/package-tree.html
#	docs/acf-velocity/co/aikar/commands/package-use.html
#	docs/acf-velocity/co/aikar/commands/velocity/contexts/OnlinePlayer.html
#	docs/acf-velocity/co/aikar/commands/velocity/contexts/class-use/OnlinePlayer.html
#	docs/acf-velocity/co/aikar/commands/velocity/contexts/package-summary.html
#	docs/acf-velocity/co/aikar/commands/velocity/contexts/package-tree.html
#	docs/acf-velocity/co/aikar/commands/velocity/contexts/package-use.html
#	docs/acf-velocity/deprecated-list.html
#	docs/acf-velocity/index-all.html
#	docs/acf-velocity/index.html
#	docs/acf-velocity/overview-summary.html
#	docs/acf-velocity/overview-tree.html
#	velocity/pom.xml
#	velocity/src/main/java/co/aikar/commands/ACFVelocityUtil.java
#	velocity/src/main/java/co/aikar/commands/VelocityCommandCompletions.java
#	velocity/src/main/java/co/aikar/commands/VelocityCommandContexts.java
#	velocity/src/main/java/co/aikar/commands/VelocityCommandManager.java
#	velocity/src/main/java/co/aikar/commands/VelocityMessageFormatter.java
#	velocity/src/main/java/co/aikar/commands/VelocityRootCommand.java
2021-12-21 11:42:52 -06:00
chickeneer e82c77c55c Merge branch 'master' into temp-alex 2021-12-21 11:19:12 -06:00
chickeneer 0661e678d1 Update version to 0.5.1-SNAPSHOT 2021-12-21 11:09:01 -06:00
kyngs 584531c5df Port Velocity to 3.1.0 2021-12-21 14:58:39 +01:00
Alberto Migliorato 118616b62b + Velocity 3.x support 2021-09-13 17:40:57 +02:00
Alberto Migliorato 24d97bb3eb Added Velocity 3.0.x support 2021-09-13 16:28:54 +02:00
AlexProgrammerDE b0792607db Add velocity 3.0.0 support 2021-07-07 19:28:22 +02:00
Frank van der Heijden a8b69370ae Add ability to force command registrations on velocity (#285) 2020-08-13 20:38:04 -04:00
Aikar 737694b71e Add missing locale imports to velocity 2020-04-12 13:45:26 -04:00
Hasan Demirtaş 5953e6a99e toLowerCase method with Locale.ENGLISH parameter.
Fixes #255
2020-04-12 13:19:35 -04:00
chickeneer 91e7b9d39b Eliminate all length requirements for username lengths GH-226 2019-07-22 18:33:16 -05:00
chickeneer 4b9bab652e Reduce required length of player names GH-226 2019-07-22 17:59:26 -05:00
egg82 96e5414b12 Updated Velocity to latest (#216)
* Updated Velocity to latest

Kyori text is the only breaking change, here.

* Updated Velocity scope
2019-06-21 19:41:15 -04:00
Aikar 17d89ad216 More work towards relocating OnlinePlayer context
This context was conflicting with each other over multiple
ACF modules, so if someone wanted to use multiple ACF's in same jar,
it would clash and not work.

The PR to move these was incomplete and this finishes fixing the
context handlers to support new and old.
2019-02-23 21:23:35 -05:00
Aikar 5c1d446c19 Fix improper optional usage in velocity 2019-02-23 21:22:30 -05:00
McLive f4a5d6f705 Move OnlinePlayer to own packages and deprecate at old locations (#194) 2019-02-23 17:35:37 -05:00
Crypnotic 9ad64975bc Added Velocity support (#182)
This PR adds support for the upcoming proxy Velocity.
https://www.velocitypowered.org/

A few note worthy issues:
 - Velocity does not provide a static method for its ProxyServer instance, so the instance has to be passed in by the plugin with `new VelocityCommandManager(proxy, this)`

- Velocity does not provide a way to get the Plugin logger with the provided Plugin or PluginContainer, so it must be fetched using `Logger logger = LoggerFactory.getLogger(plugin.getClass());` UNTESTED

- Velocity uses an annotation to signify the main class, meaning it can't be passed around like the Bukkit and Bungeecord JavaPlugin and Plugin. An Object has to be passed in which the PluginContainer is extracted from it using the Proxy's PluginManager 
`proxy.getPluginManager().getPlugin(plugin.getClass().getAnnotation(Plugin.class).id()).get();`

Any and all feedback is welcomed and appreciated.

*This implementation is essentially a copy/paste/rename. All code belongs to the original author, except the `ACFVelocityUtil#matchPlayer` which was originally written by md_5 and modified to use Velocity classes.*
2019-02-19 21:15:05 -05:00