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

The GUI I am trying to re-create: 

9226e30618feae58d76c3b0962ef983f.png

 

 

My questions are:

 

How would I relatively position buttons and labels next to each other? (Right now, manually positioning each element with absolute value is painful and unintuitive)

How would I add a listbox area that is scrollable?

How to make sure that my GUI positioning is fine on different resolution?

 

That's pretty much it.

 

Try Creating a ScaledResolution 

new ScaledResolution(this.mc); 

And then use getScaledWith and getScaledHeight for calculations. At least this works for me in Overlay Rendering(although I get the ScaledResolution from an event there)

If you're using a GuiScreen, setting the xSize and ySize will correctly set the guiLeft and guiTop variables in your GuiScreen, which represent the coordinates of the top-left corner of your GuiScreen. You can use those variables to determine positions of buttons and text.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

  • Author
1 hour ago, ArmamentHaki said:

Try Creating a ScaledResolution 

new ScaledResolution(this.mc); 

And then use getScaledWith and getScaledHeight for calculations. At least this works for me in Overlay Rendering(although I get the ScaledResolution from an event there)

 

39 minutes ago, larsgerrits said:

If you're using a GuiScreen, setting the xSize and ySize will correctly set the guiLeft and guiTop variables in your GuiScreen, which represent the coordinates of the top-left corner of your GuiScreen. You can use those variables to determine positions of buttons and text.

 

Thanks to you both. Looks like something that I would need. How do you place an element next to each other with offset? Like a label next to a textfield or a button next to another button. And do I need to keep a reference to each individual element? 

  • Author
2 minutes ago, diesieben07 said:

You are asking for a layout engine in Minecraft. There is no such thing. You need to position things manually with absolute offsets.

Is that how the Configuration GUI was done? Because it looks rather nice and properly size/aligned and all of that.

I think there should be something in Forge that makes this easier or a helpful post in Common issues, as loads of people have the problem that their GUI resizes on changing the the scale. 

  • Author
2 minutes ago, diesieben07 said:

You just discovered why GUIs suck.

Yep digging deeper, it seems like Minecraft have no love for GUI. Even mods like refined storage and AE2 seems to use absolute positioning and a lot of headache inducing positional calculation. I will most likely switch to commands instead.

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.