package net.minecraft.client.renderer.entity;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelQuadruped;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntityMooshroom;
import net.minecraft.init.Blocks;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;

@SideOnly(Side.CLIENT)
public class RenderMooshroom extends RenderLiving
{
	private static final ResourceLocation mooshroomTextures = new ResourceLocation("textures/entity/cow/mooshroom.png");
	private static final String __OBFID = "CL_00001016";

	public RenderMooshroom(ModelBase par1ModelBase, float par2)
	{
		super(par1ModelBase, par2);
	}

	public void doRender(EntityMooshroom par1EntityMooshroom, double par2, double par4, double par6, float par8, float par9)
	{
		super.doRender((EntityLiving)par1EntityMooshroom, par2, par4, par6, par8, par9);
	}

	protected ResourceLocation getEntityTexture(EntityMooshroom par1EntityMooshroom)
	{
		return mooshroomTextures;
	}

	protected void renderEquippedItems(EntityMooshroom par1EntityMooshroom, float par2)
	{
		super.renderEquippedItems(par1EntityMooshroom, par2);

		if (!par1EntityMooshroom.isChild())
		{
			this.bindTexture(TextureMap.locationBlocksTexture);
			GL11.glEnable(GL11.GL_CULL_FACE);
			GL11.glPushMatrix();
			GL11.glScalef(1.0F, -1.0F, 1.0F);
			GL11.glTranslatef(0.2F, 0.4F, 0.5F);
			GL11.glRotatef(42.0F, 0.0F, 1.0F, 0.0F);
			this.field_147909_c.renderBlockAsItem(Blocks.red_mushroom, 0, 1.0F);
			GL11.glTranslatef(0.1F, 0.0F, -0.6F);
			GL11.glRotatef(42.0F, 0.0F, 1.0F, 0.0F);
			this.field_147909_c.renderBlockAsItem(Blocks.red_mushroom, 0, 1.0F);
			GL11.glPopMatrix();
			GL11.glPushMatrix();
			((ModelQuadruped)this.mainModel).head.postRender(0.0625F);
			GL11.glScalef(1.0F, -1.0F, 1.0F);
			GL11.glTranslatef(0.0F, 0.75F, -0.2F);
			GL11.glRotatef(12.0F, 0.0F, 1.0F, 0.0F);
			this.field_147909_c.renderBlockAsItem(Blocks.red_mushroom, 0, 1.0F);
			GL11.glPopMatrix();
			GL11.glDisable(GL11.GL_CULL_FACE);
		}
	}

	public void doRender(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9)
	{
		this.doRender((EntityMooshroom)par1EntityLiving, par2, par4, par6, par8, par9);
	}

	protected void renderEquippedItems(EntityLivingBase par1EntityLivingBase, float par2)
	{
		this.renderEquippedItems((EntityMooshroom)par1EntityLivingBase, par2);
	}

	public void doRender(EntityLivingBase par1Entity, double par2, double par4, double par6, float par8, float par9)
	{
		this.doRender((EntityMooshroom)par1Entity, par2, par4, par6, par8, par9);
	}

	protected ResourceLocation getEntityTexture(Entity par1Entity)
	{
		return this.getEntityTexture((EntityMooshroom)par1Entity);
	}

	public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
	{
		this.doRender((EntityMooshroom)par1Entity, par2, par4, par6, par8, par9);
	}
}