So I've already made a couple missions so far (they still need some fluff-text polish before I will release them), but just in general, from my experience:
- you can ignore the missiondefinition.class file; you only need to change the missiondefinition.java, mission_text.txt, and descriptor.json for the mission itself, and the directory name
- don't forget to add your mission to the missionlist.json file in the ../missions/.. directory, or it won't be loaded
- if you get a crash on load, you probably have an error in your missiondefinition.java; if you go to the ../starfarer-all/.. directory, you will find a file starfarer.log, which will contain the debug output; check that.
- if you get a crash when selecting the mission, it means you likely have an invalid ship type specified
You'll notice that the missiondefinition.java file has on its first line the name of the mission, which you will need to change to the name of your mission.