Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I am not new to java, but am to OPGL, and minecraft logic in terms of whatever mojang has decided todo...

 

Im trying to draw a button, and on the button is a little meter. But the bar (line will not render), the following methods do not work at all for me. Regardless if im using it from within a button subclass or the guiScreen.

 

-drawRect

-drawHorizonalRect

-drawVerticalRect

 

@Override
    public void drawButton(Minecraft mc, int mouseX, int mouseY) {
        if (this.visible) {
            mc.getTextureManager().bindTexture(texture);
            this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
            GlStateManager.enableBlend();
            GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
            GlStateManager.blendFunc(770, 771);

            int baseX = this.xPosition;
            int baseY = this.yPosition + (this.id * 25);
            drawTexturedModalRect(baseX, baseY, 0, 0, 35, 22);
            drawHorizontalLine(baseX + 15, baseX + 7, baseY + 20, 64_000);//meter
            mc.getRenderItem().renderItemIntoGUI(new ItemStack(Item.getByNameOrId("minecraft:diamond_axe")), baseX, baseY + 2);
            this.mouseDragged(mc, mouseX, mouseY);
            mc.fontRendererObj.drawString("5%"+, baseX, baseY + 7, 3947580);
        }
    }

 

P.S. bbcodes and such dont seem to want to work, i only knew the code one from the top of my head.

  • Author

anyone know, or wanna point out why it doesnt work? Otherwise i guess ill have to do a texture on the sheet for the bar.

I don't know the default parameters of drawHorizontalLine, but that (the arguments you passed, particularly '64_000') does seem odd to me. Maybe compare it to the GUI/GUI screen methods, and make sure you have the right parameters/arguments. I know the functions aren't broken since I used them before without issue.

  • Author

The arguments are at least for HorizontalLine(srcX, destX, yPos, color) so 64_000, is the color, and its a bright green. No color shows up, even if put in hex format, or just a 0 is used(black).

 

The arguments are at least for HorizontalLine(srcX, destX, yPos, color) so 64_000 is the color, and its a bright green. No color shows up, even if put in hex format, or just a 0 is used(black).

It is (ARGB) format in hexadecimal. I think you didn't specified the alpha.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Also, a nice way to use colors is to use java.awt.Color

 

So in your class, you can have a Color field like so:

 

Color lineColor = new Color(0,255,0,255);

 

Then when you want to use the color integer, use

 

lineColor.getRGB();

 

Though the method is getRGB, it will also return with the alpha bits.

 

Doing so also helps make the code nice to read, and involves less guess work for the person viewing the code.

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.