diff --git a/src/main/java/appeng/util/item/AEItemStack.java b/src/main/java/appeng/util/item/AEItemStack.java index be9eaf688da..1c988d22488 100644 --- a/src/main/java/appeng/util/item/AEItemStack.java +++ b/src/main/java/appeng/util/item/AEItemStack.java @@ -30,11 +30,14 @@ import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.item.EntityItem; +import net.minecraft.event.HoverEvent; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.IChatComponent; import net.minecraft.util.StatCollector; import net.minecraft.world.World; @@ -558,7 +561,19 @@ public String getUnlocalizedName() { @Override public IChatComponent getChatComponent() { - return this.getItemStack().func_151000_E(); + final ItemStack itemStack = this.getItemStack(); + // Use ChatComponentTranslation so the client translates the name in their own locale. + // Wrap in brackets and attach hover event (shows item tooltip) like vanilla func_151000_E(). + final String translationKey = itemStack.getItem().getUnlocalizedName(itemStack) + ".name"; + final IChatComponent nameComponent = new ChatComponentTranslation(translationKey); + final ChatComponentText result = new ChatComponentText("["); + result.appendSibling(nameComponent); + result.appendText("]"); + result.getChatStyle().setChatHoverEvent( + new HoverEvent( + HoverEvent.Action.SHOW_ITEM, + new ChatComponentText(itemStack.writeToNBT(new NBTTagCompound()).toString()))); + return result; } // addon...