Jump to content

Recommended Posts

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.

 

Posted

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)

Posted

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/

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

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

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

×   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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hey all, I'm wondering if there's a way to forceload a chunk instantly in 1.18.2.  I'm updating an older mod from 1.16, and in that version of the game I was able to do so just by calling serverWorld.forceChunk(chunkPos.x, chunkPos.z, false); which would then enable me to access the Chunk at that location and get a list of the entities inside it (which is my end goal here as well).  However, although in 1.18 I still have the ability to call serverLevel.setChunkForced(chunkPos.x, chunkPos.z, false); it no longer seems to load the chunk immediately, but instead (from my understanding) submits a ticket to load it on the next tick.  This is problematic for my use case, as my goal is to load the chunk, access an entity within it, and then deload the chunk on completion, which I can no longer do in a single tick with this method.  LevelChunks also don't seem to contain a list of entities anymore in 1.18, and seem to have less automated functions connected to them, which could I suppose also be the source of my issue. Is there a way to load a chunk instantaneously from its coordinates and immediately access the entities within it?
    • I figured it out, you just use Minecraft.getInstance().player.displayClientMessage(Component.literal("Message"),false); or how sendSystemMessage() does it in 1.20.6 with Minecraft.getInstance().gui.getChat().addMessage(Component.literal("Message")); Suddenly clicked that I can look into classes to see how they work
    • Hi, im trying to install the last version of forge but everytime i have some issues. The last one was "the librairies failed to download try again." Here you can see the log. Thanks for all !
    • I've had this problem for a long time.  I tried uninstalling and reinstalling drivers, I've tried running different mods, nothing is working so far and I wanted to try reaching out finally [11:49:29] [main/INFO]:Found mod file YungsBetterWitchHuts-1.19.4-Forge-2.3.0.jar of type MOD with provider {mods folder locator at C:\Users\bleed\curseforge\minecraft\Instances\For A Week\mods} [11:49:29] [main/WARN]:Mod file C:\Users\bleed\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.19.4-45.3.0\fmlcore-1.19.4-45.3.0.jar is missing mods.toml file [11:49:29] [main/WARN]:Mod file C:\Users\bleed\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.19.4-45.3.0\javafmllanguage-1.19.4-45.3.0.jar is missing mods.toml file [11:49:29] [main/WARN]:Mod file C:\Users\bleed\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.19.4-45.3.0\lowcodelanguage-1.19.4-45.3.0.jar is missing mods.toml file [11:49:29] [main/WARN]:Mod file C:\Users\bleed\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.19.4-45.3.0\mclanguage-1.19.4-45.3.0.jar is missing mods.toml file [11:49:29] [main/WARN]:Attempted to select a dependency jar for JarJar which was passed in as source: playeranimator. Using Mod File: C:\Users\bleed\curseforge\minecraft\Instances\For A Week\mods\player-animation-lib-forge-1.0.2+1.19.4.jar [11:49:31] [main/ERROR]:Mixin config necronomicon.forge.mixins.json does not specify "minVersion" property [11:49:31] [main/WARN]:Reference map '${refmap_target}refmap.json' for corgilib.forge.mixins.json could not be read. If this is a development environment you can ignore this message [11:49:34] [main/WARN]:Mixin apply failed animation_overhaul.mixins.json:AbstractClientPlayerEntityMixin -> net.minecraft.client.player.AbstractClientPlayer: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Invalid descriptor on animation_overhaul.mixins.json:AbstractClientPlayerEntityMixin->@Inject::animation_overhaul$init(Lnet/minecraft/client/multiplayer/ClientLevel;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/world/entity/player/ProfilePublicKey;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V! Expected (Lnet/minecraft/client/multiplayer/ClientLevel;Lcom/mojang/authlib/GameProfile;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V but found (Lnet/minecraft/client/multiplayer/ClientLevel;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/world/entity/player/ProfilePublicKey;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V [ -> Inject -> animation_overhaul.mixins.json:AbstractClientPlayerEntityMixin->@Inject::animation_overhaul$init(Lnet/minecraft/client/multiplayer/ClientLevel;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/world/entity/player/ProfilePublicKey;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] at vazkii.patchouli.client.handler.BookCrashHandler.appendToCrashReport(BookCrashHandler.java:23) ~[Patchouli-1.19.4-79.1-FORGE.jar%23236!/:1.19.4-79.1-FORGE] at net.minecraft.SystemReport.handler$zkc000$patchouli_addContext(SystemReport.java:516) ~[client-1.19.4-20230314.122934-srg.jar%23250!/:?] at net.minecraft.SystemReport.<init>(SystemReport.java:58) ~[client-1.19.4-20230314.122934-srg.jar%23250!/:?] at net.minecraft.CrashReport.<init>(CrashReport.java:31) ~[client-1.19.4-20230314.122934-srg.jar%23250!/:?] at net.minecraft.CrashReport.m_127529_(CrashReport.java:216) ~[client-1.19.4-20230314.122934-srg.jar%23250!/:?] at net.minecraft.client.main.Main.main(Main.java:137) ~[forge-45.3.0.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.4-45.3.0.jar:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.8.jar:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] [11:49:38] [Render thread/WARN]:Assets URL 'union:/C:/Users/bleed/curseforge/minecraft/Install/libraries/net/minecraft/client/1.19.4-20230314.122934/client-1.19.4-20230314.122934-srg.jar%23250!/assets/.mcassetsroot' uses unexpected schema [11:49:38] [Render thread/WARN]:Assets URL 'union:/C:/Users/bleed/curseforge/minecraft/Install/libraries/net/minecraft/client/1.19.4-20230314.122934/client-1.19.4-20230314.122934-srg.jar%23250!/data/.mcassetsroot' uses unexpected schema
    • The error in the console Starting Gradle Daemon... Gradle Daemon started in 2 s 964 ms FAILURE: Build failed with an exception. * Where: Build file 'C:\Data\forge-1.20.1-47.3.22-mdk\build.gradle' line: 5 * What went wrong: Could not apply requested plugin [id: 'net.minecraftforge.gradle', version: '[6.0,6.2)'] as it does not provide a plugin with id 'net.minecraftforge.gradle'. This is caused by an incorrect plugin implementation. Please contact the plugin author(s). > Plugin with id 'net.minecraftforge.gradle' not found. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 6s The 'error line is "id 'net.minecraftforge.gradle' version '[6.0,6.2)'" which is the code that came with the mdk. I can also give the build.gradle file if you think that'll help. How do I get the plugin to work again? I didnt even touch it. It seems to have broken on its own. Any help is appreciated! Thanks!  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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