Class CommandAPIConfig<Impl extends CommandAPIConfig<Impl>>

java.lang.Object
dev.jorel.commandapi.CommandAPIConfig<Impl>
All Implemented Interfaces:
ChainableBuilder<Impl>

public abstract class CommandAPIConfig<Impl extends CommandAPIConfig<Impl>> extends Object implements ChainableBuilder<Impl>
A class to contain information about how to configure the CommandAPI during its loading step. You shouldn't use this class directly. Instead, use an appropriate subclass that corresponds to the platform you are developing for.
  • Constructor Details

    • CommandAPIConfig

      public CommandAPIConfig()
  • Method Details

    • verboseOutput

      public Impl verboseOutput(boolean value)
      Sets verbose output logging for the CommandAPI if true.
      Parameters:
      value - whether verbose output should be enabled
      Returns:
      this CommandAPIConfig
    • silentLogs

      public Impl silentLogs(boolean value)
      Silences all logs (including warnings, but not errors) for the CommandAPI if true.
      Parameters:
      value - whether logging suppression should be enabled
      Returns:
      this CommandAPIConfig
    • useLatestNMSVersion

      public Impl useLatestNMSVersion(boolean value)
      Sets whether the CommandAPI should run the latest available version of NMS support, regardless of Minecraft version. This may produce unexpected results if the latest NMS version is not supported by the CommandAPI. This can be used to potentially provide compatibility with future Minecraft versions before the CommandAPI pushes a release to support it.
      Parameters:
      value - whether the latest version of NMS should be used
      Returns:
      this CommandAPIConfig
    • missingExecutorImplementationMessage

      public Impl missingExecutorImplementationMessage(String value)
      Sets the message to display to users when a command has no executor. Available formatting parameters are:
      • %s - the executor class (lowercase)
      • %S - the executor class (normal case)
      Parameters:
      value - the message to display when a command has no executor
      Returns:
      this CommandAPIConfig
    • dispatcherFile

      public Impl dispatcherFile(File file)
      Specifies the location for the CommandAPI to store the internal representation of Brigadier's command tree.
      Parameters:
      file - a file pointing to where to store Brigadier's JSON command dispatcher, for example new File(getDataFolder(), "command_registration.json"). If this argument is null, this file will not be created.
      Returns:
      this CommandAPIConfig
    • addSkipSenderProxy

      public Impl addSkipSenderProxy(String... names)
    • addSkipSenderProxy

      public Impl addSkipSenderProxy(List<String> names)
    • initializeNBTAPI

      public <T> Impl initializeNBTAPI(Class<T> nbtContainerClass, Function<Object,T> nbtContainerConstructor)
      Initializes the CommandAPI's implementation of an NBT API.
      Type Parameters:
      T - the type that the NBT compound container class is
      Parameters:
      nbtContainerClass - the NBT compound container class. For example, NBTContainer.class
      nbtContainerConstructor - a function that takes an Object (NMS NBTTagCompound) and returns an instance of the provided NBT compound container. For example, NBTContainer::new.
      Returns:
      this CommandAPIConfig