M3L
Magic Mojo Mod Loader
A mod loader for advanced modders
- Download M3L
Development status
M3L is Retired.
No further development will happen.
Why another mod loader? Why not just use forge?
TL;DR: Too many Forge mods are incompatible with each other.
Minecraft Forge lets modders add some really cool stuff to Minecraft, and even lets multiple mods actually work together instead of stepping on each others' toes. As long as all the mods use the API provided by Forge, they'll be compatible with each other and everyone get to be happy.
The trouble is, some modders really push the boundaries of modding and want to add content to Minecraft that isn't supported by the Forge API. Forge actually lets modders get around the API using core mods. Core mods are allowed to directly transform Minecraft classes which essentially creates a custom API just for that core mod. The ensuing proliferation of uncoordinated single-use custom modding APIs has made it impossible to guarantee that multiple mods are compatible with each other anymore. Many of the core mods out there (including my core mods) are likely incompatible with the other core mods. Instead of letting Minecraft modders just focus on adding new features to the game, the core mod system shifts the burden of inter-mod compatibility back onto modders.
The obvious solution to the too-many-APIs problem is to just have everyone contribute to the same API that becomes somewhat of a standard for Minecraft modding. The trouble with this approach is that, for reasons both technical and social, adding new features to the Forge API is more trouble than it's worth for many modders.
How does M3L help?
TL;DR: Design a modding API that's easy to modify. Then everyone can share features.
Instead of giving modders a way to make their own modding APIs via the coremod system, all mods should use the same API if they want to guarantee compatibility with each other. Then, the technical issues of how to guarantee inter-mod compatibility can be handled centrally, by the mod loader. Rather than making a backdoor in the modding API to let ambitious mod authors move faster than the modding API can keep up, let's improve the modding API itself so that it can adapt quickly to change. That's the goal of M3L.
Magic Mojo Mod Loader has been designed completely from scratch to make it as easy as humanly possible to add new features to the modding API. There's a bunch of fancy under-the-hood code that deals with the complexities of the Minecraft environment and keeps the definition of each change to a Minecraft base class (we call it a "hook") as simple as possible. That means, it will be much easier for modders to contribute new features to the API. Once these features are incorporated into the API, all modders can benefit from them and mods that use these features can enjoy compatibility with each other.
M3L will have no coremods. All mods will use and be bound by the modding API, and in return, all inter-mod compatibility issues will be handled as much as possible by M3L itself. That way, modders won't have to spend time coding support for other mods. That part will happen automatically. Since M3L is designed to be easy to maintain and extend, this will allow it to keep up with modders out there that have exciting new ideas they want to put into Minecraft mods.
Installation Instructions
- Use the vanilla launcher to install Minecraft 1.8.3.
- Download the M3L installer to any folder you like. You probably always want the newest version.
- Start the installer by double-clicking the jar file, or running this command: java -jar path/to/theFileYouDownloaded.jar
- You should be greeted with a screen like this:
Right now, nothing is installed. - Click the big shiny install button and you will be rewarded with a screen like this:
This means M3L is installed correctly. - Select the M3L profile in your Minecraft launcher to play M3L mods.
Community
Leave comments and join the discussion in the Minecraft-osphere.
M3L is Open Source! But BitBucket deleted all my code! =(
If you want it for some reason, just ask. I have an archived copy somewhere.