Jump to content

Looking for GUI tutorials - not ItemContainer


Lycanus Darkbinder

Recommended Posts

Greetings,

 

I'm looking to create a GUI that allows users to make changes to the block's TileEntity data. For example, the user right-clicks my block and the GUI provides them a text field for entering a number and a check box to simulate a boolean. When they close the GUI these values get written to the block's TileEntity.

 

Unfortunately the only GUI tutorials I've found (on the wiki and minecraft forums) are either too old and use the deprecated "CommonProxy" and / or they demonstrate a GUI container such as an extended chest.

 

Are there any tutorials out there that pertain to a GUI interface that allows users to enter data? Right now my block is fully functional but I wanted to give the user access to change some fields without having to exit the game and modify the config file.

 

Thanks

 

PS:

 

All I really need is something to point me in the direction of setting up the GUI for input. I can figure out the TileEntity portion on my own, I think.

Link to comment
Share on other sites

You have GOT to be joking... Since when did CommonProxy / ClientProxy become depracted?!?!?!?!?!!?!?!?!?

 

I believe you MAY have read my tutorial.. Probably not though. I don't get into any of the interesting GUI stuff, but it gets a basic GUI working.

 

I can give you some pointers if you want, just PM me or ask via this thread. ( I can't be bothered to type it all out if you don't want it xD )

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

You have GOT to be joking... Since when did CommonProxy / ClientProxy become depracted?!?!?!?!?!!?!?!?!?

 

I don' t know when exactly but every tutorial I watched for 1.5.2 and 1.6.2 says you no longer need to muck around with the CommonProxy crap. My SmartLights mod works just fine without it anyway.

 

Edit: In

for 1.5.1, Wuppy explains (at around 25 seconds) that you don't need CommonProxy anymore.

 

I believe you MAY have read my tutorial.. Probably not though. I don't get into any of the interesting GUI stuff, but it gets a basic GUI working.

 

I can give you some pointers if you want, just PM me or ask via this thread. ( I can't be bothered to type it all out if you don't want it xD )

 

Can you link to your tutorial? I'm not sure if it is one that I found or not.

Link to comment
Share on other sites

Courses.vswe.se has courses which deals with intermediate and advance GUI's which deals with a lot of different inputs in the GUI which in turn is saved in the TE on the server side :)

 

Thanks, I'll check it out. I posted his Minecraft series on the wiki but it didn't include GUIs. On his YouTube channel I saw the "Climbing the Interface Ladder" playlist but didn't bother clicking on it because there was no description and I thought it was about implementing interfaces in Java.

Link to comment
Share on other sites

Hehe well interface has more than one meaning ;)

 

Anyways enjoy those courses and uhm ClientProxy and CommonProxy can't be depracted, CommonProxy extends nothing and therefore it's impossible for it to be depracted as it's a self made class ;)

 

I can also assure you that they work in 1.6.X just like they did in 1.5 and 1.4 :)

If you guys dont get it.. then well ya.. try harder...

Link to comment
Share on other sites

Hehe well interface has more than one meaning ;)

 

Anyways enjoy those courses and uhm ClientProxy and CommonProxy can't be depracted, CommonProxy extends nothing and therefore it's impossible for it to be depracted as it's a self made class ;)

 

I can also assure you that they work in 1.6.X just like they did in 1.5 and 1.4 :)

 

Deprecated has nothing to do with it extending anything or being a "self made class", it simply means it's been superceded or replaced. The process of using CommonProxy has been superceded by the process of not using CommonProxy.

 

Deprecation is a status applied to a computer software feature, characteristic, or practice indicating it should be avoided, typically because of it being superseded

 

As I linked a few posts above, Wuppy explains in a 1.5.1 video that they're not necessary. I don't use them and haven't run into any issues with my 1.5.2 mod.

Link to comment
Share on other sites

Proxies are helper classes, they were never compulsory. Thus can't be deprecated unless Mojang provides a better system.

If you know how to check for client side on your own, you don't need them anyway.

 

And you never needed CommonProxy for Gui handling. IGuiHandler is an interface.

Link to comment
Share on other sites

Proxies are helper classes, they were never compulsory. Thus can't be deprecated unless Mojang provides a better system.

 

I guess it's a matter of opinion then. When most of the earlier 1.3.x and 1.4.x tutorials go through great lengths explaining proxies and how to set them up, it feels a bit compulsory. None that I saw in that generation ever said "don't bother with proxies, they're not necessary".

 

Naturally when several 1.5.x tutorials arrive and tell you not to bother with proxies, it feels a bit deprecated, as in "not necessary".

Link to comment
Share on other sites

Well what is "necessary" is usually a subjective definition :P

 

I certainly never needed to have a common and client proxy, not in 1.6 and not in 1.3 but hey they made my code become so much cleaner and simpler so for me they where "necessary" ;)

 

In any case, they can be used and there's no reason to avoid using them nor do you have to use them and therefore they aren't deprecated.

 

So I guess it's settled then as is the question of GUI tutorials ? :D

 

If you guys dont get it.. then well ya.. try harder...

Link to comment
Share on other sites

Well what is "necessary" is usually a subjective definition :P

 

