17 Oct
2012

On the Mod API, and Mods in General

I have an idea on a simple first step for the Mod API. I think that this is the feature that most end users are looking forward to. It might not be (almost certainly isn’t) the most anticipated feature among the mod makers, but surely it must be for most of the end users. What I propose is that servers do for mods more or less what they currently do for texture packs. Each server should have a list of all the mods that are required to play on the server, and where to download them from. The client can automatically downloads and install these mods when it connects to the server. This is pretty much what it does for texture packs now.

The main reason for doing this is convenience, and support for large multiplayer mods. Currently, mods come in three flavors. First are server mods. These change the game mechanics serverside, but have no changes clientside, meaning that only the server has to be running the mod. Anything that runs on signs (shopchest and many chest protection plugins, for example) or the command line (that factions plugin, for example) or changes things without user input (affecting world generation or weapon damage values, for example) falls in this category. The second category is client mods. These have no impact on game mechanics, only on the user experience. Two obvious examples of these are optifine and minimaps. The third category is mods that bridge the gap, and change both mechanics and graphics. These often add things to the game (new mobs and blocks and items are common, and the Zeppelin mod is an example), and require code changes/additions on both the server and the client. These mods are easy and popular in single player, but a pain in the ass in multiplayer, because of the coordination required. The server must be running the mod, and the client must be running the mod in order to successfully connect and play. Currently, the client has to shuffle mods around manually to be able to play on different servers. My proposed system would have the Minecraft client do this automatically, saving user hassle, and making server mod implementation more successful.

 

So, what do you think?

You must be logged in to post a comment.