package micdoodle8.mods.galacticraft.core.client.render.entities;
import micdoodle8.mods.galacticraft.core.Constants;
import micdoodle8.mods.galacticraft.core.client.model.ModelEvolvedZombie;
import micdoodle8.mods.galacticraft.core.entities.EntityEvolvedZombie;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelZombie;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.entity.layers.LayerBipedArmor;
import net.minecraft.client.renderer.entity.layers.LayerHeldItem;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class RenderEvolvedZombie extends RenderBiped<EntityEvolvedZombie>
{
private static final ResourceLocation zombieTexture = new ResourceLocation(Constants.ASSET_PREFIX, "textures/model/zombie.png");
private static final ResourceLocation powerTexture = new ResourceLocation(Constants.ASSET_PREFIX, "textures/model/power.png");
private final ModelBase model = new ModelEvolvedZombie(0.2F, false, true);
public RenderEvolvedZombie(RenderManager manager)
{
super(manager, new ModelEvolvedZombie(true), 0.5F);
LayerRenderer layerrenderer = (LayerRenderer) this.layerRenderers.get(0);
this.addLayer(new LayerHeldItem(this));
LayerBipedArmor layerbipedarmor = new LayerBipedArmor(this)
{
private static final String __OBFID = "CL_00002429";
protected void func_177177_a()
{
this.field_177189_c = new ModelZombie(0.5F, true);
this.field_177186_d = new ModelZombie(1.0F, true);
}
};
this.addLayer(layerbipedarmor);
}
@Override
protected ResourceLocation getEntityTexture(EntityEvolvedZombie par1Entity)
{
return RenderEvolvedZombie.zombieTexture;
}
@Override
protected void preRenderCallback(EntityEvolvedZombie zombie, float par2)
{
GL11.glScalef(1.2F, 1.2F, 1.2F);
}
@Override
protected void rotateCorpse(EntityEvolvedZombie zombie, float pitch, float yaw, float partialTicks)
{
GlStateManager.scale(-1.0F, -1.0F, 1.0F);
GL11.glTranslatef(0F, -zombie.height * 0.55F, 0F);
GL11.glRotatef(zombie.getTumbleAngle(partialTicks), zombie.getTumbleAxisX(), 0F, zombie.getTumbleAxisZ());
GL11.glTranslatef(0F, zombie.height * 0.55F, 0F);
GlStateManager.scale(-1.0F, -1.0F, 1.0F);
super.rotateCorpse(zombie, pitch, yaw, partialTicks);
}
}