Program: 174678
Project: 174678
Buggy source:
@SubscribeEvent(priority=EventPriority.HIGHEST) public void onItemTooltip(ItemTooltipEvent event){
  ArrayList<String> tooltip=(ArrayList<String>)event.getToolTip();
  ItemStack stack=event.getItemStack();
  NBTTagCompound nbt=NBTHelper.loadStackNBT(stack);
  if (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemArmor) {
    Rarity rarity=Rarity.getRarity(nbt);
    if (rarity != Rarity.DEFAULT) {
      tooltip.add("String_Node_Str");
      NBTTagList taglist=nbt.getTagList("String_Node_Str",10);
      NBTTagCompound damageNbt=taglist.getCompoundTagAt(0);
      NBTTagCompound speedNbt=taglist.getCompoundTagAt(1);
      DecimalFormat format=new DecimalFormat("String_Node_Str");
      tooltip.add(1,"String_Node_Str" + nbt.getInteger("String_Node_Str"));
      if (stack.getItem() instanceof ItemSword) {
        double playerDamage=event.getEntityPlayer().getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue();
        LostEclipse.LOGGER.info(playerDamage);
        tooltip.add(TextFormatting.BLUE + "String_Node_Str" + (nbt.getInteger("String_Node_Str") + (int)playerDamage)+ "String_Node_Str"+ (nbt.getInteger("String_Node_Str") + (int)playerDamage)+ "String_Node_Str");
        tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(speedNbt.getDouble("String_Node_Str"))+ "String_Node_Str");
      }
 else       if (stack.getItem() instanceof ItemArmor) {
        tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(damageNbt.getDouble("String_Node_Str"))+ "String_Node_Str");
        tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(speedNbt.getDouble("String_Node_Str"))+ "String_Node_Str");
      }
      tooltip.add("String_Node_Str");
      tooltip.add("String_Node_Str" + (stack.getMaxDamage() - stack.getItemDamage()) + "String_Node_Str"+ stack.getMaxDamage());
      tooltip.add("String_Node_Str");
      tooltip.add(TextFormatting.ITALIC + "String_Node_Str");
      if (stack.getItem() instanceof ItemSword) {
        for (        WeaponAttribute attribute : WeaponAttribute.values()) {
          if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) < 1)           tooltip.add(TextFormatting.BLUE + "String_Node_Str" + String.format("String_Node_Str",attribute.getAmount(nbt) * 100)+ "String_Node_Str"+ attribute.getName());
 else           if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) >= 1)           tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(attribute.getAmount(nbt))+ "String_Node_Str"+ attribute.getName());
        }
      }
 else       if (stack.getItem() instanceof ItemArmor) {
        for (        ArmorAttribute attribute : ArmorAttribute.values()) {
          if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) < 1)           tooltip.add(TextFormatting.BLUE + "String_Node_Str" + String.format("String_Node_Str",attribute.getAmount(nbt) * 100)+ "String_Node_Str"+ attribute.getName());
 else           if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) >= 1)           tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(attribute.getAmount(nbt))+ "String_Node_Str"+ attribute.getName());
        }
      }
    }
  }
}

Fixed version (ground truth):
@SubscribeEvent(priority=EventPriority.HIGHEST) public void onItemTooltip(ItemTooltipEvent event){
  ArrayList<String> tooltip=(ArrayList<String>)event.getToolTip();
  ItemStack stack=event.getItemStack();
  NBTTagCompound nbt=NBTHelper.loadStackNBT(stack);
  if (event.getEntityPlayer() != null) {
    IPlayerInformation info=event.getEntityPlayer().getCapability(CapabilityPlayerInformation.PLAYER_INFORMATION,null);
    if (info != null && (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemArmor)) {
      Rarity rarity=Rarity.getRarity(nbt);
      if (rarity != Rarity.DEFAULT) {
        tooltip.add("String_Node_Str");
        NBTTagList taglist=nbt.getTagList("String_Node_Str",10);
        NBTTagCompound damageNbt=taglist.getCompoundTagAt(0);
        NBTTagCompound speedNbt=taglist.getCompoundTagAt(1);
        DecimalFormat format=new DecimalFormat("String_Node_Str");
        tooltip.add(1,"String_Node_Str" + nbt.getInteger("String_Node_Str"));
        if (stack.getItem() instanceof ItemSword) {
          double playerDamage=event.getEntityPlayer().getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue();
          double attackSpeed=speedNbt.getDouble("String_Node_Str") + 4 + (PlayerStatHelper.ATTACK_SPEED_MULTIPLIER * (double)(info.getAgilityStat() + info.getBonusAgilityStat()));
          tooltip.add(TextFormatting.BLUE + "String_Node_Str" + (nbt.getInteger("String_Node_Str") + (int)playerDamage)+ "String_Node_Str"+ (nbt.getInteger("String_Node_Str") + (int)playerDamage)+ "String_Node_Str");
          tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(attackSpeed)+ "String_Node_Str");
        }
 else         if (stack.getItem() instanceof ItemArmor) {
          tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(damageNbt.getDouble("String_Node_Str"))+ "String_Node_Str");
          tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(speedNbt.getDouble("String_Node_Str"))+ "String_Node_Str");
        }
        tooltip.add("String_Node_Str");
        tooltip.add("String_Node_Str" + (stack.getMaxDamage() - stack.getItemDamage()) + "String_Node_Str"+ stack.getMaxDamage());
        tooltip.add("String_Node_Str");
        tooltip.add(TextFormatting.ITALIC + "String_Node_Str");
        if (stack.getItem() instanceof ItemSword) {
          for (          WeaponAttribute attribute : WeaponAttribute.values()) {
            if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) < 1)             tooltip.add(TextFormatting.BLUE + "String_Node_Str" + String.format("String_Node_Str",attribute.getAmount(nbt) * 100)+ "String_Node_Str"+ attribute.getName());
 else             if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) >= 1)             tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(attribute.getAmount(nbt))+ "String_Node_Str"+ attribute.getName());
          }
        }
 else         if (stack.getItem() instanceof ItemArmor) {
          for (          ArmorAttribute attribute : ArmorAttribute.values()) {
            if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) < 1)             tooltip.add(TextFormatting.BLUE + "String_Node_Str" + String.format("String_Node_Str",attribute.getAmount(nbt) * 100)+ "String_Node_Str"+ attribute.getName());
 else             if (attribute.hasAttribute(nbt) && attribute.getAmount(nbt) >= 1)             tooltip.add(TextFormatting.BLUE + "String_Node_Str" + format.format(attribute.getAmount(nbt))+ "String_Node_Str"+ attribute.getName());
          }
        }
      }
    }
  }
}