@Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { if (!stack.hasTagCompound()) return; NBTTagCompound tags = stack.getTagCompound(); if (tags.hasKey("Energy")) { String color = ""; // double joules = this.getJoules(stack); int power = tags.getInteger("Energy"); if (power != 0) { if (power <= this.getMaxEnergyStored(stack) / 3) color = "\u00a74"; else if (power > this.getMaxEnergyStored(stack) * 2 / 3) color = "\u00a72"; else color = "\u00a76"; } String energy = new StringBuilder() .append(color) .append(tags.getInteger("Energy")) .append("/") .append(getMaxEnergyStored(stack)) .append(" RF") .toString(); list.add(energy); } if (tags.hasKey("InfiTool")) { boolean broken = tags.getCompoundTag("InfiTool").getBoolean("Broken"); if (broken) list.add("\u00A7oBroken"); else { int head = tags.getCompoundTag("InfiTool").getInteger("Head"); int handle = tags.getCompoundTag("InfiTool").getInteger("Handle"); String headName = getAbilityNameForType(head, 0); if (!headName.equals("")) list.add(getStyleForType(head) + headName); String handleName = getAbilityNameForType(handle, 0); if (!handleName.equals("") && handle != head) list.add(getStyleForType(handle) + handleName); boolean displayToolTips = true; int tipNum = 0; while (displayToolTips) { tipNum++; String tooltip = "Tooltip" + tipNum; if (tags.getCompoundTag("InfiTool").hasKey(tooltip)) { String tipName = tags.getCompoundTag("InfiTool").getString(tooltip); if (!tipName.equals("")) list.add(tipName); } else displayToolTips = false; } } } int attack = (int) (tags.getCompoundTag("InfiTool").getInteger("Attack") * this.getDamageModifier()); list.add( "\u00A79+" + attack + " " + StatCollector.translateToLocalFormatted("attribute.name.generic.attackDamage")); list.add( "\u00A79+" + tags.getCompoundTag("InfiTool").getInteger("Attack") + " " + StatCollector.translateToLocalFormatted("attribute.name.ammo.attackDamage")); }