the doRender() Override method for my class that extends Render never gets called.
Code for the Render class looks like this
public class SpellRenderer extends Render{
public void spellRenderer(Spell par1EntityArrow, double par2, double par4, double par6, float par8, float par9)
{
//does things
}
@Override
public void doRender(Entity par1EntityArrow, double par2, double par4, double par6, float par8, float par9) {
spellRenderer((Spell)par1EntityArrow, par2, par4, par6, par8, par9);
}
}
ClientProxy looks like this
public class ClientProxy extends nothign.WWands.CommonProxy {
@Override
public void registerRenderers() {
MinecraftForgeClient.preloadTexture(ITEMS_PNG);
MinecraftForgeClient.preloadTexture(BLOCK_PNG);
EntityRegistry.registerGlobalEntityID(LightSpell.class, "LightSpell", ModLoader.getUniqueEntityId());
RenderingRegistry.registerEntityRenderingHandler(LightSpell.class, new SpellRenderer());
}
}
And the proxy gets called inside the load method that's inside my main class...
The load method looks like this
@Init
public void load(FMLInitializationEvent event) {
proxy.registerRenderers();
this.GameRegistrys();
this.Recipes();
this.LanguageRegistrys();
}
If I follow the code through I see that the RenderingRegistry.registerEntityRenderingHandler methods get processed and that all goes as planned. But when a lightSpell is created the doRender() is never called.
I know that the lightSpells are being created because they extend EntityThrowable and fire their onImpact methods just fine. They're just invisible in the world.
So if you find a mistake I'm making or there is a new method for registering for a render then please let me know.