Posted January 27, 201510 yr Hello guys, I'm using Forge 1.7.10, and the problem has to do with GUI. Well, there are a lot of tutorials I found, but most of them are for older versions, and the ones really to 1.7.10 I can't figure out what really I have to do. GuiScreen? GuiContainer? GuiHandler? ClientProxy? ServerProxy? @NetworkMod? TileEntity? Can anyone help me with a example that really works? ><"
January 27, 201510 yr Author Sorry, but that has nothing to do with my problem. The question is about how to create a GUI (open a inventory or text field when right click on a block). Yes, that's related to BlockContainer, but I already used the method onBlockActivated, I just need now how to create a GUI, the one that uses "Player.openGui(...);" to open it.
January 27, 201510 yr I think this is all of the relevant classes https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/block/BlockPedestal.java#L126-138 https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/client/GuiContPedestal.java https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/inventory/ContainerPedestal.java There's also a custom slot class, but that's pretty secondary to making the GUI show up as it is just a filter on what items are valid to be inserted, as well as the TileEntity itself, which isn't needed, but if you want to reference it, its there. If I did forget something though, the whole project is on GitHub. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 27, 201510 yr You need to handle your Gui, and return a Container object for the server element, and Gui Screen object for the client element. You can define your own Gui ID constants in your mod class, and then use them to test the ID sent to the handler via player.openGui(MOD, GUI_ID). This is the Forge tutorial on the wiki (I've done the Google cache link, because the Wiki was loading really slow for me): http://webcache.googleusercontent.com/search?q=cache:5hpWm4A2w1MJ:www.minecraftforge.net/wiki/Containers_and_GUIs+&cd=1&hl=en&ct=clnk&gl=ca
January 27, 201510 yr Author Thanks, that shows clearly the part about the GuiContainer and BlockContainer, but what about the @SidedProxy? How do I do this? I saw your ClientProxy and CommonProxy, really can't understand what I really need...
January 27, 201510 yr the video I posted is the first of a series of 14 and he builds an entire block with complete GUI set up and EXPLAINS everything as he does it
January 27, 201510 yr Thanks, that shows clearly the part about the GuiContainer and BlockContainer, but what about the @SidedProxy? How do I do this? I saw your ClientProxy and CommonProxy, really can't understand what I really need... Proxies are not involved in block GUIs. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 27, 201510 yr Author Sure, but I'm lost, I've tried here. Let's go, what really I need? - On the main I register on NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler()); [OK] - I make a new static variable called instance: @Instance("myModID")public static MainClass instance; [OK] - a Block Container (which will be registered in the game and which I can activate with right button) [OK] - a Class that will Extend to GuiContainer, sure? - There I put a STATIC FINAL int to define it's ID. [OK] - On the Block Container's method called onBlockActivated, I do player.openGui(Main.instance, ID_I_DEFINED, world, x, y, z); [OK] - And now, on GuiHandler, what do I do? @Override public Object getServerGuiElement(int arg0, EntityPlayer arg1, World arg2, int arg3, int arg4, int arg5) { if(arg0 == GUI.GUI_ID) { // what now? } return null; }
January 27, 201510 yr return new YourContainer(player.inventory, (TileEntityYourTE) tileEntity); //server return new YourGuiContainer(player.inventory, (TileEntityYourTE) tileEntity); //client Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 27, 201510 yr Author Dude ><... I think yours contains much more than the basic, because it's so hard.. I really can't figure out. Please take a look ---> https://github.com/Fel486/othermine/tree/master
January 27, 201510 yr You don't have a class that extends Container Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 27, 201510 yr YourContainer (InventoryPlayer inventoryPlayer, TileEntityYourTE te) Again, look at this class: https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/inventory/ContainerPedestal.java Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
January 28, 201510 yr Author Finally I got, omg ><''. Followed the sequence and found another example, and got it. Thanks!
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.