-
-
Save thebrightspark/6d2bc3ca824fe2198b8979b070c4c943 to your computer and use it in GitHub Desktop.
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 | |
- Closed-system | |
- 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. | |
OVER-SIMPLIFIES CODE | |
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... | |
CLOSED-SYSTEM | |
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. |
I agree with the OP on the bad points of MCreator, but I don't quite agree with the excuse responses, especially the children and time constraints: Have some (challenging) kids, then you will see how limited your time is. An hour a week is out of the question. The worst is when those same kids, knowing that you write code for a living, but don't actually no crap about Minecraft and whatnot, ask you to write them something and you having to break it to them that you can't because there is no way to have enough time between work, school, bills, events, quarrels, etc. etc., and even at 12 I doubt most kids are going to grasp any object oriented programming language, their brains aren't developed fully.
So, unless you are an absolute recluse programming nut you probably won't be touching any code and if you do, you'll probably run in terror. I was one of the exceptions, I did assembler, even machine language cartridges on my old commodore 64, BUT THAT is a huge exception, not everyone is inclined to learn at that age or can). To put that in perspective, I was the ONLY child in my ENTIRE school who even know how to write in BASIC, let alone assembler.
Computers may have changed and taken into our lives much more, but I seriously doubt the anatomy of the human has evolved in the last 30 years. The ones who CAN learn at that age, I guarantee are going to not download MCreator, and will write the code themselves because they will also be smart enough to know what a terrible bloated *** it is. And no, it still is, even now -- there is no reason for any respectable development environment to need to load EVERY SINGLE VANILLA RESOURCE into memory AND cache it into disk, just to write a mod that wont even be using any of them. It's so retarded. You know what I use? I use vim (the notepad.exe of Linux users :3 ), loads in about 0.125 seconds and needs no vanilla resources period. Plus, you can write all your completions and whatnot.
When I checked out MCreator last month just out of curiosity, I was expecting something more along the lines of Unity, I was disappointed, very constrained, and its even dumber that you have to use certain MCreator versions to generate code for a certain version of Minecraft, that basically kills the one good thing it COULD have had going for it, cross version code generation, but no, it doesn't. So not only does it generate bloated mods, it also forces those mods to be frozen to that version, so even if it WAS good, the fact that it is hard stuck at whatever versions the generator they used works for, all their work would be for nothing.
Tips for beginners, get some boilerplate, and modify what you need, I've learned that is the best idea. If you can, download some other mod source (from the source tree, not from the jar file, those are compiled and obfuscated) just to see how they work. You can learn a lot just by checking out other people's mods. Just be sure its a decent mod as there are plenty of trashy coded mods too. If that makes you nervous, check out the forge boilerplate, they literally walk you through the process, and you won't need to write much code to start out, but it will give you a place to start. Use an IDE that has some sort of codesense or completion engine, or do what I did and generate tags for use with VIM, makes you life easier.
Yes, learning Java is probably easier than C, C++, etc. for a "blank slate". EXCEPT... I had a time learning it because I have about 20 other languages under my belt and when you get to that point, you start having issues with keeping track of syntax differences between all the languages you know. Had I known that, I'd probably just picked one or two languages... oh well too late to get in the time machine now!
(PS: The older versions of sublime are much better than the newer versions, and I find atom and vscode to be a bit on the sluggish side so I don't use those--but I love my vim)
Nice 5 paragraph rage bait. One small issue:
https://gist.github.com/user-attachments/assets/cd0482d3-aefd-45c1-8960-854e3edfb5d9
the fact this is still receiving new replies and updates over 4 years later is absolutely astonishing
i was here during this madness' hay-day why are you all still so hung up on this
what's your guys' favorite color
green.
bad color let's argue about that now
White
I realised i keep getting Notifications from this since 2020
The ironic thing is, the main color of MCreator is green. So now WE would be arguing about MCreator.
I realised i keep getting Notifications from this since 2020
reunion time!!!
I realised i keep getting Notifications from this since 2020
reunion time!!!
Yay
i can't believe the topic of mcreator and its actual legitimacy when it comes to making mods alongside other mod creators for minecraft and other games alike is still such a controversial topic
psa for anyone scrolling down this thread like 4 years later:
make whatever you want to make, and don't let other people discourage you from that, esp. with the amount of twitter artist ragebait gatekeeping nowadays and the extremely diluted and hateful internet art scene
aimlessly discouraging creative freedom is literally useless and just knocks other people over the head for no reason
with the amount of features mcreator has and how ass most forge/fabric/whatever mods are these days please revolutionize how stagnant things have become with whatever silly giddy goofball stuff you come up with, create, and want to publicize
regardless of who you are or what your creative medium is (art, music, literal minecraft mods) please feel free to express yourself however you please through that
we are trapped in the gradle of this horrible project and the project is bleeding to death
please take this as a parable from everything we did wrong
so PLAY NICE
Let's all drink some nice Wine
legit have been seeing this thread pop up in my emails since 2021, hadn't bothered to actually read it till now though since i just assumed it was just people whining about nothing lol
incase you're curious since my last post here i have switched to java mods and have already made my first (also haha you got a new email!)
late to the reunion, you guys want white or red wine
Red Wine
i dont want wine i want er paper juice
i think I used all my paper juice in my last reunion.
My friend, Java is not going to be the future. Lets face it, I'd much rather create some random mod for myself without having to learn a language that takes months to learn.
To put it simply, unless you're a die-hard try-hard or a absolute nerd, there is no way in hell that anyone would just use scratch based MCreator.
Think reasonably here. Your arguments are all valid against public mods, but MCreator cannot be applied as a whole here. And also, it is up for the minecraft community to fend for themselves, since they're already so spoiled already about not getting good updates.
Additionally, the arrogant tone in those arguments cannot be ignored. So you openly declare that all mods made by scratch are pathetic and inferior? I think not. In fact, the ideas you can implement with both scratch and java are plainly the exact same: Its just that its easier with MCreator, but that does not truly matter. If you truly want less bad mods, make a good one yourself instead of complaining and doing nothing. The comment about MCreator having "control" over your mod is just a fat +Disrespect. It dosen't matter MCreator CAN do it, its about whether or not MCreator USES the ability.
In retrospect, this whole thing seems to be about a person just saying its inferior because it makes life easier. Very disappointing, my friend. Very disappointing.
I feel that with the current MCreator, you can make better mods than with coding, depending on how you use it.
I recently made a mod with Fabric, but perhaps because I'm not very familiar with it, it didn't come close to the mod made with MCreator.
The only bad thing about MCreator is that it doesn't officially support Fabric, and the add-ons that make it compatible with Fabric haven't been updated for a long time, but considering that NeoForge is the mainstream loader now, I think this can be ignored. I use Fabric, or rather I like the Iris shader, so...
In the end, it all comes down to how you use it.