the-insides/1. Overall Structure
The plugin is from 3 main units:
- Kernel: the deep core of the plugin, handled by bukkit. Is not used actively, but it is more elegant to separate the bukkit methods from my own stuff. Used to register listeners, commands, and these stuff.
- Shell: the separated outer layer of the plugin core, containing the massive stuff. It contains the command handler, the action manager, the addon and hook managers, the custom config handler, the logger, and the base variable namespace too. If you want to use my plugin you won't be able to avoid it, it is likely the most important of the whole plugin. As for hooking, this is the most "API-sh" object you can aquire.
- Utility: all other classes, containing the plugin functions. There are so many classes enclosed into this group, from command handling classes to premade block-based database frameworks. But you can find the listeners, the cc commands, the advanced utils and addon classes too.