BaseClassesBeGone - Do away with base file modifications
A custom launcher and library to replace base file modifications with runtime patches.
Hello! I'm Rotten194, here to show you BaseClassesBGone, the new 1-size-fits-all launcher, tool and API collection to remove the need for pesky base class modifications. Tired of You are The Creeper and Zombe's Mod Pack both using gs? Tired your api's out-api the other api antics making them conflict? Then get the creators to use BaseClassesBGone, for the low low price of free!
But seriously, this is pretty ****in' sweet.
2. I am a USER and need to install BaseClassesBGone
3. I am a DEVELOPER and want to port my mods to BaseClassesBGone
4. I am interested in PROMOTING BaseClassesBGone between mod developer
5. I am interested in CONTRIBUTING to BaseClassesBGone
6. I am NOTCH and am interested in this mod
Now, I hate psudeolaw crap as much as anyone. I still feel pretty bad for creating those two licenses in the stickied thread :sad.gif:. I'm planning
on putting BCBG under a standard open-source license, but I'm not good with lawyar so I don't know what to pick. Until then...
1. I have no reponsibility for you ****ing up with this mod. I'll try to help you out, but if you threaten me or insult me I'm out. I'm not
obligated to do anything but flip you off.
2. Don't rehost. It's staying on Github/MCModCenter. Feel free to link there, but no rehost.
3. I'd really prefer if you didn't go around my adfly links. I'll only adfly the precompiled binaries, so you're free to download from github
and compile yourself, but if you don't want to compile it please wait the 5 seconds. Thanks.
Welcome! Most likely you're here because another mod mentioned a BCBG dependency. You're probably a bit confused, and I don't blame you,
BCBG is a very unique mod. Unlike most mods, BCBG modifies the LAUNCHER to hook into Minecraft before it even starts. By patching
the game while it is loading, BCBG provides very fast patching time, a powerful mod manager, an easy to use API, and as many possibilities
as modifying base classes directly - without the conflicts.
Now, you're probably thinking - 'What?! This modifies the LAUNCHER?! WArGleFlarge password blargtur security!!' - relax. BCBG is all open
source, and able to be vetted by every mod developer who chooses to use it. Additionally, it only modifies one class file in the
launcher, in a method that your account information never goes through. If you're still worried about security, you're welcome to checkout
GameUpdater.class from the GitHub repository and compile it yourself to ensure I'm not building anything nasty into the pre-compiled
binaries. I assure you that BCBG is perfectly safe - I have my own account :wink.gif:.
"Are conflicts still possible with BCBG?" -
Short answer - yes. Long answer - yes, but unlikely. BCBG allows you to modify classes without locking off the
whole class, but methods still replace each other. There is a hook method as an alternative to replacing a whole method, but for some people
it is not flexible enough. "High-traffic" methods, like EntityPlayer.tick(), might still see some conflicts. Hopefully solutions will be
built into BCBG soon, however. In conflicts like this you will get a pop-up that explains the error in non-programmer speak, so you can give
it to the developers to figure out and fix, as opposed to the normal unidentifiable blackscreens and crashes that take hours to work around.
"How do I install BCBG?" -
Look below for a detailed installation guide.
Installation guide: -at this point in development, if you need a guide this probably isn't for you-
Download: -not available yet - build from github if you're interested in contributing-
Troubleshooting: "I installed this to minecraft.jar and nothing happened!?"
Read the big red text above the download link.
"I opened the launcher and there was just a bunch of .text junk, no classes!"
You opened the .exe launcher. Read the text above the download link.
"No /patches folder was created!"
You installed it wrong.
"I found a bug!"
PM it to me. DO NOT POST IT HERE, I WILL NEVER READ IT.
"Can I use an alternative launcher (e.g. a batch file or the MCP mod system)?"
Good question (finally). The short answer is no to certain launchers. If the launcher directly launches minecraft.jar, then no. If it launches the normal launcher, then yes. I've been working with the MCP team, so everything should work between BCBG and the MCPMS, but other launchers are hit or miss. For MCPMS compatibility, simply move your patched launcher into the same directory as the MCPMS and launch with the MCPMS.
Enjoy your new modding experience, free from the trials of base file modifications and now with the ease of swapping patch classes!
BCBG is open source. If you'd like to contribute a patch, first contact me on IRC. Unsolicited pull requests are a bad idea, as your work may
not get used if I don't feel it's warranted. Ask me, and if I like your idea code it up and submit a pull. I'll review it, and if it's good add
it. Knoweldge of Java and Git are required to contribute. Prior knowledge of ASM is handy, but not needed. Github repo.
Now I doubt you'll actually read this thread, but if this catches your eye and you do...
I have huge respect for your work. Yes, it's messy, yeah, you have less-than-optimal coding techniques. But there's an old joke about
programmers: How many programmers does it take to screw in a light bulb? 1, and 100 others to say "Not bad. But I could have done better".
It's pretty lame I admit, but it makes a point: you made a hugely successful game, you've carried it through this far, and you've dedicated
yourself to the modding community much more than many developers, both in support and in implementing good mods instead of letting them fester.
Thank you for that, despite how many modders think that the 2 generic items that their mod adds makes them better then the creator of the
engine. On that note, however...
PLEASE use a system like BCBG in the official API. I've heard rumors you are talking with the Bukkit team to make single-player modding a
one-person server running locally. PLEASE DON'T. It adds useless overhead, inter-process sockets suckage, and junk to the system. It seperates
modders from the engine grit. It will needlessly out-date hundreds of mods that will need to be ported to a new, vastly more limited API. It
will force you to limit SP modding to prevent malicious code being executed in SMP. There is so many more downsides, for what upsides? It's a BAD IDEA. Please do not do it. I'd be more than happy to have BCBG implemented into the official game. Hell, I'd give up all my
code to you guys (you might need to license ASM though). I'd work for you guys for free to implement this into your official code base. PLEASE
do not go the Bukkit route. For the love of Steve. Go with a BCBG-like solution + ModLoader and other APIs on the client side, with Bukkit on
the server side, and a bridge mod like Spout between them. Clients and servers are vastly different, what's the sense in treating them the
same? Trying to for the sake of being able to develop both at once will only end with you developing twice as much.
Welp! End of the thread. Nothing past this point!
ACTION> OPEN THREAD
---- Wall of Text crits you for 9000! <1200 DMG - (2050 DEF + 950 ENGLISH SKILLS)>
---- You are dead.
OPTIONS> RESPAWN : NEW GAME : QUIT