The Minecraft Wiki, “Creating mods”  is probably the best place to learn about creating mods.

What I have learned is that all mods are based on reverse engineering and then enhancing pre-existing Minecraft classes interpreted by the Forge project. This is why I have such great respect for my Mentors who are identified in the sidebar of the home page.

The steps I follow are:

  1. Identify a feature/features I want to add to Merlin’s Forge.
  2. Look for existing mods that have similar features.
  3. Either find the source code for the mods identified in step 2 at Github or deobfuscate them using Enigma.
  4. Examine the source code to see what Minecraft/Forge classes they used.
  5. Find the original Minecraft/Forge classes in the Minecraft Coder Pack and determine how to clone and extend them to build the feature/features I want in Merlin’s Forge.
  6. Add the classes in the Minecraft Coder Pack to one of my Merlin’s Forge mods and then modify the code to do what I want it to do. I use Eclipse as my development environment.
  7. Curse and moan as I debug/modify my code to make things work properly. This is probably the best way of learning Minecraft and Java at the same time.
  8. Test the new features in Creative Mode until most of the bugs are worked out.
  9. Test the new features and how well they integrate with other features in Survival Mode. In other words, I just play Minecraft for hours to see what breaks.
  10. Then I go back to Step 7 and repeat until I’m pretty confident the new or revised mod is ready for publication on the Merlin’s Forge web site.