If you want to contribute to FML - MinecraftForge/FML GitHub Wiki

Here's how

Prerequisites: Eclipse (3.7 or better is probably good), Ant 1.8.2+ (the java build tool) and MCP, obviously.

  1. Unpack a fresh MCP to a clean directory. Set it up with clean copies of minecraft.jar and minecraft_server.jar as instructed by MCP. Do a test decompile if you wish and make sure your MCP is up to date.

  2. Clone FML while in the MCP directory. It should create a new directory "FML" inside your mcp.

  3. In your FML directory, copy the "fmlbuild.properties-sample" file to "fmlbuild.properties". Edit the two variables inside fmlbuild.properties to appropriate values.

  4. Run ant setupenvironment. It will ask you to confirm you want to do this and tell you where it's doing it. Make sure it all looks good and allow it to work. It will decompile MCP in the special way FML needs it to be done, make the copies FML needs and apply the patches to the environment. You should have a working FML at that point.

  5. To setup eclipse, point to the FML/eclipse subdirectory. You will need to "Import" the various projects from the workspace into your eclipse (this is a bug in the FML checkout that we haven't managed to fix).

Updates to your FML checkout should apply in the same manner.