dslake/WorldDownloader — pull request #49 by nairol (2014-07-07 21:42:28+00:00)
Title: Forge support

People have been asking for this [since January 2012](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1273867-world-downloader-old-thread?comment=553) and I didn't really like the idea of depending on some community-made modding API when Mojang's API was just around the corner (yeah, right :neutral_face:). I did change my mind when more information about the official API became available, e.g. that it would only support server mods.

The advantages of Forge are easy mod installation, good compatibility with other Forge mods, less work for mod developers.
Disadvantages are e.g. that WDL users would **need** to have Forge installed and that the list of installed mods is sent to the server.

Offering two versions of the mod - one Forge compatible, one standalone - would only work if the code is almost completely shared among them. Doubling the work required to update the mod is not a wise move...

I recently started reading the Forge documentation (which is somewhere between sparse and non-existing imho) and it seems like they offer all hooks ("events") that WDL needs to work without additional base class modifications.

I managed to get it working without big changes to our existing codebase. The few changes I needed to make will have no impact on the standalone version. I basically just moved some code around or rewrote a few lines.

At the moment this pretty much is a proof of concept. There are still problems with disappearing entities and I'm generally not very happy with the code.

@dslake: Any thoughts on Forge support?

Oh and please don't merge this PR/branch yet...