If I remember correctly the early days were painful as well, with it being necessary to manually unpack the jar file, and work with deobfuscated decompiled code. I'm not sure what the state of it is nowadays, but I hope its more pleasant.
My favourite game from a modding perspective is Kerbal Space Program. Just drop a Mono/.NET DLL into its GameData folder and you're good to go, and code completion works automatically during development as long as you have Squad's own DLLs in the right paths.