Now updated to Minecraft 1.3 - get version 2.3a if you use MC r1.3.2, or stick with 2.2g if you use MC r1.2.5 (we love Redpower).
Experimental version out for MC r1.4.2 - see this post (if it works, I'll stick the link here).
*Another* experimental version out for MC r1.4.6 - see this and grab it. I won't put it on the first post until there's an official IC2 release.
Release for MC r1.5.1: see v2.5 here.
Release for MC r1.6.4: see v3.0 here.
Release for MC r1.7.10: mod version 3.1, see here.
Release for MC r1.12.2: mod version v3.2, see here.
Here's my latest abomination - a display on your HUD of your armour and tool charge status. Shows the remaining durability (vanilla and ordinary armours), charge level (electric armours, batpacks, electric jetpacks) or fill level (chemical jetpacks, CF packs) of your currently equipped armour pieces, along with the charge/durability level remaining in your currently equipped tool. Stackable items display their name along with how many items are present in the stack. There is an option to display the item durability/charge as a percentage (accurate to 0.1%), along with the ability to show a snazzy colour-coded graphical overlay which is ultimately inferior to the text display in terms of precision.
(snip dead picture links)
Attached are the mod and the source code. Older versions used stub header files in the source which allowed me to access IC2 and Gravitation Suite information. Don't include them in the final mod if you compile your own variant and don't extract them if you've already got the development versions. Newer versions don't have this, but v3.1 includes the APIs for IC2 and Redstone Flux energy in the source for ease of access (likewise, they must also be removed from the final package).
Version 3.0 added an API for mod developers. Use that to choose what your item displays to the HUD.
(snip changelog and instructions - download the mod and look in the readme file for this)
Do whatever you like with this mod and its source - distribute it, stick it in a modpack, learn from it, carve it into pieces and stick in your own code, whatever. All I ask is that you don't distribute modified versions using the same class names and locations (so that we don't end up with conflicts if someone installs both mine and your version at the same time).