Jump to content

Recommended Posts

Posted

Im creating a mod using forge and eclipse window builder (swing designer) to add a small external java GUI to the game. Where do I put the code to automatically open the GUI when the game is run? This is what I think I need to add, but where?

					Maingui window = new Maingui();
					window.frame.setVisible(true);
Posted
9 minutes ago, frederfg said:

Im creating a mod using forge and eclipse window builder (swing designer) to add a small external java GUI to the game. Where do I put the code to automatically open the GUI when the game is run? This is what I think I need to add, but where?


					Maingui window = new Maingui();
					window.frame.setVisible(true);

This is an interesting question, I would guess the best answer would be provided with what will the external gui do?

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.

Posted
23 hours ago, Animefan8888 said:

This is an interesting question, I would guess the best answer would be provided with what will the external gui do?

 

18 hours ago, jabelar said:

Well, one thing you can do is handle the GUI open event and whenever the earliest GUI is opened you could then have a chance to intercept it and even replace it. But it does really matter what you're trying to do, so maybe explain that better.

 

The GUI is a control panel to switch on and off different game modifiers. The mod is similar to carpet mod by gnembon but I prefer an external gui rather than typing in commands to chat. Maybe it would be easier to open the gui by typing in something like /GUI

 

Posted
6 minutes ago, frederfg said:

game modifiers

Define game modifiers

6 minutes ago, frederfg said:

Maybe it would be easier to open the gui by typing in something like /GUI

Or a key press.

 

But you also must use another Thread for your External Gui. You could also just use an in game gui.

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.

Posted
3 minutes ago, Animefan8888 said:

Define game modifiers

Or a key press.

 

 But you also must use another Thread for your External Gui. You could also just use an in game gui.

Entity tracking (tnt,sand,items), make entities visible or invisible. Trace entity path (tnt,sand,items). List entities (items) and time till they despawn. Mostly mods for technical players. The reason I dont choose an in game gui is because it seems more challenging to create the things I need. (checkboxes, tables, lists) and aesthetics are the least of my concern.

Posted
1 minute ago, frederfg said:

Entity tracking (tnt,sand,items), make entities visible or invisible. Trace entity path (tnt,sand,items). List entities (items) and time till they despawn. Mostly mods for technical players. The reason I dont choose an in game gui is because it seems more challenging to create the things I need. (checkboxes, tables, lists) and aesthetics are the least of my concern.

That works, but remember you will have to use another thread and handle the data transfer between them correctly so that no memory leaks happen.

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.

Posted
11 minutes ago, Animefan8888 said:

That works, but remember you will have to use another thread and handle the data transfer between them correctly so that no memory leaks happen.

Would you be able to go into a little more detail?

Posted
Just now, frederfg said:

Would you be able to go into a little more detail?

That's simply a programming/Java thing and a google search will provide a good explanation. And even tutorials on YouTube. 

  • Thanks 1

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.

Posted
47 minutes ago, frederfg said:

 

 

The GUI is a control panel to switch on and off different game modifiers. The mod is similar to carpet mod by gnembon but I prefer an external gui rather than typing in commands to chat. Maybe it would be easier to open the gui by typing in something like /GUI

 

Do you mean you just want a configuration GUI? You can do a standard config GUI that you can access by pressing ESC then Mod Options. Of you can just do your own extension of GuiScreen and just open it whenever you want (could be chat command if you want). The nice thing about a config GUI is it is already set up to have fairly organized way to set, change, reset, etc. including nested categories. It also allows you the user to configure using a .cfg file directly. 

 

What kind of things would the player be changing?

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted
25 minutes ago, jabelar said:

Do you mean you just want a configuration GUI? You can do a standard config GUI that you can access by pressing ESC then Mod Options. Of you can just do your own extension of GuiScreen and just open it whenever you want (could be chat command if you want). The nice thing about a config GUI is it is already set up to have fairly organized way to set, change, reset, etc. including nested categories. It also allows you the user to configure using a .cfg file directly. 

 

What kind of things would the player be changing?

Do you know if the config screen requires a client restart to apply changes? For example I need to be able to adjust a slider while the game is running.

Posted
4 hours ago, frederfg said:

Do you know if the config screen requires a client restart to apply changes? For example I need to be able to adjust a slider while the game is running.

No. You only need a restart if you need a restart -- you can specify if a value change requires restart (default it does not). For example, I have a mod where you can change the color of all the enchantments and you can change them right while playing the game. 

 

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

  • 2 weeks later...
Posted
On 8/18/2018 at 9:56 PM, frederfg said:

Do you know if the config screen requires a client restart to apply changes? For example I need to be able to adjust a slider while the game is running.

Nope. Here's a few links to get you started

https://mcforge.readthedocs.io/en/latest/config/annotations/

https://github.com/TheGreyGhost/MinecraftByExample/blob/master/src/main/java/minecraftbyexample/mbe70_configuration/Notes.txt

ExplosivesBanner-1.gif

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

    • Hi everyone, I'm currently developing a Forge 1.21 mod for Minecraft and I want to display a custom HUD overlay for a minigame. My goal: When the game starts, all players should see an item/block icon (from the base game, not a custom texture) plus its name/text in the HUD – similar to how the bossbar overlay works. The HUD should appear centered above the hotbar (or at a similar prominent spot), and update dynamically (icon and name change as the target item changes). What I've tried: I looked at many online tutorials and several GitHub repos (e.g. SeasonHUD, MiniHUD), but most of them use NeoForge or Forge versions <1.20 that provide the IGuiOverlay API (e.g. implements IGuiOverlay, RegisterGuiOverlaysEvent). In Forge 1.21, it seems that neither IGuiOverlay nor RegisterGuiOverlaysEvent exist anymore – at least, I can't import them and they are missing from the docs and code completion. I tried using RenderLevelStageEvent as a workaround but it is probably not intended for custom HUDs. I am not using NeoForge, and switching the project to NeoForge is currently not an option for me. I tried to look at the original minecraft source code to see how elements like hearts, hotbar etc are drawn on the screen but I am too new to Minecraft modding to understand. What I'm looking for: What is the correct way to add a custom HUD element (icon + text) in Forge 1.21, given that the previous overlay API is missing? Is there a new recommended event, callback, or method in Forge 1.21 for custom HUD overlays, or is everyone just using a workaround? Is there a minimal open-source example repo for Forge 1.21 that demonstrates a working HUD overlay without relying on NeoForge or deprecated Forge APIs? My ideal solution: Centered HUD element with an in-game item/block icon (from the base game's assets, e.g. a diamond or any ItemStack / Item) and its name as text, with a transparent background rectangle. It should be visible to the players when the mini game is running. Easy to update the item (e.g. static variable or other method), so it can change dynamically during the game. Any help, code snippets, or up-to-date references would be really appreciated! If this is simply not possible right now in Forge 1.21, it would also help to know that for sure. Thank you very much in advance!
    • The simple answer is there is not an easy way. You would need to know how to program in Java, as well as at least some familiarity with how Forge works so you could port the differences. You would also need the sourcecode for the original mod, and permission from the author to modify it, if they did not use some sort of open source license. So it's not impossible, but it would take some effort, but doing so would open up a whole new world of possibilities for you!
    • Does it still crash if you remove holdmyitems? Looks like that mod doesn't work on a server as far as I can tell from the error.  
    • Crashes the server when trying to start. Error code -1. Log  
  • Topics

×
×
  • Create New...

Important Information

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