@Target({TYPE,METHOD}) @Retention(RUNTIME) public @interface Async
Marks a command route for asynchronous execution.

Requires that the CommandDispatcher is configured with an Executor.

Thread-safety warning for Paper/Bukkit: When a route is marked as async, the entire dispatch pipeline (guards, parsing, executor) runs on the provided executor — not on the server main thread. On Paper/Bukkit, most API calls (Player, World, Entity, Inventory, etc.) must run on the main thread. Command executors that use these APIs must schedule work back to the main thread explicitly. The Paper adapter's sendMessage handles thread-safety automatically when a Plugin reference is provided. On Velocity, the proxy API is generally safe to call from any thread.