BaseClassesBeGone is a project mainly written in ..., it's free.
A mod manager/patcher for the popular indie game Minecraft (minecraft.net)
This is a modification for the popular indie game Minecraft (by Mojang, at minecraft.net). While the game itself, written in Java, is quite fun, its support for mods is almost non-existant. Most modders work by modifying the original classes and having users manually patch their minecraft.jar archive, which is not the most trivial task for when Grandma just wants Endermen to stop stealing her bridge club re-creation, not to mention issues with how different implementations of Java handle things like META_INF. The biggest problem, however, is that modified classes are distributed 'whole', and will overwrite classes that other modders have changed. This means huge swaths of mods are incompatible with each other. BaseClassesBeGone (BCBG because acronyms are sexy) handles this by allowing modders to quickly, easily port their mods to easily installable patches. BCBG then automatically applies these patches when the game starts up, making them dynamic yet easy to remove, unlike a static patcher that would directly modify minecraft.jar.
BCBG uses the bytecode manipulation library ASM to parse patch classes and apply them. Patches are loaded into memory and a custom classloader is used to provide modified classes seamlessly to the game engine.
ASM is by far the fastest and most memory-effecient bytecode library I could find, outscoring BCBL and JavaAssist on simple and complex patches. When you're going to be patching hundreds of classes 100ms a class makes a huge difference in time spent waiting.
No. This is an entirely unofficial, fan-made mod.
I haven't picked a liscese yet (help me open source gurus ;_;), so for now just don't please. Link to this repository.
First you'll need to decompile the launcher and fix all the errors. The obvious ones:
Just submit a pull request I guess. I'm a shitty project manager.
git config --global core.autocrlf true
, remove --global if other repos have different rules)