A week ago today, Mojang announced that they had hired the four main developers of Bukkit to help create Minecraft’s modding API. And, as with any major change, the news split the Minecraft community: for and against (and, this being the Internet, the “against” crowd was particularly noisy). Plus, there was a sizeable number of people who were convinced that the announcement had sounded the death knell for Bukkit, and another group who were under the impression that the modding API would be Bukkit.
So, given that it would be necessary for me to get as far into the actual details as possible, for Episode 73 of The Shaft (you know, it being news and all), I stopped by YouTube to check out BebopVox’s report on the matter, and then called in at the Bukkit forums, where Dinnerbone had helpfully provided an FAQ.
Here are the major aspects of what I learned:
1. The modding API will be written from scratch – not using Bukkit’s code.
To those of you unhappy with the way Bukkit was coded: they know. Mistakes were made, sez Dinnerbone, and writing from scratch will enable them to improve the code. Plus, on a side note, there are legal issues from using the existing Bukkit code.
The team will do its best to make the modding API as compatible as possible with Bukkit, but there are no guarantees.
2. Bukkit isn’t going away – yet.
At least four times in the FAQ, Dinnerbone stated that Bukkit was very much alive, even while the modding API was being developed. However, he did state that it was likely that Bukkit would eventually be phased out – but not for about six months or so.
3. Modders will not be locked into using the API.
My use of italics on that entire sub-heading was utterly deliberate. There’s been a ton of hate regarding having to use Bukkit’s code. One modder in particular said that work on his own mod would end, because he and his development team didn’t like the code that Bukkit or Mojang produce, and trying to work with it would cause problems for his team.
Having seen these complaints (brought to my attention by a friend), I made sure that the following information went into The Shaft’s report:
YOU DON’T HAVE TO USE THE MODDING API WHEN WRITING YOUR MODS FOR MINECRAFT.
Although I didn’t use caps when I wrote it up in the GDoc.
I should imagine that Mojang would prefer it if the API was used, but here’s the exact text from Dinnerbone’s FAQ (although I did adjust one word for spelling):
How will this affect other mod groups like Spout or MCP?
That’s up to them. Either they can rewrite to use the new API internally, which will be a lot of help to them, or they can just continue doing what they do now. It’s really their choice.
Twice in the same paragraph does Dinnerbone indicate that it’s up to the modders whether they want to use the API or not.
4. Mojang hopes to get feedback from as many modding groups as possible.
Potentially, this could be the most difficult aspect of the whole process. Other modding groups could easily say to Mojang, “You didn’t pick us, you’re not getting any help from us.” But I hope they don’t. This is a chance to get as much functionality as possible into the modding API, to make it as comprehensive as possible for the entire Minecraft community. It’s my fondest wish that modding groups don’t squander that opportunity.
There have been claims that Mojang no longer cares about Minecraft, especially since Notch stepped down from the game, and that the hiring of the Bukkit team confirms this. I strongly disagree:
- If Notch had forced himself to stay put (or if the rest of Mojang were the ones doing the forcing), I feel the development of the game would have become very lacklustre, if development even continued at all. Instead, Notch handed over to Jeb – who not only appears to remain enthusiastic about the game, but is more encouraging of community input than Notch was (by Notch’s own admission);
- Mojang hired Jon Kagstrom, whose resume includes expertise in programming AI. Results so far? Hostile mobs are now sneakier, while also being more careful to protect themselves, making the game harder (plus, if you’re on Hard/Hardcore, the zombies smash down your wooden doors). The intelligence of wolves has improved. New features continue to be steadily added.
- Mojang wants to open up access to the game in an effort to make modding as easy as possible, and hopes to get as much input as possible for the API.
How is Mojang not caring about Minecraft, when they’re doing stuff like this?
And, if anyone’s wondering where my allegiances lie:
- I chose Bukkit for my personal server, because I’d heard more good things about it than bad, and I do listen to my friends’ opinions. I’ve been very happy with it so far;
- As I’ve mentioned previously on this blog, I’ve been heavily reliant (and totally in love with) Optifine – which is powered by MCP (Minecraft Coder Pack);
- I also use some parts of Zombe’s Mod Pack;
- I have Single Player Commands;
- I make much use of the Too Many Items mod.
Oh… I also can’t make any kind of statement as to whether or not Bukkit’s and Mojang’s respective coding is “functional or elegant”1, because my own programming experience is extremely limited. Sorry if you were hoping for more, there.
But I’m keen to see what Bukkit and Mojang can do together, even if I can’t actually write mods myself, or if nobody wants to use the modding API 😉