public virtual void DoRenderPlayer(EntityPlayer par1EntityPlayer, double par2, double par4, double par6, float par8, float par9) { ItemStack itemstack = par1EntityPlayer.Inventory.GetCurrentItem(); ModelArmorChestplate.HeldItemRight = ModelArmor.HeldItemRight = ModelBipedMain.HeldItemRight = itemstack == null ? 0 : 1; if (itemstack != null && par1EntityPlayer.GetItemInUseCount() > 0) { EnumAction enumaction = itemstack.GetItemUseAction(); if (enumaction == EnumAction.Block) { ModelArmorChestplate.HeldItemRight = ModelArmor.HeldItemRight = ModelBipedMain.HeldItemRight = 3; } else if (enumaction == EnumAction.Bow) { ModelArmorChestplate.AimedBow = ModelArmor.AimedBow = ModelBipedMain.AimedBow = true; } } ModelArmorChestplate.IsSneak = ModelArmor.IsSneak = ModelBipedMain.IsSneak = par1EntityPlayer.IsSneaking(); double d = par4 - (double)par1EntityPlayer.YOffset; if (par1EntityPlayer.IsSneaking() && !(par1EntityPlayer is EntityPlayerSP)) { d -= 0.125D; } base.DoRenderLiving(par1EntityPlayer, par2, d, par6, par8, par9); ModelArmorChestplate.AimedBow = ModelArmor.AimedBow = ModelBipedMain.AimedBow = false; ModelArmorChestplate.IsSneak = ModelArmor.IsSneak = ModelBipedMain.IsSneak = false; ModelArmorChestplate.HeldItemRight = ModelArmor.HeldItemRight = ModelBipedMain.HeldItemRight = 0; }
/// <summary> /// Method for adding special render rules /// </summary> protected virtual void RenderSpecials(EntityPlayer par1EntityPlayer, float par2) { base.RenderEquippedItems(par1EntityPlayer, par2); ItemStack itemstack = par1EntityPlayer.Inventory.ArmorItemInSlot(3); if (itemstack != null && itemstack.GetItem().ShiftedIndex < 256) { //GL.PushMatrix(); ModelBipedMain.BipedHead.PostRender(0.0625F); if (RenderBlocks.RenderItemIn3d(Block.BlocksList[itemstack.ItemID].GetRenderType())) { float f = 0.625F; //GL.Translate(0.0F, -0.25F, 0.0F); //GL.Rotate(180F, 0.0F, 1.0F, 0.0F); //GL.Scale(f, -f, f); } RenderManager.ItemRenderer.RenderItem(par1EntityPlayer, itemstack, 0); //GL.PopMatrix(); } if (par1EntityPlayer.Username.Equals("deadmau5") && LoadDownloadableImageTexture(par1EntityPlayer.SkinUrl, null)) { for (int i = 0; i < 2; i++) { float f1 = (par1EntityPlayer.PrevRotationYaw + (par1EntityPlayer.RotationYaw - par1EntityPlayer.PrevRotationYaw) * par2) - (par1EntityPlayer.PrevRenderYawOffset + (par1EntityPlayer.RenderYawOffset - par1EntityPlayer.PrevRenderYawOffset) * par2); float f2 = par1EntityPlayer.PrevRotationPitch + (par1EntityPlayer.RotationPitch - par1EntityPlayer.PrevRotationPitch) * par2; //GL.PushMatrix(); //GL.Rotate(f1, 0.0F, 1.0F, 0.0F); //GL.Rotate(f2, 1.0F, 0.0F, 0.0F); //GL.Translate(0.375F * (float)(i * 2 - 1), 0.0F, 0.0F); //GL.Translate(0.0F, -0.375F, 0.0F); //GL.Rotate(-f2, 1.0F, 0.0F, 0.0F); //GL.Rotate(-f1, 0.0F, 1.0F, 0.0F); float f7 = 1.333333F; //GL.Scale(f7, f7, f7); ModelBipedMain.RenderEars(0.0625F); //GL.PopMatrix(); } } if (LoadDownloadableImageTexture(par1EntityPlayer.PlayerCloakUrl, null)) { //GL.PushMatrix(); //GL.Translate(0.0F, 0.0F, 0.125F); double d = (par1EntityPlayer.Field_20066_r + (par1EntityPlayer.Field_20063_u - par1EntityPlayer.Field_20066_r) * (double)par2) - (par1EntityPlayer.PrevPosX + (par1EntityPlayer.PosX - par1EntityPlayer.PrevPosX) * (double)par2); double d1 = (par1EntityPlayer.Field_20065_s + (par1EntityPlayer.Field_20062_v - par1EntityPlayer.Field_20065_s) * (double)par2) - (par1EntityPlayer.PrevPosY + (par1EntityPlayer.PosY - par1EntityPlayer.PrevPosY) * (double)par2); double d2 = (par1EntityPlayer.Field_20064_t + (par1EntityPlayer.Field_20061_w - par1EntityPlayer.Field_20064_t) * (double)par2) - (par1EntityPlayer.PrevPosZ + (par1EntityPlayer.PosZ - par1EntityPlayer.PrevPosZ) * (double)par2); float f10 = par1EntityPlayer.PrevRenderYawOffset + (par1EntityPlayer.RenderYawOffset - par1EntityPlayer.PrevRenderYawOffset) * par2; double d3 = MathHelper2.Sin((f10 * (float)Math.PI) / 180F); double d4 = -MathHelper2.Cos((f10 * (float)Math.PI) / 180F); float f12 = (float)d1 * 10F; if (f12 < -6F) { f12 = -6F; } if (f12 > 32F) { f12 = 32F; } float f13 = (float)(d * d3 + d2 * d4) * 100F; float f14 = (float)(d * d4 - d2 * d3) * 100F; if (f13 < 0.0F) { f13 = 0.0F; } float f15 = par1EntityPlayer.PrevCameraYaw + (par1EntityPlayer.CameraYaw - par1EntityPlayer.PrevCameraYaw) * par2; f12 += MathHelper2.Sin((par1EntityPlayer.PrevDistanceWalkedModified + (par1EntityPlayer.DistanceWalkedModified - par1EntityPlayer.PrevDistanceWalkedModified) * par2) * 6F) * 32F * f15; if (par1EntityPlayer.IsSneaking()) { f12 += 25F; } //GL.Rotate(6F + f13 / 2.0F + f12, 1.0F, 0.0F, 0.0F); //GL.Rotate(f14 / 2.0F, 0.0F, 0.0F, 1.0F); //GL.Rotate(-f14 / 2.0F, 0.0F, 1.0F, 0.0F); //GL.Rotate(180F, 0.0F, 1.0F, 0.0F); ModelBipedMain.RenderCloak(0.0625F); //GL.PopMatrix(); } ItemStack itemstack1 = par1EntityPlayer.Inventory.GetCurrentItem(); if (itemstack1 != null) { //GL.PushMatrix(); ModelBipedMain.BipedRightArm.PostRender(0.0625F); //GL.Translate(-0.0625F, 0.4375F, 0.0625F); if (par1EntityPlayer.FishEntity != null) { itemstack1 = new ItemStack(Item.Stick); } EnumAction enumaction = EnumAction.None; if (par1EntityPlayer.GetItemInUseCount() > 0) { enumaction = itemstack1.GetItemUseAction(); } if (itemstack1.ItemID < 256 && RenderBlocks.RenderItemIn3d(Block.BlocksList[itemstack1.ItemID].GetRenderType())) { float f3 = 0.5F; //GL.Translate(0.0F, 0.1875F, -0.3125F); f3 *= 0.75F; //GL.Rotate(20F, 1.0F, 0.0F, 0.0F); //GL.Rotate(45F, 0.0F, 1.0F, 0.0F); //GL.Scale(f3, -f3, f3); } else if (itemstack1.ItemID == Item.Bow.ShiftedIndex) { float f4 = 0.625F; //GL.Translate(0.0F, 0.125F, 0.3125F); //GL.Rotate(-20F, 0.0F, 1.0F, 0.0F); //GL.Scale(f4, -f4, f4); //GL.Rotate(-100F, 1.0F, 0.0F, 0.0F); //GL.Rotate(45F, 0.0F, 1.0F, 0.0F); } else if (Item.ItemsList[itemstack1.ItemID].IsFull3D()) { float f5 = 0.625F; if (Item.ItemsList[itemstack1.ItemID].ShouldRotateAroundWhenRendering()) { //GL.Rotate(180F, 0.0F, 0.0F, 1.0F); //GL.Translate(0.0F, -0.125F, 0.0F); } if (par1EntityPlayer.GetItemInUseCount() > 0 && enumaction == EnumAction.Block) { //GL.Translate(0.05F, 0.0F, -0.1F); //GL.Rotate(-50F, 0.0F, 1.0F, 0.0F); //GL.Rotate(-10F, 1.0F, 0.0F, 0.0F); //GL.Rotate(-60F, 0.0F, 0.0F, 1.0F); } //GL.Translate(0.0F, 0.1875F, 0.0F); //GL.Scale(f5, -f5, f5); //GL.Rotate(-100F, 1.0F, 0.0F, 0.0F); //GL.Rotate(45F, 0.0F, 1.0F, 0.0F); } else { float f6 = 0.375F; //GL.Translate(0.25F, 0.1875F, -0.1875F); //GL.Scale(f6, f6, f6); //GL.Rotate(60F, 0.0F, 0.0F, 1.0F); //GL.Rotate(-90F, 1.0F, 0.0F, 0.0F); //GL.Rotate(20F, 0.0F, 0.0F, 1.0F); } if (itemstack1.GetItem().Func_46058_c()) { for (int j = 0; j <= 1; j++) { int k = itemstack1.GetItem().GetColorFromDamage(itemstack1.GetItemDamage(), j); float f8 = (float)(k >> 16 & 0xff) / 255F; float f9 = (float)(k >> 8 & 0xff) / 255F; float f11 = (float)(k & 0xff) / 255F; //GL.Color4(f8, f9, f11, 1.0F); RenderManager.ItemRenderer.RenderItem(par1EntityPlayer, itemstack1, j); } } else { RenderManager.ItemRenderer.RenderItem(par1EntityPlayer, itemstack1, 0); } //GL.PopMatrix(); } }