Topic category: Feature requests and ideas for MCreator
Problem
My issue with the new overlay system is that the system is way too over-complicated and time-consuming (when you've mastered it). You have to make a procedure that returns the variable and then go back to the overlay or gui and then pick that variable. For new users this maybe all they have been accustomed to, but I've been using MCreator since 2013 and I must say that the old way of getting a variable for a gui was way much more simpler, all you would do is go into the overlay or gui and get a text label and then pick the variable without needing a procedure or returning any variables whatsoever. I don't recall anyone asking for the old system to be changed to the new system, and quite frankly I would not understand why they even would ask for it to be changed to the new system, as it was extremely easy and even a 10 year old child (like me back in 2013) could be able to figure out.
Solution
Bring back the old system, "if it ain't broke don't fix it" is a good saying when it comes to this, the old system from my memory was not broken, not buggy, did not have any issues whatsoever, so the change to the new system seems to me very unnecessary and quite frankly a stupid move. I even searched up if anyone had the same issue as me trying to figure out how to work with variables and overlays in the new versions of MCreator, and i found so many people complaining or stumped because they can't figure out how to put the content of the variable into the text label in their overlay.
If it is a backend thing, I don't think that justifies changing it, sure code can sometimes be messy, but again, if it isn't broken then why fix it? Minecraft itself is built on very messy code, but it works, and the "new" Minecraft that seeked to have a more streamlined backend, the bedrock edition, has failed to replaced the Java Edition for the most part for PC Gamers.
It worked due to the duck tape roll we needed to use to make it work. It was a massive pain to maintain and work with (adding features too). Also, this new system allows much more customization for users with variables, or simply by using other things than variables.
You never saw the code to generate things correctly.
If having to create multiple procedures is the only problem, that's surely much better than all the other problems the previous system had. Here's a list of only a few of the problems:
No optimization (in terms of generated code, code templates, backend system and performances due to the ton of FreeMarker operations that were required (meaning slower code generation))
I don't have anything to add as Goldorion already covered all major points :D