Skip to content

Instantly share code, notes, and snippets.

@TheOnlyTails
Last active June 4, 2021 15:24
Show Gist options
  • Save TheOnlyTails/588836646ac27894029b1fb779b11067 to your computer and use it in GitHub Desktop.
Save TheOnlyTails/588836646ac27894029b1fb779b11067 to your computer and use it in GitHub Desktop.
Why MCreator sucks, Remastered

This has been copied from the original DropBox file which can be found here.

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

Modified by TheOnlyTails to a Markdown file, with some phrasing improvements. Original Gist: https://gist.github.com/thebrightspark/6d2bc3ca824fe2198b8979b070c4c943

Why MCreator Sucks

Okay, so if you're reading this, you've either decided to use MCreator, support it, or are uneducated as to why MCreator sucks.
Either way. So, why did I write an entire text (now Markdown) 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.

Index (partly for me writing this):

Limitations on Possibilities

As a program that makes things simpler, MCreator naturally has limitations.

MCreator is designed to abstract the process of developing mods to allow anyone to do it with little to no previous knowledge of programming.
Abstraction can be done in a way which separates those who cannot learn programming from those who are lazy.

Yet, MCreator doesn't do abstraction in this way.
It uses abstraction to make developing mods easier for a non-developers.

However, it also heavily limits your possibilities, like how buttons and text fields are the only things you can add to GUIs.

You cannot add features that MCreator does not support, and god forbid if you try to code them yourselves (the code is terrible, horrific and stupidly bad).

Writing mods yourself gives you complete customizability of your mod - the only limits are your imagination and knowledge about both Java and modding.

Over-Simplifies Code

The "code" that MCreator allows you to "write" for your mods is way too simplified.

Due to this, as explored in Limitations On Possibilities, things are way too limited.
There's no way to customize code, no way to make it more efficient (Closed System), or a way to add functionality that MCreator doesn't support.

Since the time of writing, MCreator has added a built-in code editor, allowing you to edit your mod's code right in the program. I've decided to keep this point up though, since we can assume MCreator's target audience doesn't know how to code, so this point still applies.

no way to make it more efficient

This is inaccurate. Since the time of writing, MCreator has been made open source, meaning you technically can make it more efficient. I've decided to not remove that sentence though, since MCreator's target audience are, by definition, people who won't be able to make these changes themselves.

This over-simplification has a few effects that worsen MCreator.

Firstly, it gives developers the wrong impression.
When a developer moves from MCreator to a real Java modding, they may feel overwhelmed, give up, and return to MCreator, or give up modding completely; both of which are undesirable.

Secondly, since MCreator simplifies concepts too much, it becomes pointless in the grand scheme of things.
Because it simplifies things down to just the click of a button, it removes all skill and knowledge required for modding, and teaches you nothing.

This makes MCreator is completely useless if you decide to learn to properly write your own mod.
The only thing MCreator shows is what modding makes possible, which you already know by playing mods, not regarding the fact that 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?
1000s of generic mods that all do virtually the same crappy thing, or rip-offs of original mods.

Neither is good, and neither is what the community wants.

PlanetMinecraft is flooded with generic mods daily; the same pointless, generic, crappy, low-quality mods are uploaded over and over again.

Because MCreator allows for anyone to make mods, it really hurts the community by allowing for crappy mods to easily exist.
Imagine what it'd be like if on a single page of the forums, you saw one high-quality original mod, and the rest are all generic tool mods.

Need I say more?

Tricks Developers into Thinking Modding is Simple

While programming is not hard at all,

Yes, it takes time to learn, but once the ball starts rolling it's really easy to keep it going

People still think that using MCreator is better than learning Java and writing the mods yourself; I'll focus on the impact that this has on the community.

Imagine an interaction on Minecraft Modding Forums:

You're a regular forum user that replies and helps people out, and you see someone struggles 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.

"I can't learn how to code, I'm 13", they reply.

Slightly annoyed, you reply saying that that is not a valid excuse, and many other programmers on the forums started at that age.

"But It'll take me years to learn!"

Your annoyance levels are heightening.

You reply "you can learn the basics in a few weeks, learn the more intermediate stuff in a couple more weeks, and have enough knowledge to start simple mods".

They, still making excuses, reply "I tried, but it's too hard, pls tell me how to do this" or flat out ask you for code.

Pretty annoyed, you start to show signs of slight anger.

You reply saying that you do not give code out willy-nilly as it serves no purpose copy-pasting, and they'll learn absolutely nothing.

"I'll just continue using MCreator", they say.

The water boils over.

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 by "learning through modding", which never works.

The "Learning through modding" crowd always end up yelling for help because they don't know what a NullPointerException is and how to fix it, or request you spoon-feed code to them.

I'm fine with helping these people, but they must realise that I'm not going to walk them through every step, and certainly not spoon-feed them code...

Closed System

MCreator is what I refer to as a "closed system", which is basically a program that's completely locked shut.

Since the time of writing, MCreator has been made open source. That move practically invalidates this point, so I've decided to remove it.

Unlikely, but it's just a warning about programs like this

For all you know, MCreator may slip in a couple lines of code that allows MCreator's 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've seen errors that came from MCreator-generated code).

Very hard to catch and fix errors

Because it's a Closed System, any errors that occur within your mod are incredibly 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.

Even regulars on the forums can't tell why the problem occurred or how, but only what caused it. For example, passing a negative value to a method expecting a positive one. You can tell that was the problem, but not why the method expected a positive number, or how it crashed.


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 have real issues learning programming.

This means people with medically-diagnosed problems, kids (12yrs+ don't count), or people who legitimately cannot learn how to program.
Anyone who doesn't fit these criteria who use MCreator or programs similar to it (even outside modding) are either just learning, or are being outright lazy.

Now, just messing around making blocks which do nothing is (in my opinion) fine to do with MCreator.
The moment you want to do something more advanced, you need to move away from MCreator, as soon as possible.

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 don't 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 <age above 12>!"

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.

(TheOnlyTails' note: I learned it at 13, with English as a second language)

"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'll give you this, as it looks hard when you have no idea about Java.
However, I won't accept this as an excuse to not learn it. It is nowhere 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 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.

Conclusion

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 drop MCreator and learn Java, and make you realize why MCreator sucks.

For those who do not use MCreator, I hope you found this a good resource.

@TheOnlyTails
Copy link
Author

@thebrightspark hope you like it!

@TheOnlyTails
Copy link
Author

Being made to abide by the program's ToS

This is a smaller issue, but when using MCreator, you have to abide by their ToS, meaning they have authority over your mod.

If their ToS changes, you have to change your mod to follow suit.

Regarding this point - since the time of writing, the ToS has been change granting users full ownership of their mod, code and assets,
and thus this section has been removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment