package com.supaham.commons.bukkit.commands;
import com.sk89q.intake.CommandException;
import com.sk89q.intake.argument.Namespace;
import com.sk89q.intake.completion.CommandCompleter;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.util.List;
import java.util.stream.Collectors;
/**
* Provides the names of connected {@link Player}s as suggestions.
*
* @since 0.1
*/
public class PlayerCommandCompleter implements CommandCompleter {
@Override
public List<String> getSuggestions(String arguments, Namespace namespace)
throws CommandException {
String l = arguments.toLowerCase().trim();
return Bukkit.getOnlinePlayers().stream()
.filter(player -> player.getName().toLowerCase().startsWith(l)).map(Player::getName)
.collect(Collectors.toList());
}
}