# Creating Commands

## Creating Commands

In Player Auctions you can create a sub command that will allow you to create sub commands.

## Registering

You can register the commands using the [CommandRegistry](https://javadocs.olziedev.com/nightmarket/com/olziedev/nightmarket/api/market/command/CommandRegistry.html) to register your command.

Here is an example to register your command, instance is your expansions' instance.

```java
NightMarketAPI.getInstance().getCommandRegistry().addSubCommand(instance);
```

### Examples

Here is an example of a sub command class, this will let you be able to create sub commands.

```java
import com.olziedev.nightmarket.api.market.command.MCommand;
import org.bukkit.command.CommandSender;

import java.util.List;

public class ExampleCommand extends MCommand {

    public ExampleCommand() {
        super("example");
        this.executorType = ExecutorType.PLAYER_ONLY;
    }

    @Override
    public void execute(CommandSender sender, String[] arguments) {

    }

    @Override
    public List<String> onTabComplete(CommandSender sender, String[] arguments) {
        return super.onTabComplete(sender, arguments);
    }
}
```

The executor type is the type of executor that can execute the command, you can set it to PLAYER\_ONLY, CONSOLE\_ONLY, or null for both.

The onTabComplete method is a optional the method that will show a list of strings that will be shown to the player.
