I DON'T EVEN KNOW WHAT AN API IS BUT IM REALLY PISSED OFF THAT THEY HAVENT MADE ONE YET!!!!1!
Posted Apr 7, 2014, 8:44 PM UTC
Posted Apr 7, 2014, 8:44 PM UTC
Here's a shitty cake analogy to help you understand what changing the game to introduce an API is like: It's like trying to remove fecal matter from the cake batter with your chunky, fat hands while the blender is churning the mixture. Or something like that.
If their problem is that they're "working on a flying jet," stop trying to fly two jets. If the problem is that their current jet isn't working, let the copy fly while you rebuild a better one from the ground up. Nobody is forcing them to stay with their code except them. If it isn't working for what they want they need to firstly stop making it more complicated and harder to work on, and secondly just rebuild it to work for them.
why don't they just land the jet
For your entertainment and education: API, short for application programming interface. It means other programmers can inject their code the legal way. Current mods work by hacking the program and replacing stable code with own code. That is why mojang wont have anything to do with mods.
Now, to make a program you have functions(turn left, turn right, place block, etc...) varriables(time of day,username, health, xp), classes(group of functions with variables) . This already exists in minecraft and is working. To make an api would require that for every function an api hook will be made(check if a function must be triggerd from 3rd party, if so, trigger it, get the variables and use them and continue program flow).
Easy right? Not so much. You need to validate everything so no illegal arguments are passed because a third party developper was lazy(lolz luuk @me i can haz program) and tries to set a 17th state whilst there are a max of 16 but the programmer started counting from 1 instead of 0 as he should have. The comes the second problem, how to handle such errors? Java.lang.illegalArgumentException? Crash the game? Show a glitch? And that is just tbe simple stuff for in game mechanics. Real validation problems occur when accepting 3rd party meshes in your code(pixelmon for example). How stable will the core remain, how to handle undefined bounding boxes, AI calls, updates etc...
Well when that is sorted out for some i figure a million lines of code you need to make documentation, publish it, write a manual. Then you have to makea development sandbox for the programmers for debugging and write documentation for that too, then... Comes the real hassle.... Hello mojang, my minecraft crashed and wont play anymore. End result, 3rd party plugin crashed at chunk loading event, got stuck in loop, hung the program and killed Java. Hours of customer support because people will go to mojang for support, not the 3rd party dev. When mojang says go to dev, people dont go to dev but go whine on forums and reddit about the horrible customer service of mojang.
Soooooooo before saying i want it now please do appriciate the enourmous amount of work that comes with it. I would love to work on it at mojang,its a nice challenge, but its a lot lot of work.
That explains a lot.... here's a upjeb.