ByteLib is a shared library for building modern, maintainable Paper plugins. This library is explicitly designed with the experimental Paper Plugin API in mind and comes with the following features:
- Paper-native plugin loading, using Paper's
PluginBoostrapandPluginLoaderAPIs - Guice-based dependency injection
- Modular lifecycle hooks (multiple
onLoad,onEnable, andonDisablemethods are now possible in your plugin) - Brigadier-based command registration (no
plugin.ymlcommands) - Config & translation abstractions around BoostedYAML, an already amazing YAML library
- A powerful, opinionated SQLite wrapper with support for migrations, strong typings, and more.
To reiterate, ByteLib is not a plugin, but rather a foundation that removes boilerplate and enforces safe architecture across all plugins that use it. ByteLib currently powers DimensionPause, and plans to convert Honeypot to ByteLib are in the works
Check out the Wiki to get started