I certainly never needed to have a common and client proxy, not in 1.6 and not in 1.3 but hey they made my code become so much cleaner and simpler so for me they where "necessary" ;)

 

In any case, they can be used and there's no reason to avoid using them nor do you have to use them and therefore they aren't deprecated.

 

So I guess it's settled then as is the question of GUI tutorials ? :D

 

I always use my CommonProxy class as my GuiHandler... I am not entirely sure why though. Oh well...

 

Everyone has their own coding style, this is even shown in simple things like whether or not they use the proxies. I learnt modding with proxies, so I am sticking with just because that is the way I know how to do it, and it is the way I do it. Everyone is different like I above stated. And yes Mazetar, the way the OP described deprecated was a bit... Lacking in actual definition. And as you pointed out, it cannot actually be deprecated. Thanks for clearing that, it was making me worried xD

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

So I guess it's settled then as is the question of GUI tutorials ? :D

 

Well not really. I still haven't found a GUI tutorial that deals with a simple GUI that itsn't a container. Basically all I want to have is a textbox where the player enters a number and a checkbox. These values get written to the TileEntity as "lightValue" and "isLit", respectively.

 

So far the tutorials I've seen extend GuiContainer. I'm pretty sure I all I need is GuiScreen but still looking into it.

 

PS:

 

Not to beat a dead horse but I posted a definition of deprecated so I don't see how you could say it lacked actual definition. So far it seems nobody subscribes to that definition: the method of coding with proxies has been superceded by the method of coding without them. That is a valid application of the word deprecated.

 

Even the 1.5.2 examples in the wiki don't use them anymore.

Link to comment
Share on other sites

So I guess it's settled then as is the question of GUI tutorials ? :D

 

Well not really. I still haven't found a GUI tutorial that deals with a simple GUI that itsn't a container. Basically all I want to have is a textbox where the player enters a number and a checkbox. These values get written to the TileEntity as "lightValue" and "isLit", respectively.

 

So far the tutorials I've seen extend GuiContainer. I'm pretty sure I all I need is GuiScreen but still looking into it.

 

PS:

 

Not to beat a dead horse but I posted a definition of deprecated so I don't see how you could say it lacked actual definition. So far it seems nobody subscribes to that definition: the method of coding with proxies has been superceded by the method of coding without them. That is a valid application of the word deprecated.

 

Even the 1.5.2 examples in the wiki don't use them anymore.

 

I am sorry if I didn't fully explain myself. I was meaning it in a literal sense. The fact that the Common/Client proxy classes are made by the user means that they CANNOT be actually deprecated...

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

I'll put this in a spoiler so we can all move on:

 

 

dep·re·cate  (dpr-kt)

tr.v. de·pre·cat·ed, de·pre·cat·ing, de·pre·cates

1. To express disapproval of; deplore.

2. To belittle; depreciate.

3. Computer Science To mark (a component of a software standard) as obsolete to warn against its use in the future so that it may be phased out.

 

su·per·sede  (spr-sd)

tr.v. su·per·sed·ed, su·per·sed·ing, su·per·sedes

1. To take the place of; replace.

2. To cause to be set aside, especially to displace as inferior or antiquated. See Synonyms at replace.

 

Since Common/ClientProxy still work and will continue to work for the foreseeable future as one of several methods to accomplish the same things, it's not really correct to say they've been replaced with something 'new' unless they were absolutely required in earlier versions, but now are optional and planned on being discarded at some point in the future. From what I understand, they were always optional, as they are just user-defined classes, and you can use them or not as Mazetar pointed out. It's all a matter of personal preference.

 

 

 

So anyway, how is your Gui coming along? I know this has been mentioned, but GuiEditSign and TileEntitySign should both contain loads of useful information for you, as that's an example of a non-Container-based Gui that edits a text field.

Link to comment
Share on other sites

I'll put this in a spoiler so we can all move on:

 

 

dep·re·cate  (dpr-kt)

tr.v. de·pre·cat·ed, de·pre·cat·ing, de·pre·cates

1. To express disapproval of; deplore.

2. To belittle; depreciate.

3. Computer Science To mark (a component of a software standard) as obsolete to warn against its use in the future so that it may be phased out.

 

su·per·sede  (spr-sd)

tr.v. su·per·sed·ed, su·per·sed·ing, su·per·sedes

1. To take the place of; replace.

2. To cause to be set aside, especially to displace as inferior or antiquated. See Synonyms at replace.

 

Since Common/ClientProxy still work and will continue to work for the foreseeable future as one of several methods to accomplish the same things, it's not really correct to say they've been replaced with something 'new' unless they were absolutely required in earlier versions, but now are optional and planned on being discarded at some point in the future. From what I understand, they were always optional, as they are just user-defined classes, and you can use them or not as Mazetar pointed out. It's all a matter of personal preference.

 

 

 

Thank you for that... :D

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

So far the tutorials I've seen extend GuiContainer. I'm pretty sure I all I need is GuiScreen but still looking into it.

 

For what you are trying to do it's the same logic regardless of it being a guiContainer or guiScreen :)

If you guys dont get it.. then well ya.. try harder...

Link to comment
Share on other sites

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



×
×
  • Create New...

Important Information

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