package com.carpentersblocks.util.handler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import cpw.mods.fml.common.registry.LanguageRegistry;
public class ChatHandler {
/**
* Sends a chat message to a player.
*/
public static void sendMessageToPlayer(String string, EntityPlayer entityPlayer)
{
sendMessageToPlayer(string, entityPlayer, true);
}
/**
* Sends a chat message to a player with style override.
*/
public static void sendMessageToPlayer(String string, EntityPlayer entityPlayer, boolean styled)
{
ChatComponentTranslation chat = new ChatComponentTranslation(string, new Object[0]);
if (styled) {
chat.getChatStyle().setColor(EnumChatFormatting.GOLD);
}
entityPlayer.addChatMessage(chat);
}
/**
* Gets full unlocalized name for ItemStack (e.g. tile.dirt.name)
*
* @param itemStack the ItemStack
* @return the full unlocalized string
*/
public static String getUnlocalizedNameEfficiently(ItemStack itemStack)
{
if (itemStack != null && itemStack.getItem() != null) {
return itemStack.getItem().getUnlocalizedNameInefficiently(itemStack) + ".name";
}
return "";
}
/**
* Gets default language display name for ItemStack (using en_US locale).
*
* @param itemStack the ItemStack
* @return the display name
*/
public static String getDefaultTranslation(ItemStack itemStack)
{
// Translate using FML's language registry
String name = LanguageRegistry.instance().getStringLocalization(getUnlocalizedNameEfficiently(itemStack), "en_US");
if (name.equals("")) {
// Translate using Minecraft's language registry
name = StatCollector.translateToFallback(getUnlocalizedNameEfficiently(itemStack));
}
return name;
}
}