Setting up the project
- clone the sample repo
- load the project in netbeans (suggested) or your favorite IDE. I will assume Netbeans in subsequent steps, but note where this made a difference. [Netbeans-specific] Resolve an issue: the plug-in needs to point at lsalem.jar in netbeans settings for the auto-suggest to work. [Eclipse-specific] Resolve an issue: the project needs a file reference to lsalem.jar. You can change this manually by editing project.properties and fixing the file.reference.lsalem.jar location to wherever it is for you.
Making the application aware of your plug-in 3. Refactor the SamplePlugin to whatever you want your plug-in to be called. 4. Edit manifest/META-INF.services/haven.plugins.Plugin to contain the name of your plugin class.
Giving your plug-in a resource file for the menu 5. Rename ./resources/src/paginae/add/hello.res to whatever you want to resource file to be called. 6. Open ./resources/src/paginae/add/.res/action/action_0.data and change the following fields: 6a) name (the tooltip when hovering over your plugin button) 6b) hk (the ASCII code for your hotkey. don't bother with it if you're not going to use hotkeys) 6c) ad (this is the characteristic String the client will receive when the action button is clicked) 7. Edit in a nice icon to ./resources/src/paginae/add/.res/image/image_0.data. Stick to a 40x40 image to be safe 8. Run the compile_resources.bat script (for windows - linux users should be able to figure out how to run the single line it calls)
And implementing the plug-in itself! 9. Write the Java code for your plug-in. 10. Build the project 11. [Netbeans] copy the .jar from ./dist to ~/Salem/plugins.
And, finally, launch the client and enjoy your plug-in!