001package net.minecraft.client.renderer.entity;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import net.minecraft.client.model.ModelSilverfish;
006import net.minecraft.entity.Entity;
007import net.minecraft.entity.EntityLiving;
008import net.minecraft.entity.monster.EntitySilverfish;
009
010@SideOnly(Side.CLIENT)
011public class RenderSilverfish extends RenderLiving
012{
013    public RenderSilverfish()
014    {
015        super(new ModelSilverfish(), 0.3F);
016    }
017
018    /**
019     * Return the silverfish's maximum death rotation.
020     */
021    protected float getSilverfishDeathRotation(EntitySilverfish par1EntitySilverfish)
022    {
023        return 180.0F;
024    }
025
026    /**
027     * Renders the silverfish.
028     */
029    public void renderSilverfish(EntitySilverfish par1EntitySilverfish, double par2, double par4, double par6, float par8, float par9)
030    {
031        super.doRenderLiving(par1EntitySilverfish, par2, par4, par6, par8, par9);
032    }
033
034    /**
035     * Disallows the silverfish to render the renderPassModel.
036     */
037    protected int shouldSilverfishRenderPass(EntitySilverfish par1EntitySilverfish, int par2, float par3)
038    {
039        return -1;
040    }
041
042    protected float getDeathMaxRotation(EntityLiving par1EntityLiving)
043    {
044        return this.getSilverfishDeathRotation((EntitySilverfish)par1EntityLiving);
045    }
046
047    /**
048     * Queries whether should render the specified pass or not.
049     */
050    protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3)
051    {
052        return this.shouldSilverfishRenderPass((EntitySilverfish)par1EntityLiving, par2, par3);
053    }
054
055    public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9)
056    {
057        this.renderSilverfish((EntitySilverfish)par1EntityLiving, par2, par4, par6, par8, par9);
058    }
059
060    /**
061     * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
062     * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
063     * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1,
064     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
065     */
066    public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
067    {
068        this.renderSilverfish((EntitySilverfish)par1Entity, par2, par4, par6, par8, par9);
069    }
070}