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.

[SOLVED] [1.13.2] Gui not displaying after GuiScreen object returned on client side

Featured Replies

Posted

I've updated my code to use the new gui opening code, however whenever I click on the block, the GUI never displays. (Forge 1.13.2-25.0.73)

https://github.com/Ipsis/Woot/tree/1.13.x

 

So far I've done the following

* registered an extension point for returning the guiscreen

** https://github.com/Ipsis/Woot/blob/1.13.x/src/main/java/ipsis/woot/Woot.java#L68

* return a new GuiScreen for the FMLPlayMessages,OpenContainer

** https://github.com/Ipsis/Woot/blob/1.13.x/src/main/java/ipsis/woot/client/GuiHandler.java#L30

* used NetworkHooks.openGui in the onBlockActivated method for the block

** https://github.com/Ipsis/Woot/blob/1.13.x/src/main/java/ipsis/woot/util/WootBlock.java#L92

 

If I walk through the code then I can see the client side code being called, the correct block position being passed, the correct gui id being requested and the GuiScreen object being returned.

Then FMLPlayMessages.handle method calls the displayGuiScreen method successfully,  no obvious errors seem to occur and no event seems to be cancelled. That particular method gets to the end without issue.

 

I've put a breakpoint in the GUI drawGuiContainerBackgroundLayer and that is never hit.

Adding debug to the FMLPlayMessage.OpenContainer method handler in my code shows that I can call the gui open sequence repeatedly by right-clicking the block.

 

I'm assuming that I'm missing something really simple but I cannot for the life of me work out what it is.

 

Does anyone have any hints as to what obvious thing I'm overlooking.

 

Thanks.

Ipsis

 

 

Edited by Ipsissimus418
Update title with solved

I am exactly in the same boat currently, in my case it doesn't even run the NetworkHooks.openGui, because the TileEntity cast check doesn't go through? Is this the same in your case?

  • Author

Mine is a bit different.

I'm successfully calling NetworkHooks.openGui on the server side and the request is getting to the client side handler as well.

  • Author

@diesieben07 Well that is a embarrassing mistake!

Thanks for that, I looked straight through that code multiple times and never saw the mistake.

Correcting the canInteractWith method allowed the GUI to open successfully.

 

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.