Code Patterns

Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.

← Back to Patterns
command

Simple Command

Create a simple command using AbstractCommand. Best for server-wide commands or when you dont need ECS/player access. Supports async execution via CompletableFuture.

Example Code

java
public class MyCommand extends AbstractCommand {

    public MyCommand(String name, String description) {
        super(name, description);
    }

    @Nullable
    @Override
    protected CompletableFuture<Void> execute(@Nonnull CommandContext context) {
        context.sendMessage(Message.raw("Command executed!"));
        return CompletableFuture.completedFuture(null);
    }
}

Thread Safety

Commands can be async. Return CompletableFuture.completedFuture(null) for synchronous execution.

Common Mistakes

Forgetting @Nullable on execute method. Not returning CompletableFuture.