Class CommandServiceImpl

All Implemented Interfaces:
CommandServiceGrpc.AsyncService, io.grpc.BindableService

public final class CommandServiceImpl extends CommandServiceGrpc.CommandServiceImplBase
  • Constructor Details

    • CommandServiceImpl

      public CommandServiceImpl(SoulFireServer soulFire)
  • Method Details

    • executeCommand

      public void executeCommand(CommandRequest request, io.grpc.stub.StreamObserver<CommandResponse> responseObserver)
      Description copied from interface: CommandServiceGrpc.AsyncService
      Executes a command string within the specified scope.
      The command is parsed and executed using the Brigadier command dispatcher.
      Permission requirements depend on the scope:
      - Global scope: Requires GLOBAL_COMMAND_EXECUTION permission
      - Instance scope: Requires INSTANCE_COMMAND_EXECUTION for the instance
      - Bot scope: Requires INSTANCE_COMMAND_EXECUTION for the parent instance
      Returns:
      - CommandResponse with the command's exit code
      Errors:
      - INVALID_ARGUMENT: If the scope is not set
      - PERMISSION_DENIED: If the user lacks required permissions
      - INTERNAL: If an unexpected error occurs during execution
      
    • tabCompleteCommand

      public void tabCompleteCommand(CommandCompletionRequest request, io.grpc.stub.StreamObserver<CommandCompletionResponse> responseObserver)
      Description copied from interface: CommandServiceGrpc.AsyncService
      Retrieves tab-completion suggestions for a partial command.
      Uses Brigadier's completion system to generate context-aware suggestions
      based on the command structure and current cursor position.
      Permission requirements depend on the scope (same as ExecuteCommand).
      Returns:
      - CommandCompletionResponse with a list of possible completions
      Errors:
      - INVALID_ARGUMENT: If the scope is not set
      - PERMISSION_DENIED: If the user lacks required permissions
      - INTERNAL: If an unexpected error occurs during completion