Jump to content

[1.12.2] Help With Gui Elements Overlaying Each Other


4sterism

Recommended Posts

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?

 

2019-07-15_18_37_18.thumb.png.392cc90c5c58722b284b64077a857d7b.png2019-07-15_18_37_26.thumb.png.ba7b757bb1834c4abf825dddfaabcf85.png

Edited by 4sterism
title
Link to comment
Share on other sites

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 WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.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

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 by 4sterism
Link to comment
Share on other sites

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

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

  • 6 months later...
Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.