Major Edit (See extended)

Changed root directory to .minecraft and files are fetched based from there. No longer requires a trailing slash (will be added if not included), replaces forward or back slashes with File.seperatorChar for usability, included dependency files in -cp, shortened variables. The "user" argument in launch() needs to be the in-game username fetched with the session, not login username. (Changed in main.java).