CommandAPI 11.1.0
An API for the command UI introduced in Minecraft 1.13
dev.jorel.commandapi.BukkitPlatform< Source > Interface Template Reference
+ Inheritance diagram for dev.jorel.commandapi.BukkitPlatform< Source >:

Public Member Functions

void onLoad ()
 
CommandMap getCommandMap ()
 
BukkitCommandSender<? extends CommandSender > wrapCommandSender (CommandSender sender)
 
Platform activePlatform ()
 
BukkitCommandAPIMessenger getMessenger ()
 
CommandRegistrationStrategy< Source > createCommandRegistrationStrategy ()
 
void onEnable ()
 Platform-specific stuff that should happen when the CommandAPI is enabled.
 
void onDisable ()
 Platform-specific stuff that should happen when the CommandAPI is disabled.
 
AbstractCommandSender<? extends CommandSender > getSenderForCommand (CommandContext< Source > cmdCtx, boolean forceNative)
 Converts a Brigadier CommandContext into an AbstractCommandSender wrapping the platform's CommandSender. More...
 
AbstractCommandSender<? extends CommandSender > getCommandSenderFromCommandSource (Source source)
 Converts the class used by Brigadier when running commands into an AbstractCommandSender wrapping the platform's CommandSender. More...
 
Source getBrigadierSourceFromCommandSender (AbstractCommandSender<? extends CommandSender > sender)
 Converts a CommandSender wrapped in an AbstractCommandSender to an object Brigadier can use when running its commands. More...
 
void registerPermission (String string)
 
SuggestionProvider< Source > getSuggestionProvider (SuggestionProviders suggestionProvider)
 
void preCommandRegistration (String commandName)
 Stuff to run before a command is generated. More...
 
void postCommandRegistration (RegisteredCommand registeredCommand, LiteralCommandNode< Source > resultantNode, List< LiteralCommandNode< Source > > aliasNodes)
 Stuff to run after a command has been generated. More...
 
LiteralCommandNode< Source > registerCommandNode (LiteralArgumentBuilder< Source > node, String namespace)
 Registers a Brigadier command node and returns the built node.
 
void unregister (String commandName, boolean unregisterNamespaces)
 Unregisters a command from the CommandGraph so it can't be run anymore. More...
 
CommandAPIMessenger<?, ?> setupMessenger ()
 Creates a new CommandAPIMessenger for this platform. More...
 
CommandDispatcher< Source > getBrigadierDispatcher ()
 
void createDispatcherFile (File file, CommandDispatcher< Source > dispatcher) throws IOException
 Creates a JSON file that describes the hierarchical structure of the commands that have been registered by the server. More...
 
default CommandAPILogger getLogger ()
 
void reloadDataPacks ()
 Reloads the server's data packs to include CommandAPI commands.
 
void updateRequirements (AbstractPlayer<?> player)
 Updates the requirements required for a given player to execute a command. More...
 
AbstractCommandAPICommand<?, Argument, CommandSender > newConcreteCommandAPICommand (CommandMetaData< CommandSender > meta)
 
Argument newConcreteMultiLiteralArgument (String nodeName, String[] literals)
 
Argument newConcreteLiteralArgument (String nodeName, String literal)
 

Member Function Documentation

◆ createDispatcherFile()

void dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.createDispatcherFile ( File  file,
CommandDispatcher< Source >  dispatcher 
) throws IOException
inherited

Creates a JSON file that describes the hierarchical structure of the commands that have been registered by the server.

Parameters
fileThe JSON file to write to
dispatcherThe Brigadier CommandDispatcher
Exceptions
IOExceptionWhen the file fails to be written to

◆ getBrigadierDispatcher()

CommandDispatcher< Source > dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.getBrigadierDispatcher ( )
inherited
Returns
The Brigadier CommandDispatcher tree being used by the platform's server

◆ getBrigadierSourceFromCommandSender()

Source dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.getBrigadierSourceFromCommandSender ( AbstractCommandSender<? extends CommandSender >  sender)
inherited

Converts a CommandSender wrapped in an AbstractCommandSender to an object Brigadier can use when running its commands.

Parameters
senderThe CommandSender to convert, wrapped in an AbstractCommandSender
Returns
The Brigadier Source object represented by the sender

◆ getCommandSenderFromCommandSource()

AbstractCommandSender<? extends CommandSender > dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.getCommandSenderFromCommandSource ( Source  source)
inherited

Converts the class used by Brigadier when running commands into an AbstractCommandSender wrapping the platform's CommandSender.

Parameters
sourceThe Brigadier source object
Returns
An AbstractCommandSender wrapping the CommandSender represented by the source object

◆ getLogger()

default CommandAPILogger dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.getLogger ( )
inherited
Returns
A new default Logger meant for the CommandAPI to use. This logger will be used by the CommandAPI if one is not set using CommandAPI#setLogger(CommandAPILogger).

◆ getSenderForCommand()

AbstractCommandSender<? extends CommandSender > dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.getSenderForCommand ( CommandContext< Source >  cmdCtx,
boolean  forceNative 
)
inherited

Converts a Brigadier CommandContext into an AbstractCommandSender wrapping the platform's CommandSender.

Parameters
cmdCtxA Brigadier CommandContext
forceNativeTrue if the CommandSender should be forced into a native CommandSender
Returns
An AbstractCommandSender wrapping the CommandSender represented by the CommandContext

◆ postCommandRegistration()

void dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.postCommandRegistration ( RegisteredCommand  registeredCommand,
LiteralCommandNode< Source >  resultantNode,
List< LiteralCommandNode< Source > >  aliasNodes 
)
inherited

Stuff to run after a command has been generated.

Parameters
registeredCommandA RegisteredCommand instance that holds the CommandAPI information for the command
resultantNodeThe node that was registered
aliasNodesAny alias nodes that were also registered as a part of this registration process

◆ preCommandRegistration()

void dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.preCommandRegistration ( String  commandName)
inherited

Stuff to run before a command is generated.

For Bukkit, this involves checking if a command was declared in the plugin.yml when it isn't supposed to be.

Parameters
commandNameThe name of the command about to be registered

◆ setupMessenger()

CommandAPIMessenger<?, ?> dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.setupMessenger ( )
inherited

Creates a new CommandAPIMessenger for this platform.

This is only intended to be called once by CommandAPIHandler when it is enabling the CommandAPI.

Returns
The new CommandAPIMessenger that was created.

◆ unregister()

void dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.unregister ( String  commandName,
boolean  unregisterNamespaces 
)
inherited

Unregisters a command from the CommandGraph so it can't be run anymore.

Parameters
commandNamethe name of the command to unregister
unregisterNamespaceswhether the unregistration system should attempt to remove versions of the command that start with a namespace. Eg. minecraft:command, bukkit:command, or plugin:command

◆ updateRequirements()

void dev.jorel.commandapi.CommandAPIPlatform< Argument, CommandSender, Source >.updateRequirements ( AbstractPlayer<?>  player)
inherited

Updates the requirements required for a given player to execute a command.

Parameters
playerthe player to update