package net.bitjump.bukkit.bitlib.util;
import java.text.MessageFormat;
import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
public class MessageUtil
{
private MessageUtil() { }
public static String format(String format, Object... objects)
{
try
{
format = MessageFormat.format(format, objects);
}
catch (Exception e)
{
// dodgy object?
}
return ChatColor.translateAlternateColorCodes('&', format);
}
public static String getArticle(String string)
{
if(isVowel(string.charAt(0)))
return "an";
return "a";
}
public static String getPlural(String singular, int count)
{
if(Math.abs(count) != 1 && !(singular.toLowerCase().endsWith("s")))
return singular + "s";
return singular;
}
public static String getComplexPlural(int count, String singular, String plural)
{
return Math.abs(count)==1 ? singular : plural;
}
public static boolean isVowel(char c)
{
return "AEIOUaeiou".indexOf(c) != -1;
}
public static void paginate(CommandSender sender, List<String> list, int page, int pageLength)
{
sender.sendMessage(format("List: Page ({0} of {1})", page, getPages(list.size(), pageLength)));
int i = 0;
int k = 0;
page--;
for (String s : list)
{
k++;
if ((((page * pageLength) + i + 1) == k) && (k != ((page * pageLength) + pageLength + 1)))
{
i++;
sender.sendMessage(format(" - {0}", s));
}
}
}
public static int getPages(int length, int pageLength)
{
return length % pageLength == 0 ? length / pageLength : length / pageLength + 1;
}
}