package micdoodle8.mods.galacticraft.core.client.render.entities; import micdoodle8.mods.galacticraft.core.Constants; import micdoodle8.mods.galacticraft.core.client.model.ModelEvolvedSkeleton; import micdoodle8.mods.galacticraft.core.entities.EntityEvolvedSkeleton; import net.minecraft.client.model.ModelSkeleton; 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.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class RenderEvolvedSkeleton extends RenderBiped<EntityEvolvedSkeleton> { private static final ResourceLocation skeletonTexture = new ResourceLocation(Constants.ASSET_PREFIX, "textures/model/skeleton.png"); private static final ResourceLocation powerTexture = new ResourceLocation(Constants.ASSET_PREFIX, "textures/model/power.png"); private final ModelEvolvedSkeleton model = new ModelEvolvedSkeleton(0.2F); public RenderEvolvedSkeleton(RenderManager manager) { super(manager, new ModelEvolvedSkeleton(), 1.0F); this.addLayer(new LayerHeldItem(this)); this.addLayer(new LayerBipedArmor(this) { protected void func_177177_a() { this.field_177189_c = new ModelSkeleton(0.5F, true); this.field_177186_d = new ModelSkeleton(1.0F, true); } }); } @Override protected ResourceLocation getEntityTexture(EntityEvolvedSkeleton par1Entity) { return RenderEvolvedSkeleton.skeletonTexture; } @Override protected void preRenderCallback(EntityEvolvedSkeleton par1EntityLiving, float par2) { GL11.glScalef(1.2F, 1.2F, 1.2F); } @Override protected void rotateCorpse(EntityEvolvedSkeleton skellie, float pitch, float yaw, float partialTicks) { GlStateManager.scale(-1.0F, -1.0F, 1.0F); GL11.glTranslatef(0F, -skellie.height * 0.55F, 0F); GL11.glRotatef(skellie.getTumbleAngle(partialTicks), skellie.getTumbleAxisX(), 0F, skellie.getTumbleAxisZ()); GL11.glTranslatef(0F, skellie.height * 0.55F, 0F); GlStateManager.scale(-1.0F, -1.0F, 1.0F); super.rotateCorpse(skellie, pitch, yaw, partialTicks); } }