package org.bukkit.command; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; /** * Represents a class which can suggest tab completions for commands. */ public interface TabCompleter { /** * Requests a list of possible completions for a command argument. * * @param sender Source of the command. For players tab-completing a * command inside of a command block, this will be the player, not * the command block. * @param command Command which was executed * @param alias The alias used * @param args The arguments passed to the command, including final * partial argument to be completed and command label * @return A List of possible completions for the final argument, or null * to default to the command executor */ @Nullable public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args); }