Posted October 18, 201510 yr I have been using Minecraft.getMinecraft().displayGuiScreen(new Foo()); Which will not fire drawScreen() but it will fire initGui() (verified with breakpoints). Code: https://gist.github.com/anonymous/262437fbb85368eb612b Any ideas on why drawScreen() is not fired?
October 18, 201510 yr Author Client command which I know is run (break point triggered) Minecraft.getMinecraft().displayGuiScreen(new GUIExperience());
October 18, 201510 yr You sure drawing is not called? (print?) The only possibility I see is that you are immidiately closing gui after it's opened. Is there any line in your code that could set screen to null (and you forgot that)? 1.7.10 is no longer supported by forge, you are on your own.
October 19, 201510 yr Author You sure drawing is not called? (print?) The only possibility I see is that you are immidiately closing gui after it's opened. Is there any line in your code that could set screen to null (and you forgot that)? Yep, same results. That should be impossible. I am guessing that something is being thrown silently but I don't see anything in my logs (I also pushed my changes to the repo if you want to clone and poke at it).
October 19, 201510 yr Damn bro... Commands are ONLY fired on server. You can't fire client stuff on server thread. Not only it won't work, but also it will crash on dedicated server. Either learn IGuiHandler or: 1. Open gui from client. 2. Send command, decide on server if player can open gui, send packet to player that opens gui. Have a look at this post if you don't get how threads/sided-code works: http://www.minecraftforge.net/forum/index.php/topic,33918.msg178740.html#msg178740 Packets: http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/2137055-1-7-2-customizing-packet-handling-with @Edit: My mistake, didn't see that one 1.7.10 is no longer supported by forge, you are on your own.
October 19, 201510 yr Author Damn bro... Commands are ONLY fired on server. You can't fire client stuff on server thread. Not only it won't work, but also it will crash on dedicated server. Either learn IGuiHandler or: 1. Open gui from client. 2. Send command, decide on server if player can open gui, send packet to player that opens gui. Have a look at this post if you don't get how threads/sided-code works: http://www.minecraftforge.net/forum/index.php/topic,33918.msg178740.html#msg178740 Packets: http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/2137055-1-7-2-customizing-packet-handling-with https://github.com/disconsented/ANSSRPG/blob/1.8/src/main/java/disconsented/anssrpg/Main.java#L80 TL;DR is a client command not a server command and it works fine.
October 21, 201510 yr Author Ok, this is what's happening: When you type a command in chat and press enter it first executes that command and then displays the "null" GuiScreen (meaning it closes anything that's there) in the assumption that that will close the chat window. But if the command opens a Gui... How to fix? Wait a tick before opening the Gui. You're a magician (sorted it thanks to you)!
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.