This is my plugin system project, basically here i have some events and core handlers. Main idea of this project is that I also have plugin support. What does it mean? U can write your custom plugins and compile them to JAR files and add this files to plugins folder, and without recompiling of the program this plugins will work as if they were created as core parts.
In plugins folder you can find some jar files. Some of them are just for showing that it can support multiple plugins and some features. You can find example plugin and plugin template in this GitHub repo