|This has been copied from the original DropBox file which can be found here: https://www.dropbox.com/s/hejjfkpyohs9zmn/Why%20MCreator%20sucks.txt?dl=0|
|This file is written by the MinecraftForums user jcm2606. I welcome anyone to link to this file whenever they respond to an MCreator thread, as I will be doing.|
|Okay, so if you're reading this, you've either decided to use MCreator, support it or are uneducated as to why MCreator sucks. Or are just curious as to what I wrote for it. Either way. So, why did I write an entire text file? Because I cannot be bothered writing the reasons why you should not use MCreator over and over. This also goes for other generators that make modding as simple as a "click a button" process.|
|Just a rundown of what I'm going to be talking about (partly for me writing this):|
|- Limitations on what you can do|
|- Over-simplifies code|
|- Allows for crappy, generic mods|
|- Makes developers think modding is a simple process|
|- Very hard to catch and fix errors|
|- Have to bide by the program's ToS|
|- What / who is MCreator designed for?|
|- Excuses that do not work|
|LIMITATIONS ON WHAT YOU CAN DO|
|As a program that makes things simpler, MCreator naturally has limitations. What MCreator is designed to do is abstract the process of developing mods to allow anyone to do it with little to no previous knowledge of programming. The function of abstraction can be done in a way which still separates those who legitimately cannot learn programming from those who are lazy (see WHAT / WHO IS MCREATOR DESIGNED FOR for what MCreator is ACTUALLY meant to be used for), and MCreator does not do abstraction in this way. See OVER-SIMPLIFIES CODE for what MCreator does wrong.|
|Abstraction is used with MCreator to make things simpler for you to develop mods, however what it also does is heavily limits you on what you can do. When using MCreator, the only things MCreator can do are the things that have buttons and text fields, you cannot add features that MCreator does not support, and God forbid if you try to code them yourselves outside of MCreator (the code is terribad, horrific, stupidly bad). Writing mods yourself gives you complete customisability of your mod, the only limits are your imagination and knowledge about both Java and modding.|
|The "code" that MCreator allows you to "write" for your mods is honestly way too simplified. Due to this, as explored in LIMITATIONS ON WHAT YOU CAN DO, things are way too limited. There's no customisability of code, no way to make code more efficient (talked about in CLOSED-SYSTEM), no way to add functionality into your mod that MCreator doesn't allow for. Because of this over-simplification, a couple things also make MCreator bad.|
|Firstly, it gives developers the wrong impression. When a developer moves from a simplified language (calling MCreator a "language") to a more complicated language, the developer may feel overwhelmed by the difference between the two and may be more inclined to just give up and return back to the simpler language (or just give up completely). Obviously we do not want this.|
|Secondly, if the language / program simplifies it too much, it actually makes the language / program pointless in the grand scheme of things. Because it simplifies things down to just the click of a button, it pretty much kills the skill and knowledge requirement of modding which means it teaches you nothing, at all. Due to this, it makes MCreator completely useless if you decide to learn programming and write your own mod. The only thing it teaches you is what is possible with modding, which you already know anyways by playing with mods, and it doesn't even show everything! It's useless for programming.|
|ALLOWS FOR CRAPPY, GENERIC MODS|
|What happens if you give people who have no creativity the power to create anything? You get hundreds of generic mods that all do virtually the same crappy thing, either that or rip-offs of other more original mods. Neither is good, and neither is what the community wants. PlanetMinecraft is flooded with generic mods daily, the same "obsidian tools", "emerald tools", "plenty-o-ore", pointless, generic, crappy, low-quality mods are uploaded over and over again.|
|Because of the fact that MCreator allows for anyone to make mods, it really hurts the community by allowing for crappy mods. Imagine what it'd be like if on a single page of the forums, you saw a single decent, high-quality, original mod, and the rest are all crappy generic tool mods. Need I say more?|
|MAKES DEVELOPERS THINK MODDING IS A SIMPLE PROCESS|
|While programming is not hard at all (it takes time to learn, but once the ball starts rolling it's really easy to keep it going), people still think that MCreator is better than learning Java and writing the mods yourself. Now, I have already gone over this, but I'll focus more so on the impact that this has on the community.|
|Imagine if you're a regular forum user that replies to posts and helps people out, and you see someone struggle to do something in MCreator. You politely respond saying it's not possible with MCreator and you suggest they either forget about said feature, or move on, learn Java and drop MCreator. You get a response saying "I can't learn how to code, I'm 13" or something similar. Slightly annoyed, you reply saying that that is not a valid excuse and many other programmers on the forums started at that age. Then, you get the response saying "But it'll take me years to learn". With the levels of annoyance heightening, you reply saying that you can learn the basics in a couple weeks, learn the more intermediate stuff in a couple more weeks, and have enough knowledge to start writing simple mods and expand your knowledge from there. Then, you get the response saying "I tried but it's too hard, pls tell me how to do this" or they flat up ask you for the code. Pretty annoyed, you start to show signs of slight anger and reply saying that you do not give code out willy-nilly as it serves no purpose copy-pasting and they'll learn absolutely nothing. Once ALL of that is over, you get the reply saying "I'll just continue using MCreator". The water boils over and you type out a couple paragraphs explaining why MCreator is a bad choice, with more anger than the first option. This is the worst case scenario, in most cases by the time they pull the "I'm 13" card, they get the message and move on to learning Java.|
|If it isn't that, it's the person learns Java but just jumped head-first into the pond without learning how to swim, and is now approximately yelling for help because they don't know what a NullPointerException is and how to fix it, and/or request you to literally spoon-feed code to them or hold their hand the entire trip. Me, personally, I'm fine with helping them out along the way, but they have to realise that I'm not going to walk them through EVERY step. And God help them if they ask me to spoon-feed them code...|
|MCreator is what I personally refer to as a "closed system", which is basically a system (or program, "box", or something similar) that is completely locked shut, as a user you do not know how it works and what the underlying mechanics that actually make it work are and how they function. Due to this, you're bound to what MCreator gives out, which honestly is a steaming pile of absolute crap (at least it was way back when I saw some code generated by it... dear god the memory... *shudder*).|
|A couple of undesirable outcomes originate from the closed-system style of MCreator, firstly you're stuck with the code it generates for you. You may not like it, it may be stupidly inefficient (not surprised if it is inefficient), it may not be the best code for your exact desires, but you cannot change it. There's 0 customisability in the code it generates, so really it is MCreator's mod, not yours.|
|Secondly, you don't know what MCreator might slip into your code. For all you know (and this is unlikely, but is just generally a warning about programs like MCreator), MCreator may slip in a couple lines of code that allows THE PROGRAMS DEVELOPERS, not you, to shut off any client that's running your mod. While this is unlikely, what may be more likely is MCreator may be using the completely incorrect code (I have seen errors that have originated from MCreator-generated code).|
|VERY HARD TO CATCH AND FIX ERRORS|
|Because of the fact that it is a closed-system, any errors that occur within your mod are stupidly hard to track. Most of the time you'll have to take the issue to the developer(s) of MCreator and let them fix it, as you cannot easily fix it on your end (fixing it on your end would result in decompilation which in itself is a challenge). Even the regulars on the forums cannot tell exactly what's causing the problems (we can of course tell you how it happened so-much-so as to what triggered it, say for instance passing a negative value to a method expecting a positive value, but we cannot tell you HOW it happened as to how the mod itself messed up and caused it to occur, nor why it happened) without code, which as I said is difficult to get.|
|HAVE TO BIDE BY THE PROGRAM'S TOS|
|This is a smaller issue, but when using MCreator, you technically have to bide by their ToS, which means they have the greater authority over your mod. If their ToS changes, you have to change your mod to follow suit. Just the way the game plays out.|
|So, now that I've talked about issues with MCreator, let's go into some things specifically with the people using it.|
|WHAT / WHO IS MCREATOR DESIGNED FOR?|
|Any program that abstracts programming is designed for people who ACTUALLY have issues learning programming. This means people with medically-diagnosed problems, people who are of a young age (people in high school / middle school / of at least 12 years of age do not count), or people who legitimately cannot learn how to program. Anyone who doesn't fit this criteria who use MCreator or programs similar to it (even outside of modding) are either JUST learning, or are outright lazy. Now, just messing around making blocks which do nothing is IMO fine to be done with MCreator, the moment you want to do something more advanced, you need to move away from MCreator, ASAP. If you fall in the lazy department, move yourself out of the MCreator community and learn how to code Java. If you want to get into a computer science job, why not use your PROPERLY DEVELOPED mod as an example piece of work? If you don't want to, hey, you now have a new skill that can be useful. No loss except for a bit of time to learn it.|
|EXCUSES THAT DO NOT WORK|
|I'm not going to explain anything here, this is just a list of excuses that flat up will not work, with a short reasoning as to why they do not work.|
|"I'm too young! I'm <insert age above 11>!": Out of all respect, you're one lazy person. I, and many other people, learned Java at at least 12 years of age. I learned it when I was 12 and self-taught myself from then on.|
|"Learning it will take too long!": No, it won't. Learning the simple syntax of Java takes a matter of weeks, in that time you can write a simple calculator using an input Scanner. Going further on to learning the object-oriented side of Java will take a few more weeks and is the least you need to know to develop mods.|
|"It's too hard!": I will give you this, as it looks hard when you have no idea about Java. But I will not accept this as an excuse to not learn it. It is no where near hard, want a hard language? Assembly, C, any older, lower-level languages. They're hard, and complicated.|
|"I don't have enough time!": This is really, really dependent on your schedule. An hour each day for a couple of weeks will allow you to learn the syntax of Java, which is enough to start experimenting writing simple little programs to solidify that knowledge into your memory.|
|With all that said, I hope whoever that is reading this who uses MCreator is now feeling like they should move on, bite the bullet and learn Java. That's my goal, to make you want to drop MCreator and learn Java, and to make you realise why MCreator sucks. For those who do not use MCreator, I hope you found this a good resource.|
well yes, you are correct, however many people of these ages don't have the time to learn java, c# c++, etc..
@Tactoblock I'm presuming you didn't read the very top:
I never wrote this, although I do agree with it.
I'm not defending anyone here, but MCreator actually allows you to use Java.
If someone wants to add a single item into the game, then he/she is much better off using mods such as Custom Things.
I think MCreator is fine. While people can learn code, I don't think MCreator is meant for people who want to make a bunch of mods. I enjoy creating simple mods, and I really do enjoy any tool that allows easier access to something, no matter how simple it is. As someone who is learning C#, I'd like to focus on one language at a time to not get confused. I personally use MCreator as a way to just create whatever, I don't care if it is simple. MCreator is not built for advanced, highly polished mods. And the problem with a lot of your points is that it depends on the person. You say that people will say "oh but java is too hard to learn" but that depends on the person, so don't hate on MCreator for something that isn't it's fault.Generic mods will happen too, with or without MCreator. So don't hate on MCreator for reasons out of it's control. (though I do wish you could edit raw code, even though I wouldn't do it, and I think that would improve the program tenfold for those who know what they are doing) In the end, MCreator is meant for simple mods. Don't try to make it seem like the only possible modding tool. Sorry for rambling, I usually do that on posts!
I've never used Mcreator, no desire to ever use it. Are people really surprised that there are people that want to make mods without going through the process of deep learning Java?
"reee they don't want to learn java, they suck, reeeee." That is how the OP sounds to me. Every one with a brain knows modding is tough, producing quality mods are even tougher and theres only a handful of legendary mods that have been produced since modding came to minecraft.
This is the major problem within the modding community, its full of toxic fuckbois . Are you really that upset over some kid loading up Mcreator and making a few blocks and tools? You're gonna be awfully upset out in the real world when you notice tons of people 9 times out of 10 will take the easy way out if they can.
ok, you asked for it. This will be kind of long, you have been warned.
You mentioned how people will never learn to code and cannot edit the code. This is not true. Mcreator comes with a built in code editor, and the project can be opened in any other gradle compatable code editor. Source:
You mention that users cannot do anything resembling coding and cannot create anything more advanced then a block. This is no longer true. As I just mentioned, you can edit the code, but there is also a procedure system which works with most forge events and lets you do complex behaviours. Source:
Aditionally, more complex types of blocks can be created. Tile entities are supported, with RF and fluids. Source:
I agree with you here.
Mcreator is simply a tool like any other. Banning Mcreator would be like banning Unity games from being created because "Unity is easier so idiots can do stuff." Oh ok, following that logic lets ban computers because it lets idiots do math without having to work through it in their head. Lets also ban all handleld calculators, and for good measure the abacus and even paper and typewriting. Don't want it too easy for people to type bad books, right? The error in this logic becomes immediatly apparent.
To be honest here, (I am a modder who uses Eclipse a ton and not MCreator) I only use MCreator to look at example classes such as the classes its GUI maker creates which is usually painful to code in a normal Eclipse environment. However, I never used MCreator by itself. Its code editor is considerably lacking compared to something like Eclipse. Sure, using the tool itself (and not coding), you can make blocks, items, fluids, RF. But can you do things like Opening a JavaFX window during the WorldEvent.load event to add a "cutscene" to it? Surely you can do it in the MCreator code editor itself, but there is honestly no point in using the code editor if there are much better alternatives. This is why I suggest this: Don't use MCreator by itself. You can do way more things just by coding in an IDE and to be honest, it doesn't hurt to learn a bit of Java. After all, nearly all famous mods are programmed by writing each code line by line. There are many other people who also agree here: https://www.reddit.com/r/feedthebeast/comments/8u41fr/what_is_the_consensus_of_mcreator/
A tool is one in which it helps with you when trying to achieve your goal, whether it is to code a mod, brute force some encryption, whatever. I agree with you that MCreator is a tool, but the problem is that MCreator is a tool which takes away your creativity in the sense of limiting you to options (Not saying there are few options the tool has, MCreator has done a great job adding many features). In fact, the idea that MCreator just implemented Energy into your blocks (From your examples) just makes it a worse program, because forge has already implemented that ages ago. If you don't believe me, look at the capabilities page here: https://mcforge.readthedocs.io/en/latest/datastorage/capabilities/ . The fact that MCreator just implemented that a couple of patches ago really shows how outdated it is. The modding community isn't toxic, you have to earn their respect first -- and unfortunately -- MCreator is a tool which is greatly frowned upon and referenced as a joke sometimes. The idea is this. If you are going to make a couple blocks and tools and stuff and don't expect it to get a lot of downloads, nobody will care. After all, it's not going to be a huge mod comparatively to others. I must agree however, this gist is outdated and very opinionated. In summary, I'm not saying MCreator is a bad tool. There are just way better alternatives in terms of tools which provide more creativity compared to MCreator. @dkmk100
I taken a look at your profile, and you just forked a couple projects, and it is clear that you don't write Java. This statement is false, because your IDE provides you all the methods, variables, and events needed to create an item. The thing is, items written in code have the potential to become better. MCreator has a limit to how much you can customize your item. (Without using the code editor).
not sure anyone realizes why its hated. its not new people who hate it its the ones who have already made big mods. to update the massive mods they already made with java that are really complex they need to remake the entire mod just to fit MCreator. what sane person who spent maybe 800 or more hours coding and improving their mod would delete all it just to switch programs. what they need to do is allow modders to use either MCreator or just java. not force them to do one just so they can stay updated with the game. its why you dont see any of the big modpacks up to date with he current minecraft version. so everyone who says they are lazy and either havent made a mod and has barely spent time on one you dont have the right to judge the mod creators who spend 800 or more hours making a mod. no problem in making things simple but there is a problem when it forced the main big mod creators to switch just to keep up with the game. and if anyone says its too hard to allow both types of coding then make a program that switches if you can. and before you complain about it being too hard and it isnt actually impossible and you just dont want to take the time to make it then quiet. unless you have more hours coding than the top mod creator with the most hours then you dont get to act lazier than the people doing it for free when you get paid for it.
What on Earth are you talking about? Nobody in their right mind sets out to make a big mod in MCreator. And nobody would ever switch from plain Java/Kotlin to MCreator... that's just plain stupid. Even so, MCreator still generates Java code... so you can easily load up its project in a Java IDE. And as for this being the reason they're not updated? Lol no, totally not. Main reasons from my experience are:
There's more, but those are the main I've seen from my experience. MCreator plays very little part in why modpacks don't get updated... I highly doubt any popular modpacks even use mods made with MCreator. The MC version modpacks are created in are normally just the latest MC version where all the mods the author wants are in. I've not seen many modpacks at all get updated into newer MC versions. Mainly because they'd basically be re-creating the pack from scratch, and it's a lot of effort.
Anyways, yeah don't just guess and spread BS. The above has come from my personal experience as a software engineer as my job, mod developer (on hiatus), a MC modding Discord server admin (I see a lot of things that go on in our little community) as well as a friend who's put together a few mod packs.
Even so, the written code is generated by a computer... not a human. If you sent that code to any modder out there they would tell you to go to hell. It practices very bad naming conventions, uses unnecessary classes, and also often is written with poor logic. Please don't use it.
eh ok... You're right.