4sterism Posted July 16, 2019 Share Posted July 16, 2019 (edited) Alright, I hope someone will help me this time. Im baffled by this problem. I'm modifying a source for private use and managed to add an event suscriber so that when the Baubles gui is opened, stats will be displayed. The stats are updated when the equipment changes too. I thought it worked fine and was about to add more stats...until I noticed that tooltips are drawn under the strings. I did my research and they basically said to override the drawscreen method and add in a drawtooltip method to draw AFTER, so that it will be on top. Except...the source im using doesn't make their own custom tooltips. They hijack an event onTooltip and draw their tooltip there which makes this method not feasible to me at least. Another solution is to somehow render the gui I made so that it appears under everything. What do you think I should do? And HOW should I do it? Edited July 16, 2019 by 4sterism title Link to comment Share on other sites More sharing options...
Cadiboo Posted July 16, 2019 Share Posted July 16, 2019 You need to render your stats with a lower z-index. This can be achieved with GLStateManager.pushMatrix(), GLStateManager.scale(0, 0, -zOffset) and GLStateManager.popMatrix(). Play around in debug mode to find the right value for zOffset. About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme) Link to comment Share on other sites More sharing options...
4sterism Posted July 16, 2019 Author Share Posted July 16, 2019 (edited) 2 questions: 1. Debug mode? You mean I can edit them in real time without rebuilding and rerunning? HOW? lol 2. I dont know how to do that - here is my code attached. Where would these methods go. I have no experience making guis. I literally jsut drew strings at the correct coordinates and then every draw I would just increment the z coordinate by 10. 1 hour ago, Cadiboo said: You need to render your stats with a lower z-index. This can be achieved with GLStateManager.pushMatrix(), GLStateManager.scale(0, 0, -zOffset) and GLStateManager.popMatrix(). Play around in debug mode to find the right value for zOffset. StatsScreen.java Edited July 16, 2019 by 4sterism Link to comment Share on other sites More sharing options...
4sterism Posted July 18, 2019 Author Share Posted July 18, 2019 I have no idea how to use it: GlStateManager.pushMatrix(); stat = "Lv " + data.getLevel() + " (" + (data.GetExpRequiredForLevelUp() - data.getExp())+ "xp left)"; mc.fontRenderer.drawStringWithShadow(stat, right, j, 32896); stat = GetStatString(unit.healthData(),data) + " (" + GetStatString(unit.MyStats.get(HealthRegen.GUID), data).substring(13) + "/s)"; mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = GetStatString(unit.energyData(), data) + " (" + GetStatString(unit.MyStats.get(EnergyRegen.GUID), data).substring(13) + "/s)"; mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = GetStatString(unit.manaData(), data) + " (" + GetStatString(unit.MyStats.get(ManaRegen.GUID), data).substring(11) + "/s)"; mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; mc.fontRenderer.drawStringWithShadow(" ", right, down, -1); down += 10; stat = "Resistances"; mc.fontRenderer.drawStringWithShadow(stat, right, down, 32896); down += 10; stat = "Physical " + GetStatString(unit.MyStats.get(Armor.GUID), data).substring(6); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = "Fire " + GetStatString(unit.MyStats.get(FireResist.GUID), data).substring(12); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = "Thunder " + GetStatString(unit.MyStats.get(ThunderResist.GUID), data).substring(15); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = "Water " + GetStatString(unit.MyStats.get(WaterResist.GUID), data).substring(13); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = "Nature " + GetStatString(unit.MyStats.get(NatureResist.GUID), data).substring(14); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = GetStatString(unit.MyStats.get(Dodge.GUID), data); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; mc.fontRenderer.drawStringWithShadow(" ", right, down, -1); down += 10; stat = "Melee"; mc.fontRenderer.drawStringWithShadow(stat, right, down, 32896); down += 10; stat = "Dmg " + GetStatString(unit.MyStats.get(PhysicalDamage.GUID), data).substring(16); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = "Crit " + GetStatString(unit.MyStats.get(CriticalHit.GUID), data).substring(13) + " (Dmg +" + GetStatString(unit.MyStats.get(CriticalDamage.GUID), data).substring(16) + ")"; mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = GetStatString(unit.MyStats.get(Lifesteal.GUID), data); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; stat = GetStatString(unit.MyStats.get(ManaOnHit.GUID), data); mc.fontRenderer.drawStringWithShadow(stat, right, down, -1); down += 10; GlStateManager.scale(0,0,-100); GlStateManager.popMatrix(); Link to comment Share on other sites More sharing options...
4sterism Posted July 19, 2019 Author Share Posted July 19, 2019 Anyone? Link to comment Share on other sites More sharing options...
4sterism Posted July 20, 2019 Author Share Posted July 20, 2019 Again fixed by self, and it definitely does not involve the glstatemanager and only requires changing one thing... Link to comment Share on other sites More sharing options...
DoctorOne Posted July 20, 2019 Share Posted July 20, 2019 6 hours ago, 4sterism said: Again fixed by self, and it definitely does not involve the glstatemanager and only requires changing one thing... Noice I just started to Forge API. But I was gonna say, put the information tab left side. Link to comment Share on other sites More sharing options...
gepao Posted February 12, 2020 Share Posted February 12, 2020 On 2019/7/20 at PM2点46分, 4sterism said: 再次由自己修复,它绝对不涉及glstatemanager,只需要更改一件事即可。 How can I fix this problem? Link to comment Share on other sites More sharing options...
Recommended Posts