package com.supaham.commons.bukkit.utils;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
/**
* Utility methods for working with {@link CommandSender} instances. This class contains methods
* such as {@link #getName(CommandSender)}, and more.
*
* @since 0.1
*/
public final class CommandSenderUtils {
public static final String CONSOLE_NAME = "CONSOLE";
/**
* Gets the name of a {@link CommandSender}. If the sender is a {@link Player}, their display
* name is returned. If the the sender is the {@link ConsoleCommandSender}, "CONSOLE" is
* returned. Otherwise, {@link CommandSender#getName()} is returned.
*
* @param sender sender to get name for
*
* @return {@code sender}'s name
*/
public static String getDisplayName(CommandSender sender) {
if (sender instanceof Player) {
return ((Player) sender).getDisplayName();
} else if (sender instanceof ConsoleCommandSender) {
return CONSOLE_NAME;
}
return sender.getName();
}
/**
* Gets the name of a {@link CommandSender}. If the sender is a {@link Player}, their
* name is returned. If the the sender is the {@link ConsoleCommandSender}, {@link #CONSOLE_NAME}
* is returned. Otherwise, {@link CommandSender#getName()} is returned.
*
* @param sender sender to get name for
*
* @return {@code sender}'s name
*/
public static String getName(CommandSender sender) {
if (sender instanceof Player) {
return sender.getName();
} else if (sender instanceof ConsoleCommandSender) {
return CONSOLE_NAME;
}
return sender.getName();
}
private CommandSenderUtils() {}
}