Interface CommandManager
- All Known Subinterfaces:
CommandManager.Mutable
The command manager may be replaced at any point during the game lifecycle when the client chooses to reload registries.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A mutable view of the command manager, allowing additional commands to be registered. -
Method Summary
Modifier and TypeMethodDescriptioncommandMapping
(String alias) Gets theCommandMapping
associated with the requested alias, if any.Provides possible completions based on the input argument string.<T extends Subject & Audience>
List<CommandCompletion> Gets all the command aliases known to this command manager.Gets all themappings
known to this command manager.Collection
<org.spongepowered.plugin.PluginContainer> plugins()
Gets aCollection
ofPluginContainer
s with commands registered.Executes a command based on the provided arguments.<T extends Subject & Audience>
CommandResult<T> Optional
<CommandRegistrar<T>> registrar
(io.leangen.geantyref.TypeToken<T> type) Get a registrar that will register commands oftype
to the active command manager.<T> Optional
<CommandRegistrar<T>> Get a registrar that will register commands oftype
to the active command manager.void
Asks the server to send an updated client completion command tree to the specifiedServerPlayer
.
-
Method Details
-
registrar
Get a registrar that will register commands oftype
to the active command manager.This allows for out-of-band command registrations between calls to
RegisterCommandEvent
, though where possible that event should be preferred.When commands are registered outside of events, changes will not be automatically reflected in client command views. To update any applicable clients, see
updateCommandTreeForPlayer(ServerPlayer)
.- Type Parameters:
T
- registrar type- Parameters:
type
- the registrar type- Returns:
- a registrar, if any is known for
type
-
registrar
Get a registrar that will register commands oftype
to the active command manager.This allows for out-of-band command registrations between calls to
RegisterCommandEvent
, though where possible that event should be preferred.When commands are registered outside of events, changes will not be automatically reflected in client command views. To update any applicable clients, see
updateCommandTreeForPlayer(ServerPlayer)
.- Type Parameters:
T
- registrar type- Parameters:
type
- the registrar type- Returns:
- a registrar, if any is known for
type
-
process
Executes a command based on the provided arguments.- Parameters:
arguments
- The arguments to parse and execute- Returns:
- The
CommandResult
- Throws:
CommandException
- if something goes wrong during parsing or execution
-
process
<T extends Subject & Audience> CommandResult process(T subjectReceiver, String arguments) throws CommandException Executes a command based on the provided arguments, with a provided object that is both aSubject
for permission checks and aAudience
to return command messages to.- Type Parameters:
T
- The type of receiver- Parameters:
subjectReceiver
- TheSubject
&Audience
arguments
- The arguments to parse and execute- Returns:
- The
CommandResult
- Throws:
CommandException
- if something goes wrong during parsing or execution
-
process
Executes a command based on the provided arguments, with a providedSubject
for permission checks and a providedAudience
to return command messages to.- Parameters:
subject
- TheSubject
for permission checkschannel
- TheAudience
to return messages toarguments
- The arguments of the command- Returns:
- The
CommandResult
- Throws:
CommandException
- if something goes wrong during parsing or execution
-
complete
Provides possible completions based on the input argument string.- Parameters:
arguments
- The arguments- Returns:
- The completions
-
complete
<T extends Subject & Audience> List<CommandCompletion> complete(T subjectReceiver, String arguments) -
complete
-
knownAliases
Gets all the command aliases known to this command manager.- Returns:
- The known aliases
-
knownMappings
Set<CommandMapping> knownMappings()Gets all themappings
known to this command manager.- Returns:
- The known mappings.
-
plugins
Collection<org.spongepowered.plugin.PluginContainer> plugins()Gets aCollection
ofPluginContainer
s with commands registered.- Returns:
- A
Collection
ofPluginContainer
s.
-
commandMapping
Gets theCommandMapping
associated with the requested alias, if any.- Parameters:
alias
- The alias to get the mapping for- Returns:
- The
CommandMapping
, if any
-
updateCommandTreeForPlayer
Asks the server to send an updated client completion command tree to the specifiedServerPlayer
.This should be used sparingly as repeated calls may cause performance issues. Implementations may choose to ignore this call if it deems it unnecessary to send an update.
This method may return before the updates have been sent.
- Parameters:
player
- TheServerPlayer
to send the command tree to.
-