Hello! I'm trying to adventure myself into minecraft modding, and now my next goal is to render a HUD bar, like a new XP bar for the user.
This is the current code that renders something on screen:
package br.com.rotstudio.phantas.util;
import com.mojang.blaze3d.systems.RenderSystem;
import br.com.rotstudio.phantas.Phantas;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.eventbus.api.SubscribeEvent;
@OnlyIn(value = Dist.CLIENT)
public class RenderGUIHandler{
Minecraft minecraft = Minecraft.getInstance();
public ResourceLocation tex;
public RenderGUIHandler() {
tex = new ResourceLocation(Phantas.MOD_ID, "textures/hud/hud.png");
}
@SubscribeEvent
public void renderOverlay(RenderGameOverlayEvent event) {
if(event.getType() == ElementType.HEALTH) {
RenderSystem.pushMatrix();
int posY = 16;
int posX = 16;
RenderSystem.pushTextureAttributes();
RenderSystem.enableAlphaTest();
RenderSystem.enableBlend();
RenderSystem.color4f(1F, 1F, 1F, 1F);
minecraft.getTextureManager().bindTexture(tex);
minecraft.ingameGUI.blit(posX, posY, 0, 0, 32, 32);
RenderSystem.popAttributes();
RenderSystem.popMatrix();
}
}
}
But when in game, it renders weirdly:
And the HUD png image looks like this:
It seems its rendering some other minecraft texture atlas on top of my texture, and i have no idea why it does this
does anyone has any clue on what could be happening?
Thank you!