The best way to create a plugin
This is a library coded in Kotlin to help kotlin developers create Spigot, BungeeCord and Velocity Plugins. It also supports creating Standalone applications (but only with the global modules, because those do not require any other software to work).
- Kotlin (License)
- log4j (License)
- Simple-YAML (License)
- XSeries (License)
- JetBrains Annotations (License)
- commons-io (License)
- Google Gson (License)
- JSON-java (License)
- Zip4J (License)
- SLF4J (License)
The docs can be found here (it's a Dokka Resource), everything is documented through the Kotlin Docs (Similar to JavaDocs but for Kotlin :p )
Ok, so we have multiple types of initializers for different software, Spigot, Bungee, Velocity and Standalone.
The Standalone system is meant to be executed without any extra software, like desktop applications or command line tools. Only the global modules are available in this mode.
In the Standalone system you will naturally shade SimpleCoreAPI and use the xyz.theprogramsrc.simplecoreapi.standalone.StandaloneLoader
as your main class.
Later you will mark your main class with the @EntryPoint
annotation. Then SimpleCoreAPI will load all modules, then execute the @EntryPoint
class.
Depending on the software you're using you'll need to mark SimpleCoreAPI and the modules you need as dependency
(NOT soft-dependency
) so the system will load all
modules and files you need before your plugin is loaded.