This is problem I ran into when sitting down and deciding to work on a rsps source. Had no idea what possible dupes previous coders accidentally created in the process. Probably unnecessary to some, but only solution I came up with was creating my own identification system for each item created then rewriting how items were added, deleted, equipped, staked, banked, etc (unfortunately I decided to get rid of stacking items apart from banks and added virtual quiver/rune pool for ammo/runes) then having a task continuously monitoring through banks, inventories, and familiar storage for duplicated strings. I'm almost done with it and tested it. Works so far, but it was a hassle in the beginning for me since I'm still learning java. Good hands on experience that I'll remember though.
You don't have to do it, but it's just a suggestion I have since it's something that's more stable as you develop your code. You won't have to worry about new content and accidentally creating duping methods along the way. Though, the only problem I'm worried about is the performance of the server as the identification system grows and more monitoring has to be done.
Can give outline of how you want to go about if you want to do same thing.