Jump to content

Recommended Posts

Posted (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?

 

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

Edited by 4sterism
title
Posted

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)

Posted (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 by 4sterism
Posted

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();
Posted
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.

  • 6 months later...
Posted
On 2019/7/20 at PM2点46分, 4sterism said:

再次由自己修复,它绝对不涉及glstatemanager,只需要更改一件事即可。

How can I fix this problem?

 

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Im trying to build my mod using shade since i use the luaj library however i keep getting this error Reason: Task ':reobfJar' uses this output of task ':shadowJar' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. So i try adding reobfJar.dependsOn shadowJar  Could not get unknown property 'reobfJar' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. my gradle file plugins { id 'eclipse' id 'idea' id 'maven-publish' id 'net.minecraftforge.gradle' version '[6.0,6.2)' id 'com.github.johnrengelman.shadow' version '7.1.2' id 'org.spongepowered.mixin' version '0.7.+' } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' version = mod_version group = mod_group_id base { archivesName = mod_id } // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. java.toolchain.languageVersion = JavaLanguageVersion.of(17) //jarJar.enable() println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" minecraft { mappings channel: mapping_channel, version: mapping_version copyIdeResources = true runs { configureEach { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' arg "-mixin.config=derp.mixin.json" mods { "${mod_id}" { source sourceSets.main } } } client { // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. property 'forge.enabledGameTestNamespaces', mod_id } server { property 'forge.enabledGameTestNamespaces', mod_id args '--nogui' } gameTestServer { property 'forge.enabledGameTestNamespaces', mod_id } data { workingDirectory project.file('run-data') args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') } } } sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { flatDir { dirs './libs' } maven { url = "https://jitpack.io" } } configurations { shade implementation.extendsFrom shade } dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" implementation 'org.luaj:luaj-jse-3.0.2' implementation fg.deobf("com.github.Virtuoel:Pehkui:${pehkui_version}") annotationProcessor 'org.spongepowered:mixin:0.8.5:processor' minecraftLibrary 'luaj:luaj-jse:3.0.2' shade 'luaj:luaj-jse:3.0.2' } // Example for how to get properties into the manifest for reading at runtime. tasks.named('jar', Jar).configure { manifest { attributes([ 'Specification-Title' : mod_id, 'Specification-Vendor' : mod_authors, 'Specification-Version' : '1', // We are version 1 of ourselves 'Implementation-Title' : project.name, 'Implementation-Version' : project.jar.archiveVersion, 'Implementation-Vendor' : mod_authors, 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", "TweakOrder" : 0, "MixinConfigs" : "derp.mixin.json" ]) } rename 'mixin.refmap.json', 'derp.mixin-refmap.json' } shadowJar { archiveClassifier = '' configurations = [project.configurations.shade] finalizedBy 'reobfShadowJar' } assemble.dependsOn shadowJar reobf { re shadowJar {} } publishing { publications { mavenJava(MavenPublication) { artifact jar } } repositories { maven { url "file://${project.projectDir}/mcmodsrepo" } } }  
    • All versions of Minecraft Forge suddenly black screen even without mods (tried reinstalling original Minecraft, Java, updating drivers doesn't work)
    • When i join minecraft all ok, when i join world all working fine, but when i open indentity menu, i get this The game crashed whilst unexpected error Error: java.lang.NullPointerException: Cannot invoke "top.ribs.scguns.common.Gun$Projectile.getDamage()" because "this.projectile" is null crash report here https://paste.ee/p/0vKaf
  • Topics

×
×
  • Create New...

Important Information

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