You are doing amost everything wrong:
- You have to make static instances of the class, not make a new instance everytime.
- You need to register those static instances using
GameRegistry.registerItem()
.
- Reference your static Item instances directly, not using
GameRegistry.findItem(
.
- Register your recipes after Item and Block initialization.
- Your Items and Blocks have to be registered in the
FMLPreInitializationEvent
, not the
FMLInitializationEvent
.
- You have to setup proxies and register your item renderers in the client proxy.
- Use a proper mod-id and mod name.
- Don't reference client-only classes in shared code, but do it in a client-only environment, eg. the client proxy.