Jump to content

Recommended Posts

Posted

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.

Posted

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 :)

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

Posted

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

Posted

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.

Posted

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.

Posted

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...

Posted

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.

Posted

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.

Posted

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".

Posted

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...

Posted

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

Posted

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.

Posted

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

Posted

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.

Posted

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

Posted
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...

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

    • The game crashed whilst unexpected error Error: net.minecraftforge.fml.ModLoadingException: Advanced Mining Dimension (mining_dimension) encountered an error during the done event phase
    • Here is the end of the log. it was way too big to put in pastebin, but I started from when I was online and everything was fine. Error should be in here: https://pastebin.com/Sdhdq593
    • Update: I stand corrected as I was able to dig up a relevant log from my earlier testing which highlights the overall issue but does not explain how to solve it. See, Diagnostic Logs for pack.mcmeta not found: https://pastebin.com/LXS8Rtna
    • Which mod was this? What are all the mods that were in use? It will help if enough information to replicate the problem is available.
    • I have been attempting to create a supplementary resource pack with Patchouli in order to add back the guidebook for Better End but unfortunately in every prototype I have made pack.mcmeta and my resource pack are not recognized. I have tested both zipped and unzipped and either way curseforge does not recognize my resource pack as existing. For testing I stripped my pack down to just the pack.mcmeta file and two empty folders labelled data and assets and I know the data folder is not the problem as firstly my first attempts just had an assets folder following Patchouli instructions and data came later in my flailing attempts to make anything in my pack work. The mcmeta file is not recognized whether or not I use this:  { "pack": { "pack_format": 15, "description": "A replacement for the BetterEnd Guide Book." } "language": { "en_US": { "name": "English", "region": "United States" } } } ,or this:  { "pack": { "pack_format": 15, "description": "A replacement for the BetterEnd Guide Book." } } I have made sure to only use lowercase and the pack folder is named better-end-guide. Is this some magic nonsense from me doing this manually instead of using an IDE or similar tool? Could it be because my files are by default in UTF-8 even though ANSI gives the same results? Is there a specific community secret tool I am supposed to use for zipping or specific settings? I am pulling my hair in distress. Unfortunately as there are no errors involved I lack logs to offer, if that disqualifies this thread please do not be harsh and instead if you can then please direct me to a forum with different rules and sufficiently respectful but knowledgeable as to be of assistance. Most of my experience with the programming community has been poor and so naturally I find myself wary.
  • Topics

×
×
  • Create New...

Important Information

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