Jump to content

[1.12.2] [SOLVED] GUI Renders only one color of texture


Bektor

Recommended Posts

Hi there,

 

I'm having the problem that my GUI only renders one color of my texture.

    @Override
    public void drawButton(Minecraft mc, int mouseX, int mouseY, float partialTicks) {
        if(this.enabled && this.visible) {
            GlStateManager.color(1.f, 1.f, 1.f, 1.f);
            
            ResourceLocation BUTTON_ICON = new ResourceLocation(Constants.MOD_ID, "textures/gui/icon_test.png");
            mc.getTextureManager().bindTexture(BUTTON_ICON);
            this.drawTexturedModalRect(this.x, this.y, 0, 0, 30, 30);
            
            this.drawCenteredString(mc.fontRenderer, this.displayString, this.x + 40, this.y + (this.height - 8) / 2, 0xFFFFFF);
        }
    }

 

This piece of code only ever results into a blank texture beeing drawn instead of the (for test purposes) question mark within it beeing drawn. The texture is 32 by 32 px large.

Chaning the background of the test texture from black to transparent makes it impossible to see anything of the texture at all.

 

Thx in advance.

Bektor

image.png

image.png

Edited by Bektor

Developer of Primeval Forest.

Link to comment
Share on other sites

More accurately, its drawing your texture with no lighting. Even if your texture was white it would render black.

 

You need to disable lighting.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

11 minutes ago, Draco18s said:

More accurately, its drawing your texture with no lighting. Even if your texture was white it would render black.

 

You need to disable lighting.

It is rendering a white texture just fine (as a white texture), a black texture is rendered just fine, a red texture is rendered just fine.

But now matter what colors the texture has, the question mark will not be drawn (tested with black and transparent background, red and white question marks).

My class just extends GuiButton and doesn't overwrite anything else except for this method.

Edited by Bektor

Developer of Primeval Forest.

Link to comment
Share on other sites

Oh.

Different problem.

drawTexturedModalRect assumes textures are both square and 256 pixels wide. Your texture is 30 pixels wide and you're trying to draw all 30 pixels. What's actually being drawn is the top left corner (3.5 pixels worth).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

13 hours ago, Draco18s said:

Oh.

Different problem.

drawTexturedModalRect assumes textures are both square and 256 pixels wide. Your texture is 30 pixels wide and you're trying to draw all 30 pixels. What's actually being drawn is the top left corner (3.5 pixels worth).

How can I draw a texture with 30x30px?

I'm also wondering how I could scale this texture, for example when the UI element is smaller than the texture, but the full texture should be drawn within this smaller UI element.

Developer of Primeval Forest.

Link to comment
Share on other sites

4 minutes ago, Bektor said:

How can I draw a texture with 30x30px?

I'm also wondering how I could scale this texture, for example when the UI element is smaller than the texture, but the full texture should be drawn within this smaller UI element.

Gui#drawModalRectWithCustomSizedTexture

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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