package org.bukkit.event.player; import org.apache.commons.lang.Validate; import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import java.util.Collection; /** * Called when a player attempts to tab-complete a chat message. */ public class PlayerChatTabCompleteEvent extends PlayerEvent { private static final HandlerList handlers = new HandlerList(); private final String message; private final String lastToken; private final Collection<String> completions; public PlayerChatTabCompleteEvent(final Player who, final String message, final Collection<String> completions) { super(who); Validate.notNull(message, "Message cannot be null"); Validate.notNull(completions, "Completions cannot be null"); this.message = message; int i = message.lastIndexOf(' '); if(i < 0) { this.lastToken = message; } else { this.lastToken = message.substring(i + 1); } this.completions = completions; } /** * Gets the chat message being tab-completed. * * @return the chat message */ public String getChatMessage() { return message; } /** * Gets the last 'token' of the message being tab-completed. * <p> * The token is the substring starting with the character after the last * space in the message. * * @return The last token for the chat message */ public String getLastToken() { return lastToken; } /** * This is the collection of completions for this event. * * @return the current completions */ public Collection<String> getTabCompletions() { return completions; } @Override public HandlerList getHandlers() { return handlers; } public static HandlerList getHandlerList() { return handlers; } }