/// <summary> /// Caches the current frame's active render info, including the current World, RenderEngine, GameSettings and /// FontRenderer settings, as well as interpolated player position, pitch and yaw. /// </summary> public virtual void CacheActiveRenderInfo(World par1World, RenderEngine par2RenderEngine, FontRenderer par3FontRenderer, EntityLiving par4EntityLiving, GameSettings par5GameSettings, float par6) { WorldObj = par1World; RenderEngine = par2RenderEngine; Options = par5GameSettings; LivingPlayer = par4EntityLiving; FontRenderer = par3FontRenderer; if (par4EntityLiving.IsPlayerSleeping()) { int i = par1World.GetBlockId(MathHelper2.Floor_double(par4EntityLiving.PosX), MathHelper2.Floor_double(par4EntityLiving.PosY), MathHelper2.Floor_double(par4EntityLiving.PosZ)); if (i == Block.Bed.BlockID) { int j = par1World.GetBlockMetadata(MathHelper2.Floor_double(par4EntityLiving.PosX), MathHelper2.Floor_double(par4EntityLiving.PosY), MathHelper2.Floor_double(par4EntityLiving.PosZ)); int k = j & 3; PlayerViewY = k * 90 + 180; PlayerViewX = 0.0F; } } else { PlayerViewY = par4EntityLiving.PrevRotationYaw + (par4EntityLiving.RotationYaw - par4EntityLiving.PrevRotationYaw) * par6; PlayerViewX = par4EntityLiving.PrevRotationPitch + (par4EntityLiving.RotationPitch - par4EntityLiving.PrevRotationPitch) * par6; } if (par5GameSettings.ThirdPersonView == 2) { PlayerViewY += 180F; } Field_1222_l = par4EntityLiving.LastTickPosX + (par4EntityLiving.PosX - par4EntityLiving.LastTickPosX) * (double)par6; Field_1221_m = par4EntityLiving.LastTickPosY + (par4EntityLiving.PosY - par4EntityLiving.LastTickPosY) * (double)par6; Field_1220_n = par4EntityLiving.LastTickPosZ + (par4EntityLiving.PosZ - par4EntityLiving.LastTickPosZ) * (double)par6; }
/// <summary> /// Renders the item's icon or block into the UI at the specified position. /// </summary> public virtual void RenderItemIntoGUI(FontRenderer par1FontRenderer, RenderEngineOld par2RenderEngine, ItemStack par3ItemStack, int par4, int par5) { if (par3ItemStack == null) { return; } DrawItemIntoGui(par1FontRenderer, par2RenderEngine, par3ItemStack.ItemID, par3ItemStack.GetItemDamage(), par3ItemStack.GetIconIndex(), par4, par5); if (par3ItemStack != null && par3ItemStack.HasEffect()) { //GL.DepthFunc(DepthFunction.Greater); //GL.Disable(EnableCap.Lighting); //GL.DepthMask(false); par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("%blur%/misc/glint.png")); ZLevel -= 50F; //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.DstColor, BlendingFactorDest.DstColor); //GL.Color4(0.5F, 0.25F, 0.8F, 1.0F); Func_40266_a(par4 * 0x19b4ca14 + par5 * 0x1eafff1, par4 - 2, par5 - 2, 20, 20); //GL.Disable(EnableCap.Blend); //GL.DepthMask(true); ZLevel += 50F; //GL.Enable(EnableCap.Lighting); //GL.DepthFunc(DepthFunction.Lequal); } }
protected void Func_27110_k() { int i = (Width - AchievementsPaneWidth) / 2; int j = (Height - AchievementsPaneHeight) / 2; FontRenderer.DrawString("Achievements", i + 15, j + 5, 0x404040); }
/// <summary> /// Used to render a player's name above their head /// </summary> protected virtual void RenderName(EntityPlayer par1EntityPlayer, double par2, double par4, double par6) { if (Minecraft.IsGuiEnabled() && par1EntityPlayer != RenderManager.LivingPlayer) { float f = 1.6F; float f1 = 0.01666667F * f; float f2 = par1EntityPlayer.GetDistanceToEntity(RenderManager.LivingPlayer); float f3 = par1EntityPlayer.IsSneaking() ? 32F : 64F; if (f2 < f3) { string s = par1EntityPlayer.Username; if (!par1EntityPlayer.IsSneaking()) { if (par1EntityPlayer.IsPlayerSleeping()) { RenderLivingLabel(par1EntityPlayer, s, par2, par4 - 1.5D, par6, 64); } else { RenderLivingLabel(par1EntityPlayer, s, par2, par4, par6, 64); } } else { FontRenderer fontrenderer = GetFontRendererFromRenderManager(); //GL.PushMatrix(); //GL.Translate((float)par2 + 0.0F, (float)par4 + 2.3F, (float)par6); //GL.Normal3(0.0F, 1.0F, 0.0F); //GL.Rotate(-RenderManager.PlayerViewY, 0.0F, 1.0F, 0.0F); //GL.Rotate(RenderManager.PlayerViewX, 1.0F, 0.0F, 0.0F); //GL.Scale(-f1, -f1, f1); //GL.Disable(EnableCap.Lighting); //GL.Translate(0.0F, 0.25F / f1, 0.0F); //GL.DepthMask(false); //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); Tessellator tessellator = Tessellator.Instance; //GL.Disable(EnableCap.Texture2D); tessellator.StartDrawingQuads(); int i = fontrenderer.GetStringWidth(s) / 2; tessellator.SetColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); tessellator.AddVertex(-i - 1, -1D, 0.0F); tessellator.AddVertex(-i - 1, 8D, 0.0F); tessellator.AddVertex(i + 1, 8D, 0.0F); tessellator.AddVertex(i + 1, -1D, 0.0F); tessellator.Draw(); //GL.Enable(EnableCap.Texture2D); //GL.DepthMask(true); fontrenderer.DrawString(s, -fontrenderer.GetStringWidth(s) / 2, 0, 0x20ffffff); //GL.Enable(EnableCap.Lighting); //GL.Disable(EnableCap.Blend); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.PopMatrix(); } } } }
/// <summary> /// Causes the screen to lay out its subcomponents again. This is the equivalent of the Java call /// Container.validate() /// </summary> public virtual void SetWorldAndResolution(Minecraft par1Minecraft, int par2, int par3) { GuiParticles = new GuiParticle(par1Minecraft); Mc = par1Minecraft; FontRenderer = par1Minecraft.FontRenderer; Width = par2; Height = par3; ControlList.Clear(); InitGui(); }
/// <summary> /// Displays debuff/potion effects that are currently being applied to the player /// </summary> private void DisplayDebuffEffects() { int i = GuiLeft - 124; int j = GuiTop; int k = Mc.RenderEngineOld.GetTexture("/gui/inventory.png"); ICollection <PotionEffect> collection = Mc.ThePlayer.GetActivePotionEffects(); if (collection.Count == 0) { return; } int l = 33; if (collection.Count > 5) { l = 132 / (collection.Count - 1); } for (IEnumerator <PotionEffect> iterator = Mc.ThePlayer.GetActivePotionEffects().GetEnumerator(); iterator.MoveNext();) { PotionEffect potioneffect = iterator.Current; Potion potion = Potion.PotionTypes[potioneffect.GetPotionID()]; //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); Mc.RenderEngineOld.BindTexture(k); DrawTexturedModalRect(i, j, 0, YSize, 140, 32); if (potion.HasStatusIcon()) { int i1 = potion.GetStatusIconIndex(); DrawTexturedModalRect(i + 6, j + 7, 0 + (i1 % 8) * 18, YSize + 32 + (i1 / 8) * 18, 18, 18); } string s = StatCollector.TranslateToLocal(potion.GetName()); if (potioneffect.GetAmplifier() == 1) { s = (new StringBuilder()).Append(s).Append(" II").ToString(); } else if (potioneffect.GetAmplifier() == 2) { s = (new StringBuilder()).Append(s).Append(" III").ToString(); } else if (potioneffect.GetAmplifier() == 3) { s = (new StringBuilder()).Append(s).Append(" IV").ToString(); } FontRenderer.DrawStringWithShadow(s, i + 10 + 18, j + 6, 0xffffff); string s1 = Potion.GetDurationString(potioneffect); FontRenderer.DrawStringWithShadow(s1, i + 10 + 18, j + 6 + 10, 0x7f7f7f); j += l; } }
/// <summary> /// Draws the debug or playername text above a living /// </summary> protected virtual void RenderLivingLabel(EntityLiving par1EntityLiving, string par2Str, double par3, double par5, double par7, int par9) { float f = par1EntityLiving.GetDistanceToEntity(RenderManager.LivingPlayer); if (f > (float)par9) { return; } FontRenderer fontrenderer = GetFontRendererFromRenderManager(); float f1 = 1.6F; float f2 = 0.01666667F * f1; //GL.PushMatrix(); //GL.Translate((float)par3 + 0.0F, (float)par5 + 2.3F, (float)par7); //GL.Normal3(0.0F, 1.0F, 0.0F); //GL.Rotate(-RenderManager.PlayerViewY, 0.0F, 1.0F, 0.0F); //GL.Rotate(RenderManager.PlayerViewX, 1.0F, 0.0F, 0.0F); //GL.Scale(-f2, -f2, f2); //GL.Disable(EnableCap.Lighting); //GL.DepthMask(false); //GL.Disable(EnableCap.DepthTest); //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); Tessellator tessellator = Tessellator.Instance; sbyte byte0 = 0; if (par2Str.Equals("deadmau5")) { byte0 = -10; } //GL.Disable(EnableCap.Texture2D); tessellator.StartDrawingQuads(); int i = fontrenderer.GetStringWidth(par2Str) / 2; tessellator.SetColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); tessellator.AddVertex(-i - 1, -1 + byte0, 0.0F); tessellator.AddVertex(-i - 1, 8 + byte0, 0.0F); tessellator.AddVertex(i + 1, 8 + byte0, 0.0F); tessellator.AddVertex(i + 1, -1 + byte0, 0.0F); tessellator.Draw(); //GL.Enable(EnableCap.Texture2D); fontrenderer.DrawString(par2Str, -fontrenderer.GetStringWidth(par2Str) / 2, byte0, 0x20ffffff); //GL.Enable(EnableCap.DepthTest); //GL.DepthMask(true); fontrenderer.DrawString(par2Str, -fontrenderer.GetStringWidth(par2Str) / 2, byte0, -1); //GL.Enable(EnableCap.Lighting); //GL.Disable(EnableCap.Blend); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.PopMatrix(); }
protected void Func_35325_a(string par1Str, int par2, int par3) { if (par1Str == null) { return; } else { int i = par2 + 12; int j = par3 - 12; int k = FontRenderer.GetStringWidth(par1Str); DrawGradientRect(i - 3, j - 3, i + k + 3, j + 8 + 3, 0xc000000, 0xc000000); FontRenderer.DrawStringWithShadow(par1Str, i, j, -1); return; } }
/// <summary> /// Caches several render-related references, including the active World, RenderEngine, FontRenderer, and the camera- /// bound EntityLiving's interpolated pitch, yaw and position. Args: world, renderengine, fontrenderer, entityliving, /// partialTickTime /// </summary> public virtual void CacheActiveRenderInfo(World par1World, RenderEngine par2RenderEngine, FontRenderer par3FontRenderer, EntityLiving par4EntityLiving, float par5) { if (WorldObj != par1World) { CacheSpecialRenderInfo(par1World); } RenderEngine = par2RenderEngine; EntityLivingPlayer = par4EntityLiving; FontRenderer = par3FontRenderer; PlayerYaw = par4EntityLiving.PrevRotationYaw + (par4EntityLiving.RotationYaw - par4EntityLiving.PrevRotationYaw) * par5; PlayerPitch = par4EntityLiving.PrevRotationPitch + (par4EntityLiving.RotationPitch - par4EntityLiving.PrevRotationPitch) * par5; PlayerX = par4EntityLiving.LastTickPosX + (par4EntityLiving.PosX - par4EntityLiving.LastTickPosX) * (double)par5; PlayerY = par4EntityLiving.LastTickPosY + (par4EntityLiving.PosY - par4EntityLiving.LastTickPosY) * (double)par5; PlayerZ = par4EntityLiving.LastTickPosZ + (par4EntityLiving.PosZ - par4EntityLiving.LastTickPosZ) * (double)par5; }
/// <summary> /// Draws the screen and all the components in it. /// </summary> public override void DrawScreen(int par1, int par2, float par3) { RenderSkybox(par1, par2, par3); Tessellator tessellator = Tessellator.Instance; int c = 274; int i = Width / 2 - c / 2; sbyte byte0 = 30; DrawGradientRect(0, 0, Width, Height, 0x80fffff, 0xffffff); DrawGradientRect(0, 0, Width, Height, 0, 0x8000000); //GL.BindTexture(TextureTarget.Texture2D, Mc.RenderEngineOld.GetTexture("title.mclogo.png")); RenderEngine.Instance.BindTexture("title.mclogo.png"); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); if ((double)UpdateCounter < 0.0001D) { DrawTexturedModalRect(i + 0, byte0 + 0, 0, 0, 99, 44); DrawTexturedModalRect(i + 99, byte0 + 0, 129, 0, 27, 44); DrawTexturedModalRect(i + 99 + 26, byte0 + 0, 126, 0, 3, 44); DrawTexturedModalRect(i + 99 + 26 + 3, byte0 + 0, 99, 0, 26, 44); DrawTexturedModalRect(i + 155, byte0 + 0, 0, 45, 155, 44); } else { DrawTexturedModalRect(i + 0, byte0 + 0, 0, 0, 155, 44); DrawTexturedModalRect(i + 155, byte0 + 0, 0, 45, 155, 44); } /* * tessellator.SetColorOpaque_I(0xffffff); * GL.PushMatrix(); * GL.Translate(Width / 2 + 90, 70F, 0.0F); * GL.Rotate(-20F, 0.0F, 0.0F, 1.0F);*/ float f = 1.8F - MathHelper2.Abs(MathHelper2.Sin(((float)(JavaHelper.CurrentTimeMillis() % 1000L) / 1000F) * (float)Math.PI * 2.0F) * 0.1F); f = (f * 100F) / (float)(FontRenderer.GetStringWidth(SplashText) + 32); //GL.Scale(f, f, f); DrawCenteredString(FontRenderer, SplashText, 300, 80, 0xffff00); //GL.PopMatrix(); DrawString(FontRenderer, Minecraft.GetMinecraftTitle(), 2, Height - FontRenderer.FontHeight, 0xffffff); string s = "Copyright Mojang AB. Do not distribute!"; DrawString(FontRenderer, s, Width - (int)FontRenderer.GetStringWidth(s) - 2, Height - FontRenderer.FontHeight, 0xffffff); base.DrawScreen(par1, par2, par3); }
public GuiTextField(FontRenderer par1FontRenderer, int par2, int par3, int par4, int par5) { Text = ""; MaxStringLength = 32; Field_50044_j = true; Field_50045_k = true; IsFocused = false; Field_50043_m = true; Field_50041_n = 0; Field_50042_o = 0; Field_50048_p = 0; Field_50047_q = 0xe0e0e0; Field_50046_r = 0x707070; FontRenderer = par1FontRenderer; XPos = par2; YPos = par3; Width = par4; Height = par5; }
/// <summary> /// Draws this button to the screen. /// </summary> public virtual void DrawButton(Minecraft par1Minecraft, int mouseX, int mouseY) { if (!ShowButton) { return; } FontRenderer fontrenderer = par1Minecraft.FontRenderer; //GL.BindTexture(TextureTarget.Texture2D, par1Minecraft.RenderEngineOld.GetTexture("/gui/gui.png")); par1Minecraft.RenderEngine.BindTexture("gui.gui.png"); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); bool flag = mouseX >= XPosition && mouseX < XPosition + Width && mouseY >= YPosition && mouseY < YPosition + Height; int i = GetHoverState(flag); DrawTexturedModalRect(XPosition, YPosition, 0, 46 + i * 20, Width / 2, Height); DrawTexturedModalRect(XPosition + Width / 2, YPosition, 200 - Width / 2, 46 + i * 20, Width / 2, Height); MouseDragged(par1Minecraft, mouseX, mouseY); int j = 0xe0e0e0; if (!Enabled) { j = 0xffa0a0a; } else if (flag) { j = 0xffffa0; } DrawCenteredString(fontrenderer, DisplayString, XPosition + Width / 2, YPosition + (Height - 8) / 2, j); }
/// <summary> /// Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the /// specified position. /// </summary> public virtual void RenderItemOverlayIntoGUI(FontRenderer par1FontRenderer, RenderEngineOld par2RenderEngine, ItemStack par3ItemStack, int par4, int par5) { if (par3ItemStack == null) { return; } if (par3ItemStack.StackSize > 1) { string s = (new StringBuilder()).Append("").Append(par3ItemStack.StackSize).ToString(); //GL.Disable(EnableCap.Lighting); //GL.Disable(EnableCap.DepthTest); par1FontRenderer.DrawStringWithShadow(s, (par4 + 19) - 2 - (int)par1FontRenderer.GetStringWidth(s), par5 + 6 + 3, 0xffffff); //GL.Enable(EnableCap.Lighting); //GL.Enable(EnableCap.DepthTest); } if (par3ItemStack.IsItemDamaged()) { int i = (int)Math.Round(13D - ((double)par3ItemStack.GetItemDamageForDisplay() * 13D) / (double)par3ItemStack.GetMaxDamage()); int j = (int)Math.Round(255D - ((double)par3ItemStack.GetItemDamageForDisplay() * 255D) / (double)par3ItemStack.GetMaxDamage()); //GL.Disable(EnableCap.Lighting); //GL.Disable(EnableCap.DepthTest); //GL.Disable(EnableCap.Texture2D); Tessellator tessellator = Tessellator.Instance; int k = 255 - j << 16 | j << 8; int l = (255 - j) / 4 << 16 | 0x3f00; RenderQuad(tessellator, par4 + 2, par5 + 13, 13, 2, 0); RenderQuad(tessellator, par4 + 2, par5 + 13, 12, 1, l); RenderQuad(tessellator, par4 + 2, par5 + 13, i, 1, k); //GL.Enable(EnableCap.Texture2D); //GL.Enable(EnableCap.Lighting); //GL.Enable(EnableCap.DepthTest); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); } }
/// <summary> /// Draw the foreground layer for the GuiContainer (everythin in front of the items) /// </summary> protected override void DrawGuiContainerForegroundLayer() { FontRenderer.DrawString(StatCollector.TranslateToLocal("container.creative"), 8, 6, 0x404040); }
/// <summary> /// Draws the screen and all the components in it. /// </summary> public override void DrawScreen(int par1, int par2, float par3) { DrawDefaultBackground(); int i = GuiLeft; int j = GuiTop; DrawGuiContainerBackgroundLayer(par3, par1, par2); RenderHelper.EnableGUIStandardItemLighting(); //GL.PushMatrix(); //GL.Translate(i, j, 0.0F); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.Enable(EnableCap.RescaleNormal); Slot slot = null; int k = 240; int i1 = 240; OpenGlHelper.SetLightmapTextureCoords(OpenGlHelper.LightmapTexUnit, (float)k / 1.0F, (float)i1 / 1.0F); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); for (int l = 0; l < InventorySlots.InventorySlots.Count; l++) { Slot slot1 = (Slot)InventorySlots.InventorySlots[l]; DrawSlotInventory(slot1); if (IsMouseOverSlot(slot1, par1, par2)) { slot = slot1; //GL.Disable(EnableCap.Lighting); //GL.Disable(EnableCap.DepthTest); int j1 = slot1.XDisplayPosition; int k1 = slot1.YDisplayPosition; DrawGradientRect(j1, k1, j1 + 16, k1 + 16, 0x80fffff, 0x80fffff); //GL.Enable(EnableCap.Lighting); //GL.Enable(EnableCap.DepthTest); } } DrawGuiContainerForegroundLayer(); InventoryPlayer inventoryplayer = Mc.ThePlayer.Inventory; if (inventoryplayer.GetItemStack() != null) { //GL.Translate(0.0F, 0.0F, 32F); ZLevel = 200F; ItemRenderer.ZLevel = 200F; ItemRenderer.RenderItemIntoGUI(FontRenderer, Mc.RenderEngineOld, inventoryplayer.GetItemStack(), par1 - i - 8, par2 - j - 8); ItemRenderer.RenderItemOverlayIntoGUI(FontRenderer, Mc.RenderEngineOld, inventoryplayer.GetItemStack(), par1 - i - 8, par2 - j - 8); ZLevel = 0.0F; ItemRenderer.ZLevel = 0.0F; } //GL.Disable(EnableCap.RescaleNormal); RenderHelper.DisableStandardItemLighting(); //GL.Disable(EnableCap.Lighting); //GL.Disable(EnableCap.DepthTest); if (inventoryplayer.GetItemStack() == null && slot != null && slot.GetHasStack()) { ItemStack itemstack = slot.GetStack(); List <string> list = itemstack.GetItemNameandInformation(); if (list.Count > 0) { int l1 = 0; for (int i2 = 0; i2 < list.Count; i2++) { int k2 = FontRenderer.GetStringWidth(list[i2]); if (k2 > l1) { l1 = k2; } } int j2 = (par1 - i) + 12; int l2 = par2 - j - 12; int i3 = l1; int j3 = 8; if (list.Count > 1) { j3 += 2 + (list.Count - 1) * 10; } ZLevel = 300F; ItemRenderer.ZLevel = 300F; int k3 = 0xf010001; DrawGradientRect(j2 - 3, l2 - 4, j2 + i3 + 3, l2 - 3, k3, k3); DrawGradientRect(j2 - 3, l2 + j3 + 3, j2 + i3 + 3, l2 + j3 + 4, k3, k3); DrawGradientRect(j2 - 3, l2 - 3, j2 + i3 + 3, l2 + j3 + 3, k3, k3); DrawGradientRect(j2 - 4, l2 - 3, j2 - 3, l2 + j3 + 3, k3, k3); DrawGradientRect(j2 + i3 + 3, l2 - 3, j2 + i3 + 4, l2 + j3 + 3, k3, k3); int l3 = 0x505000ff; int i4 = (l3 & 0xfefefe) >> 1 | l3 & 0xff00000; DrawGradientRect(j2 - 3, (l2 - 3) + 1, (j2 - 3) + 1, (l2 + j3 + 3) - 1, l3, i4); DrawGradientRect(j2 + i3 + 2, (l2 - 3) + 1, j2 + i3 + 3, (l2 + j3 + 3) - 1, l3, i4); DrawGradientRect(j2 - 3, l2 - 3, j2 + i3 + 3, (l2 - 3) + 1, l3, l3); DrawGradientRect(j2 - 3, l2 + j3 + 2, j2 + i3 + 3, l2 + j3 + 3, i4, i4); for (int j4 = 0; j4 < list.Count; j4++) { string s = list[j4]; if (j4 == 0) { //s = (new StringBuilder()).Append((char)0xa7).Append(int.ToHexString(itemstack.GetRarity().NameColor)).Append(s).ToString(); } else { s = (new StringBuilder()).Append((char)0xa7).Append(s).ToString(); } FontRenderer.DrawStringWithShadow(s, j2, l2, -1); if (j4 == 0) { l2 += 2; } l2 += 10; } ZLevel = 0.0F; ItemRenderer.ZLevel = 0.0F; } } //GL.PopMatrix(); base.DrawScreen(par1, par2, par3); //GL.Enable(EnableCap.Lighting); //GL.Enable(EnableCap.DepthTest); }
/// <summary> /// Draws the screen and all the components in it. /// </summary> public override void DrawScreen(int par1, int par2, float par3) { Func_41040_b(par1, par2, par3); Tessellator tessellator = Tessellator.Instance; int c = 274; int i = Width / 2 - c / 2; int j = Height + 50; float f = -((float)UpdateCounter + par3) * Field_41043_e; //GL.PushMatrix(); //GL.Translate(0.0F, f, 0.0F); //GL.BindTexture(TextureTarget.Texture2D, Mc.RenderEngineOld.GetTexture("/title/mclogo.png")); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); DrawTexturedModalRect(i, j, 0, 0, 155, 44); DrawTexturedModalRect(i + 155, j, 0, 45, 155, 44); tessellator.SetColorOpaque_I(0xffffff); int k = j + 200; for (int l = 0; l < Lines.Count; l++) { if (l == Lines.Count - 1) { float f1 = ((float)k + f) - (float)(Height / 2 - 6); if (f1 < 0.0F) { //GL.Translate(0.0F, -f1, 0.0F); } } if ((float)k + f + 12F + 8F > 0.0F && (float)k + f < (float)Height) { string s = (string)Lines[l]; if (s.StartsWith("[C]")) { FontRenderer.DrawStringWithShadow(s.Substring(3), i + (c - (int)FontRenderer.GetStringWidth(s.Substring(3))) / 2, k, 0xffffff); } else { FontRenderer.FontRandom.SetSeed((int)l * (int)0xfca9953 + (UpdateCounter / 4)); FontRenderer.Func_50101_a(s, i + 1, k + 1, 0xffffff, true); FontRenderer.FontRandom.SetSeed((int)l * (int)0xfca9953 + (UpdateCounter / 4)); FontRenderer.Func_50101_a(s, i, k, 0xffffff, false); } } k += 12; } //GL.PopMatrix(); //GL.BindTexture(TextureTarget.Texture2D, Mc.RenderEngineOld.GetTexture("%blur%/misc/vignette.png")); //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.Zero, BlendingFactorDest.OneMinusSrcColor); tessellator.StartDrawingQuads(); tessellator.SetColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F); int i1 = Width; int j1 = Height; tessellator.AddVertexWithUV(0.0F, j1, ZLevel, 0.0F, 1.0D); tessellator.AddVertexWithUV(i1, j1, ZLevel, 1.0D, 1.0D); tessellator.AddVertexWithUV(i1, 0.0F, ZLevel, 1.0D, 0.0F); tessellator.AddVertexWithUV(0.0F, 0.0F, ZLevel, 0.0F, 0.0F); tessellator.Draw(); //GL.Disable(EnableCap.Blend); base.DrawScreen(par1, par2, par3); }
public virtual void RenderTileEntitySignAt(TileEntitySign par1TileEntitySign, double par2, double par4, double par6, float par8) { Block block = par1TileEntitySign.GetBlockType(); //GL.PushMatrix(); float f = 0.6666667F; if (block == Block.SignPost) { //GL.Translate((float)par2 + 0.5F, (float)par4 + 0.75F * f, (float)par6 + 0.5F); float f1 = (float)(par1TileEntitySign.GetBlockMetadata() * 360) / 16F; //GL.Rotate(-f1, 0.0F, 1.0F, 0.0F); ModelSign.SignStick.ShowModel = true; } else { int i = par1TileEntitySign.GetBlockMetadata(); float f2 = 0.0F; if (i == 2) { f2 = 180F; } if (i == 4) { f2 = 90F; } if (i == 5) { f2 = -90F; } //GL.Translate((float)par2 + 0.5F, (float)par4 + 0.75F * f, (float)par6 + 0.5F); //GL.Rotate(-f2, 0.0F, 1.0F, 0.0F); //GL.Translate(0.0F, -0.3125F, -0.4375F); ModelSign.SignStick.ShowModel = false; } BindTextureByName("/item/sign.png"); //GL.PushMatrix(); //GL.Scale(f, -f, -f); ModelSign.RenderSign(); //GL.PopMatrix(); FontRenderer fontrenderer = GetFontRenderer(); float f3 = 0.01666667F * f; //GL.Translate(0.0F, 0.5F * f, 0.07F * f); //GL.Scale(f3, -f3, f3); //GL.Normal3(0.0F, 0.0F, -1F * f3); //GL.DepthMask(false); int j = 0; for (int k = 0; k < par1TileEntitySign.SignText.Length; k++) { string s = par1TileEntitySign.SignText[k]; if (k == par1TileEntitySign.LineBeingEdited) { s = (new StringBuilder()).Append("> ").Append(s).Append(" <").ToString(); fontrenderer.DrawString(s, -fontrenderer.GetStringWidth(s) / 2, k * 10 - par1TileEntitySign.SignText.Length * 5, j); } else { fontrenderer.DrawString(s, -fontrenderer.GetStringWidth(s) / 2, k * 10 - par1TileEntitySign.SignText.Length * 5, j); } } //GL.DepthMask(true); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.PopMatrix(); }
/// <summary> /// Renders the specified text to the screen, center-aligned. /// </summary> public virtual void DrawCenteredString(FontRenderer par1FontRenderer, string par2Str, int par3, int par4, int par5) { par1FontRenderer.DrawStringWithShadow(par2Str, par3 - (int)(par1FontRenderer.GetStringWidth(par2Str) / 2), par4, par5); }
public virtual void DrawItemIntoGui(FontRenderer par1FontRenderer, RenderEngineOld par2RenderEngine, int par3, int par4, int par5, int par6, int par7) { if (par3 < 256 && RenderBlocks.RenderItemIn3d(Block.BlocksList[par3].GetRenderType())) { int i = par3; par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/terrain.png")); Block block = Block.BlocksList[i]; //GL.PushMatrix(); //GL.Translate(par6 - 2, par7 + 3, -3F + ZLevel); //GL.Scale(10F, 10F, 10F); //GL.Translate(1.0F, 0.5F, 1.0F); //GL.Scale(1.0F, 1.0F, -1F); //GL.Rotate(210F, 1.0F, 0.0F, 0.0F); //GL.Rotate(45F, 0.0F, 1.0F, 0.0F); int i1 = Item.ItemsList[par3].GetColorFromDamage(par4, 0); float f2 = (float)(i1 >> 16 & 0xff) / 255F; float f5 = (float)(i1 >> 8 & 0xff) / 255F; float f7 = (float)(i1 & 0xff) / 255F; if (Field_27004_a) { //GL.Color4(f2, f5, f7, 1.0F); } //GL.Rotate(-90F, 0.0F, 1.0F, 0.0F); RenderBlocks.UseInventoryTint = Field_27004_a; RenderBlocks.RenderBlockAsItem(block, par4, 1.0F); RenderBlocks.UseInventoryTint = true; //GL.PopMatrix(); } else if (Item.ItemsList[par3].Func_46058_c()) { //GL.Disable(EnableCap.Lighting); par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/gui/items.png")); for (int j = 0; j <= 1; j++) { int l = Item.ItemsList[par3].Func_46057_a(par4, j); int j1 = Item.ItemsList[par3].GetColorFromDamage(par4, j); float f3 = (float)(j1 >> 16 & 0xff) / 255F; float f6 = (float)(j1 >> 8 & 0xff) / 255F; float f8 = (float)(j1 & 0xff) / 255F; if (Field_27004_a) { //GL.Color4(f3, f6, f8, 1.0F); } RenderTexturedQuad(par6, par7, (l % 16) * 16, (l / 16) * 16, 16, 16); } //GL.Enable(EnableCap.Lighting); } else if (par5 >= 0) { //GL.Disable(EnableCap.Lighting); if (par3 < 256) { par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/terrain.png")); } else { par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/gui/items.png")); } int k = Item.ItemsList[par3].GetColorFromDamage(par4, 0); float f = (float)(k >> 16 & 0xff) / 255F; float f1 = (float)(k >> 8 & 0xff) / 255F; float f4 = (float)(k & 0xff) / 255F; if (Field_27004_a) { //GL.Color4(f, f1, f4, 1.0F); } RenderTexturedQuad(par6, par7, (par5 % 16) * 16, (par5 / 16) * 16, 16, 16); //GL.Enable(EnableCap.Lighting); } //GL.Enable(EnableCap.CullFace); }
/// <summary> /// Render the ingame overlay with quick icon bar, ... /// </summary> public virtual void RenderGameOverlay(float par1, bool par2, int par3, int par4) { ScaledResolution scaledresolution = new ScaledResolution(mc.GameSettings, mc.DisplayWidth, mc.DisplayHeight); int i = scaledresolution.GetScaledWidth(); int j = scaledresolution.GetScaledHeight(); FontRenderer fontrenderer = mc.FontRenderer; mc.EntityRenderer.SetupOverlayRendering(); //GL.Enable(EnableCap.Blend); if (Minecraft.IsFancyGraphicsEnabled()) { RenderVignette(mc.ThePlayer.GetBrightness(par1), i, j); } else { //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); } ItemStack itemstack = mc.ThePlayer.Inventory.ArmorItemInSlot(3); if (mc.GameSettings.ThirdPersonView == 0 && itemstack != null && itemstack.ItemID == Block.Pumpkin.BlockID) { RenderPumpkinBlur(i, j); } if (!mc.ThePlayer.IsPotionActive(Potion.Confusion)) { float f = mc.ThePlayer.PrevTimeInPortal + (mc.ThePlayer.TimeInPortal - mc.ThePlayer.PrevTimeInPortal) * par1; if (f > 0.0F) { RenderPortalOverlay(f, i, j); } } if (!mc.PlayerController.Func_35643_e()) { //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.BindTexture(TextureTarget.Texture2D, mc.RenderEngineOld.GetTexture("/gui/gui.png")); InventoryPlayer inventoryplayer = mc.ThePlayer.Inventory; ZLevel = -90F; DrawTexturedModalRect(i / 2 - 91, j - 22, 0, 0, 182, 22); DrawTexturedModalRect((i / 2 - 91 - 1) + inventoryplayer.CurrentItem * 20, j - 22 - 1, 0, 22, 24, 22); //GL.BindTexture(TextureTarget.Texture2D, mc.RenderEngineOld.GetTexture("/gui/icons.png")); //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.OneMinusDstColor, BlendingFactorDest.OneMinusSrcColor); DrawTexturedModalRect(i / 2 - 7, j / 2 - 7, 0, 0, 16, 16); //GL.Disable(EnableCap.Blend); bool flag = (mc.ThePlayer.HeartsLife / 3) % 2 == 1; if (mc.ThePlayer.HeartsLife < 10) { flag = false; } int i1 = mc.ThePlayer.GetHealth(); int i2 = mc.ThePlayer.PrevHealth; rand.SetSeed(updateCounter * 0x4c627); bool flag2 = false; FoodStats foodstats = mc.ThePlayer.GetFoodStats(); int j4 = foodstats.GetFoodLevel(); int l4 = foodstats.GetPrevFoodLevel(); RenderBossHealth(); if (mc.PlayerController.ShouldDrawHUD()) { int j5 = i / 2 - 91; int i6 = i / 2 + 91; int l6 = mc.ThePlayer.XpBarCap(); if (l6 > 0) { int c = 0xb6; int j8 = (int)(mc.ThePlayer.Experience * (float)(c + 1)); int i9 = (j - 32) + 3; DrawTexturedModalRect(j5, i9, 0, 64, c, 5); if (j8 > 0) { DrawTexturedModalRect(j5, i9, 0, 69, j8, 5); } } int k7 = j - 39; int k8 = k7 - 10; int j9 = mc.ThePlayer.GetTotalArmorValue(); int i10 = -1; if (mc.ThePlayer.IsPotionActive(Potion.Regeneration)) { i10 = updateCounter % 25; } for (int j10 = 0; j10 < 10; j10++) { if (j9 > 0) { int i11 = j5 + j10 * 8; if (j10 * 2 + 1 < j9) { DrawTexturedModalRect(i11, k8, 34, 9, 9, 9); } if (j10 * 2 + 1 == j9) { DrawTexturedModalRect(i11, k8, 25, 9, 9, 9); } if (j10 * 2 + 1 > j9) { DrawTexturedModalRect(i11, k8, 16, 9, 9, 9); } } int j11 = 16; if (mc.ThePlayer.IsPotionActive(Potion.Poison)) { j11 += 36; } int i12 = 0; if (flag) { i12 = 1; } int l12 = j5 + j10 * 8; int j13 = k7; if (i1 <= 4) { j13 += rand.Next(2); } if (j10 == i10) { j13 -= 2; } byte byte3 = 0; if (mc.TheWorld.GetWorldInfo().IsHardcoreModeEnabled()) { byte3 = 5; } DrawTexturedModalRect(l12, j13, 16 + i12 * 9, 9 * byte3, 9, 9); if (flag) { if (j10 * 2 + 1 < i2) { DrawTexturedModalRect(l12, j13, j11 + 54, 9 * byte3, 9, 9); } if (j10 * 2 + 1 == i2) { DrawTexturedModalRect(l12, j13, j11 + 63, 9 * byte3, 9, 9); } } if (j10 * 2 + 1 < i1) { DrawTexturedModalRect(l12, j13, j11 + 36, 9 * byte3, 9, 9); } if (j10 * 2 + 1 == i1) { DrawTexturedModalRect(l12, j13, j11 + 45, 9 * byte3, 9, 9); } } for (int k10 = 0; k10 < 10; k10++) { int k11 = k7; int j12 = 16; byte byte2 = 0; if (mc.ThePlayer.IsPotionActive(Potion.Hunger)) { j12 += 36; byte2 = 13; } if (mc.ThePlayer.GetFoodStats().GetSaturationLevel() <= 0.0F && updateCounter % (j4 * 3 + 1) == 0) { k11 += rand.Next(3) - 1; } if (flag2) { byte2 = 1; } int k13 = i6 - k10 * 8 - 9; DrawTexturedModalRect(k13, k11, 16 + byte2 * 9, 27, 9, 9); if (flag2) { if (k10 * 2 + 1 < l4) { DrawTexturedModalRect(k13, k11, j12 + 54, 27, 9, 9); } if (k10 * 2 + 1 == l4) { DrawTexturedModalRect(k13, k11, j12 + 63, 27, 9, 9); } } if (k10 * 2 + 1 < j4) { DrawTexturedModalRect(k13, k11, j12 + 36, 27, 9, 9); } if (k10 * 2 + 1 == j4) { DrawTexturedModalRect(k13, k11, j12 + 45, 27, 9, 9); } } if (mc.ThePlayer.IsInsideOfMaterial(Material.Water)) { int l10 = mc.ThePlayer.GetAir(); int l11 = (int)Math.Ceiling(((double)(l10 - 2) * 10D) / 300D); int k12 = (int)Math.Ceiling(((double)l10 * 10D) / 300D) - l11; for (int i13 = 0; i13 < l11 + k12; i13++) { if (i13 < l11) { DrawTexturedModalRect(i6 - i13 * 8 - 9, k8, 16, 18, 9, 9); } else { DrawTexturedModalRect(i6 - i13 * 8 - 9, k8, 25, 18, 9, 9); } } } } //GL.Disable(EnableCap.Blend); //GL.Enable(EnableCap.RescaleNormal); RenderHelper.EnableGUIStandardItemLighting(); for (int k5 = 0; k5 < 9; k5++) { int j6 = (i / 2 - 90) + k5 * 20 + 2; int i7 = j - 16 - 3; RenderInventorySlot(k5, j6, i7, par1); } RenderHelper.DisableStandardItemLighting(); //GL.Disable(EnableCap.RescaleNormal); } if (mc.ThePlayer.GetSleepTimer() > 0) { //GL.Disable(EnableCap.DepthTest); //GL.Disable(EnableCap.AlphaTest); int k = mc.ThePlayer.GetSleepTimer(); float f1 = (float)k / 100F; if (f1 > 1.0F) { f1 = 1.0F - (float)(k - 100) / 10F; } int j1 = (int)(220F * f1) << 24 | 0x101020; DrawRect(0, 0, i, j, j1); //GL.Enable(EnableCap.AlphaTest); //GL.Enable(EnableCap.DepthTest); } if (mc.PlayerController.Func_35642_f() && mc.ThePlayer.ExperienceLevel > 0) { bool flag1 = false; int k1 = flag1 ? 0xffffff : 0x80ff20; String s = (new StringBuilder()).Append("").Append(mc.ThePlayer.ExperienceLevel).ToString(); int i3 = (i - fontrenderer.GetStringWidth(s)) / 2; int k3 = j - 31 - 4; fontrenderer.DrawString(s, i3 + 1, k3, 0); fontrenderer.DrawString(s, i3 - 1, k3, 0); fontrenderer.DrawString(s, i3, k3 + 1, 0); fontrenderer.DrawString(s, i3, k3 - 1, 0); fontrenderer.DrawString(s, i3, k3, k1); } if (mc.GameSettings.ShowDebugInfo) { //GL.PushMatrix(); if (Minecraft.HasPaidCheckTime > 0L) { //GL.Translate(0.0F, 32F, 0.0F); } fontrenderer.DrawStringWithShadow((new StringBuilder()).Append("Minecraft 1.2.5 (").Append(mc.Debug).Append(")").ToString(), 2, 2, 0xffffff); fontrenderer.DrawStringWithShadow(mc.DebugInfoRenders(), 2, 12, 0xffffff); fontrenderer.DrawStringWithShadow(mc.GetEntityDebug(), 2, 22, 0xffffff); fontrenderer.DrawStringWithShadow(mc.DebugInfoEntities(), 2, 32, 0xffffff); fontrenderer.DrawStringWithShadow(mc.GetWorldProviderName(), 2, 42, 0xffffff); //long l = Runtime.getRuntime().maxMemory(); long l2 = GC.GetTotalMemory(false); //long l3 = Runtime.getRuntime().freeMemory(); //long l5 = l2 - l3; //string s1 = (new StringBuilder()).Append("Used memory: ").Append((l5 * 100L) / l).Append("% (").Append(l5 / 1024L / 1024L).Append("MB) of ").Append(l / 1024L / 1024L).Append("MB").ToString(); //DrawString(fontrenderer, s1, i - fontrenderer.GetStringWidth(s1) - 2, 2, 0xe0e0e0); //s1 = (new StringBuilder()).Append("Allocated memory: ").Append((l2 * 100L) / l).Append("% (").Append(l2 / 1024L / 1024L).Append("MB)").ToString(); //DrawString(fontrenderer, s1, i - fontrenderer.GetStringWidth(s1) - 2, 12, 0xe0e0e0); DrawString(fontrenderer, (new StringBuilder()).Append("x: ").Append(mc.ThePlayer.PosX).ToString(), 2, 64, 0xe0e0e0); DrawString(fontrenderer, (new StringBuilder()).Append("y: ").Append(mc.ThePlayer.PosY).ToString(), 2, 72, 0xe0e0e0); DrawString(fontrenderer, (new StringBuilder()).Append("z: ").Append(mc.ThePlayer.PosZ).ToString(), 2, 80, 0xe0e0e0); DrawString(fontrenderer, (new StringBuilder()).Append("f: ").Append((int)Math.Floor((double)((mc.ThePlayer.RotationYaw * 4F) / 360F) + 0.5D) & 3).ToString(), 2, 88, 0xe0e0e0); int l7 = (int)Math.Floor(mc.ThePlayer.PosX); int l8 = (int)Math.Floor(mc.ThePlayer.PosY); int k9 = (int)Math.Floor(mc.ThePlayer.PosZ); if (mc.TheWorld != null && mc.TheWorld.BlockExists(l7, l8, k9)) { Chunk chunk = mc.TheWorld.GetChunkFromBlockCoords(l7, k9); DrawString(fontrenderer, (new StringBuilder()).Append("lc: ").Append(chunk.GetTopFilledSegment() + 15).Append(" b: ").Append(chunk.Func_48490_a(l7 & 0xf, k9 & 0xf, mc.TheWorld.GetWorldChunkManager()).BiomeName).Append(" bl: ").Append(chunk.GetSavedLightValue(SkyBlock.Block, l7 & 0xf, l8, k9 & 0xf)).Append(" sl: ").Append(chunk.GetSavedLightValue(SkyBlock.Sky, l7 & 0xf, l8, k9 & 0xf)).Append(" rl: ").Append(chunk.GetBlockLightValue(l7 & 0xf, l8, k9 & 0xf, 0)).ToString(), 2, 96, 0xe0e0e0); } if (!mc.TheWorld.IsRemote) { DrawString(fontrenderer, (new StringBuilder()).Append("Seed: ").Append(mc.TheWorld.GetSeed()).ToString(), 2, 112, 0xe0e0e0); } //GL.PopMatrix(); } if (recordPlayingUpFor > 0) { float f2 = (float)recordPlayingUpFor - par1; int l1 = (int)((f2 * 256F) / 20F); if (l1 > 255) { l1 = 255; } if (l1 > 0) { //GL.PushMatrix(); //GL.Translate(i / 2, j - 48, 0.0F); //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); int j2 = 0xffffff; /* * if (recordIsPlaying) * { * j2 = Color.HSBtoRGB(f2 / 50F, 0.7F, 0.6F) & 0xffffff; * } */ fontrenderer.DrawString(recordPlaying, -(int)fontrenderer.GetStringWidth(recordPlaying) / 2, -4, j2 + (l1 << 24)); //GL.Disable(EnableCap.Blend); //GL.PopMatrix(); } } //GL.Enable(EnableCap.Blend); //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); //GL.Disable(EnableCap.AlphaTest); //GL.PushMatrix(); //GL.Translate(0.0F, j - 48, 0.0F); Func_50010_a(fontrenderer); //GL.PopMatrix(); if ((mc.ThePlayer is EntityClientPlayerMP) && mc.GameSettings.KeyBindPlayerList.Pressed) { NetClientHandler netclienthandler = ((EntityClientPlayerMP)mc.ThePlayer).SendQueue; List <GuiPlayerInfo> list = netclienthandler.PlayerNames; int k2 = netclienthandler.CurrentServerMaxPlayers; int j3 = k2; int i4 = 1; for (; j3 > 20; j3 = ((k2 + i4) - 1) / i4) { i4++; } int k4 = 300 / i4; if (k4 > 150) { k4 = 150; } int i5 = (i - i4 * k4) / 2; byte byte0 = 10; DrawRect(i5 - 1, byte0 - 1, i5 + k4 * i4, byte0 + 9 * j3, 0x8000000); for (int k6 = 0; k6 < k2; k6++) { int j7 = i5 + (k6 % i4) * k4; int i8 = byte0 + (k6 / i4) * 9; DrawRect(j7, i8, (j7 + k4) - 1, i8 + 8, 0x20ffffff); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.Enable(EnableCap.AlphaTest); if (k6 >= list.Count) { continue; } GuiPlayerInfo guiplayerinfo = (GuiPlayerInfo)list[k6]; fontrenderer.DrawStringWithShadow(guiplayerinfo.Name, j7, i8, 0xffffff); mc.RenderEngineOld.BindTexture(mc.RenderEngineOld.GetTexture("/gui/icons.png")); int l9 = 0; byte byte1 = 0; if (guiplayerinfo.ResponseTime < 0) { byte1 = 5; } else if (guiplayerinfo.ResponseTime < 150) { byte1 = 0; } else if (guiplayerinfo.ResponseTime < 300) { byte1 = 1; } else if (guiplayerinfo.ResponseTime < 600) { byte1 = 2; } else if (guiplayerinfo.ResponseTime < 1000) { byte1 = 3; } else { byte1 = 4; } ZLevel += 100F; DrawTexturedModalRect((j7 + k4) - 12, i8, 0 + l9 * 10, 176 + byte1 * 8, 10, 8); ZLevel -= 100F; } } //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); //GL.Disable(EnableCap.Lighting); //GL.Enable(EnableCap.AlphaTest); }
protected void GenAchievementBackground(int par1, int par2, float par3) { int i = MathHelper2.Floor_double(Field_27116_m + (GuiMapX - Field_27116_m) * (double)par3); int j = MathHelper2.Floor_double(Field_27115_n + (GuiMapY - Field_27115_n) * (double)par3); if (i < guiMapTop) { i = guiMapTop; } if (j < guiMapLeft) { j = guiMapLeft; } if (i >= guiMapBottom) { i = guiMapBottom - 1; } if (j >= guiMapRight) { j = guiMapRight - 1; } int k = Mc.RenderEngineOld.GetTexture("/terrain.png"); int l = Mc.RenderEngineOld.GetTexture("/achievement/bg.png"); int i1 = (Width - AchievementsPaneWidth) / 2; int j1 = (Height - AchievementsPaneHeight) / 2; int k1 = i1 + 16; int l1 = j1 + 17; ZLevel = 0.0F; //GL.DepthFunc(DepthFunction.Gequal); //GL.PushMatrix(); //GL.Translate(0.0F, 0.0F, -200F); //GL.Enable(EnableCap.Texture2D); //GL.Disable(EnableCap.Lighting); //GL.Enable(EnableCap.RescaleNormal); //GL.Enable(EnableCap.ColorMaterial); Mc.RenderEngineOld.BindTexture(k); int i2 = i + 288 >> 4; int j2 = j + 288 >> 4; int k2 = (i + 288) % 16; int l2 = (j + 288) % 16; Random random = new Random(); for (int i3 = 0; i3 * 16 - l2 < 155; i3++) { float f = 0.6F - ((float)(j2 + i3) / 25F) * 0.3F; //GL.Color4(f, f, f, 1.0F); for (int k3 = 0; k3 * 16 - k2 < 224; k3++) { random = new Random(1234 + i2 + k3); random.Next(); int j4 = random.Next(1 + j2 + i3) + (j2 + i3) / 2; int l4 = Block.Sand.BlockIndexInTexture; if (j4 > 37 || j2 + i3 == 35) { l4 = Block.Bedrock.BlockIndexInTexture; } else if (j4 == 22) { if (random.Next(2) == 0) { l4 = Block.OreDiamond.BlockIndexInTexture; } else { l4 = Block.OreRedstone.BlockIndexInTexture; } } else if (j4 == 10) { l4 = Block.OreIron.BlockIndexInTexture; } else if (j4 == 8) { l4 = Block.OreCoal.BlockIndexInTexture; } else if (j4 > 4) { l4 = Block.Stone.BlockIndexInTexture; } else if (j4 > 0) { l4 = Block.Dirt.BlockIndexInTexture; } DrawTexturedModalRect((k1 + k3 * 16) - k2, (l1 + i3 * 16) - l2, l4 % 16 << 4, (l4 >> 4) << 4, 16, 16); } } //GL.Enable(EnableCap.DepthTest); //GL.DepthFunc(DepthFunction.Lequal); //GL.Disable(EnableCap.Texture2D); for (int j3 = 0; j3 < AchievementList.Achievements.Count; j3++) { Achievement achievement1 = (Achievement)AchievementList.Achievements[j3]; if (achievement1.ParentAchievement == null) { continue; } int l3 = (achievement1.DisplayColumn * 24 - i) + 11 + k1; int k4 = (achievement1.DisplayRow * 24 - j) + 11 + l1; int i5 = (achievement1.ParentAchievement.DisplayColumn * 24 - i) + 11 + k1; int l5 = (achievement1.ParentAchievement.DisplayRow * 24 - j) + 11 + l1; bool flag = statFileWriter.HasAchievementUnlocked(achievement1); bool flag1 = statFileWriter.CanUnlockAchievement(achievement1); int c = Math.Sin(((double)(JavaHelper.CurrentTimeMillis() % 600L) / 600D) * Math.PI * 2D) <= 0.59999999999999998D ? 202 : 377; long i8 = 0xff000000; if (flag) { i8 = 0xff707070; } else if (flag1) { i8 = 65280 + (c << 24); } DrawHorizontalLine(l3, i5, k4, (int)i8); DrawVerticalLine(i5, k4, l5, (int)i8); } Achievement achievement = null; RenderItem renderitem = new RenderItem(); RenderHelper.EnableGUIStandardItemLighting(); //GL.Disable(EnableCap.Lighting); //GL.Enable(EnableCap.RescaleNormal); //GL.Enable(EnableCap.ColorMaterial); for (int i4 = 0; i4 < AchievementList.Achievements.Count; i4++) { Achievement achievement2 = (Achievement)AchievementList.Achievements[i4]; int j5 = achievement2.DisplayColumn * 24 - i; int i6 = achievement2.DisplayRow * 24 - j; if (j5 < -24 || i6 < -24 || j5 > 224 || i6 > 155) { continue; } if (statFileWriter.HasAchievementUnlocked(achievement2)) { float f1 = 1.0F; //GL.Color4(f1, f1, f1, 1.0F); } else if (statFileWriter.CanUnlockAchievement(achievement2)) { float f2 = Math.Sin(((double)(JavaHelper.CurrentTimeMillis() % 600L) / 600D) * Math.PI * 2D) >= 0.59999999999999998D ? 0.8F : 0.6F; //GL.Color4(f2, f2, f2, 1.0F); } else { float f3 = 0.3F; //GL.Color4(f3, f3, f3, 1.0F); } Mc.RenderEngineOld.BindTexture(l); int k6 = k1 + j5; int j7 = l1 + i6; if (achievement2.GetSpecial()) { DrawTexturedModalRect(k6 - 2, j7 - 2, 26, 202, 26, 26); } else { DrawTexturedModalRect(k6 - 2, j7 - 2, 0, 202, 26, 26); } if (!statFileWriter.CanUnlockAchievement(achievement2)) { float f4 = 0.1F; //GL.Color4(f4, f4, f4, 1.0F); renderitem.Field_27004_a = false; } //GL.Enable(EnableCap.Lighting); //GL.Enable(EnableCap.CullFace); renderitem.RenderItemIntoGUI(Mc.FontRenderer, Mc.RenderEngineOld, achievement2.TheItemStack, k6 + 3, j7 + 3); //GL.Disable(EnableCap.Lighting); if (!statFileWriter.CanUnlockAchievement(achievement2)) { renderitem.Field_27004_a = true; } //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); if (par1 >= k1 && par2 >= l1 && par1 < k1 + 224 && par2 < l1 + 155 && par1 >= k6 && par1 <= k6 + 22 && par2 >= j7 && par2 <= j7 + 22) { achievement = achievement2; } } //GL.Disable(EnableCap.DepthTest); //GL.Enable(EnableCap.Blend); //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F); Mc.RenderEngineOld.BindTexture(l); DrawTexturedModalRect(i1, j1, 0, 0, AchievementsPaneWidth, AchievementsPaneHeight); //GL.PopMatrix(); ZLevel = 0.0F; //GL.DepthFunc(DepthFunction.Lequal); //GL.Disable(EnableCap.DepthTest); //GL.Enable(EnableCap.Texture2D); base.DrawScreen(par1, par2, par3); if (achievement != null) { string s = StatCollector.TranslateToLocal(achievement.GetName()); string s1 = achievement.GetDescription(); int k5 = par1 + 12; int j6 = par2 - 4; if (statFileWriter.CanUnlockAchievement(achievement)) { int l6 = Math.Max(FontRenderer.GetStringWidth(s), 120); int k7 = FontRenderer.SplitStringWidth(s1, l6); if (statFileWriter.HasAchievementUnlocked(achievement)) { k7 += 12; } DrawGradientRect(k5 - 3, j6 - 3, k5 + l6 + 3, j6 + k7 + 3 + 12, 0xc000000, 0xc000000); FontRenderer.DrawSplitString(s1, k5, j6 + 12, l6, 0xffa0a0a); if (statFileWriter.HasAchievementUnlocked(achievement)) { FontRenderer.DrawStringWithShadow(StatCollector.TranslateToLocal("achievement.taken"), k5, j6 + k7 + 4, 0xff9090f); } } else { int i7 = Math.Max(FontRenderer.GetStringWidth(s), 120); string s2 = StatCollector.TranslateToLocalFormatted("achievement.requires", new Object[] { StatCollector.TranslateToLocal(achievement.ParentAchievement.GetName()) }); int l7 = FontRenderer.SplitStringWidth(s2, i7); DrawGradientRect(k5 - 3, j6 - 3, k5 + i7 + 3, j6 + l7 + 12 + 3, 0xc000000, 0xc000000); FontRenderer.DrawSplitString(s2, k5, j6 + 12, i7, 0xff70505); } FontRenderer.DrawStringWithShadow(s, k5, j6, statFileWriter.CanUnlockAchievement(achievement) ? achievement.GetSpecial() ? -128 : -1 : achievement.GetSpecial() ? 0xff80804 : 0xff80808); } //GL.Enable(EnableCap.DepthTest); //GL.Enable(EnableCap.Lighting); RenderHelper.DisableStandardItemLighting(); }
///<summary> /// Draw the foreground layer for the GuiContainer (everythin in front of the items) ///</summary> protected override void DrawGuiContainerForegroundLayer() { FontRenderer.DrawString(StatCollector.TranslateToLocal(lowerChestInventory.GetInvName()), 8, 6, 0x404040); FontRenderer.DrawString(StatCollector.TranslateToLocal(upperChestInventory.GetInvName()), 8, (YSize - 96) + 2, 0x404040); }
/// <summary> /// Renders the specified text to the screen. /// </summary> public virtual void DrawString(FontRenderer par1FontRenderer, string par2Str, int par3, int par4, int par5) { par1FontRenderer.DrawStringWithShadow(par2Str, par3, par4, par5); }
/// <summary> /// Draw the foreground layer for the GuiContainer (everythin in front of the items) /// </summary> protected override void DrawGuiContainerForegroundLayer() { FontRenderer.DrawString(StatCollector.TranslateToLocal("container.furnace"), 60, 6, 0x404040); FontRenderer.DrawString(StatCollector.TranslateToLocal("container.Inventory"), 8, (YSize - 96) + 2, 0x404040); }
private void Func_50010_a(FontRenderer par1FontRenderer) { byte byte0 = 10; bool flag = false; int i = 0; int j = chatMessageList.Count; if (j <= 0) { return; } if (IsChatOpen()) { byte0 = 20; flag = true; } for (int k = 0; k + field_50017_n < chatMessageList.Count && k < byte0; k++) { if (chatMessageList[k].UpdateCounter >= 200 && !flag) { continue; } ChatLine chatline = chatMessageList[k + field_50017_n]; double d = (double)chatline.UpdateCounter / 200D; d = 1.0D - d; d *= 10D; if (d < 0.0F) { d = 0.0F; } if (d > 1.0D) { d = 1.0D; } d *= d; int l1 = (int)(255D * d); if (flag) { l1 = 255; } i++; if (l1 > 2) { byte byte1 = 3; int j2 = -k * 9; String s = chatline.Message; DrawRect(byte1, j2 - 1, byte1 + 320 + 4, j2 + 8, l1 / 2 << 24); //GL.Enable(EnableCap.Blend); par1FontRenderer.DrawStringWithShadow(s, byte1, j2, 0xffffff + (l1 << 24)); } } if (flag) { //GL.Translate(0.0F, par1FontRenderer.FontHeight, 0.0F); int l = j * par1FontRenderer.FontHeight + j; int i1 = i * par1FontRenderer.FontHeight + i; int j1 = (field_50017_n * i1) / j; int k1 = (i1 * i1) / l; if (l != i1) { int c = j1 <= 0 ? '`' : 252; int i2 = field_50018_o ? 0xcc3333 : 0x3333aa; DrawRect(0, -j1, 2, -j1 - k1, i2 + (c << 24)); DrawRect(2, -j1, 1, -j1 - k1, 0xcccccc + (c << 24)); } } }