As of yet I've hated the messy standards of MinecraftForge development and I've taken to a more dynamic method of approaching item registry; my items do work and they're in the game with textures, localized names and all of the qualities I've given them but as soon as it comes to using them (for instance returning them when breaking a block) Forge fails to accept returning a new instance, for example..
@Override
public Item getItemDropped(int metadata, Random random, int fortune)
{
return new myClass();
}
I'll give you my registration in a spoiler but as I say, it registers fine but only seems to be able to be used if I use a static instance of it, if anyone has come across something similar it would be much appreciated if you could share what you found!
And I'll throw in the item class I'm testing with
Edit: I can get around this by using the exact same method in a HashMap but I'd prefer not to.