ByteLib Documentation 1.1 Help

Getting Started

To better understand the design of ByteLib and how it works, a good place to start is to review the core design principles of the library. If you're not interested in the technical details, you can safely skip that topic.

ByteLib is built on top of the experimental Paper Plugin API. This API requires some manual configuration from developers, so ByteLib provides clear documentation for the setup process.

  • Review the Bootstrapping topic to learn how to bootstrap your plugin to use ByteLib.

  • Review the Plugin Loader documentation to learn how the Paper PluginLoader works in ByteLib.

ByteLib APIs

ByteLib provides several APIs that simplify plugin development. All APIs are designed with Dependency Injection at their core, making them easy to integrate anywhere in your plugin.

Explore the following topics to learn more about each API.

Config API

The Config API is an opinionated, lightweight wrapper around the BoostedYAML library that simplifies interacting with configuration files.

The API also includes utilities for handling translations and provides native support for MiniMessage.

Lifecycles API

The Lifecycles API allows ByteLib plugins to define any number of onLoad, onEnable, and onDisable lifecycle hooks.

This allows developers to keep their main plugin class thin while separating responsibilities into dedicated lifecycle components.

Lifecycle handlers can also be executed in a defined order when required.

Commands API

The Commands API allows developers to easily create and register Brigadier commands for their plugin.

While conceptually similar to Brigadier, ByteLib's API provides a more opinionated interface for command creation and includes additional utilities for common command patterns.

Like all ByteLib systems, the Commands API integrates directly with Google Guice Dependency Injection.

SQLite API

One of ByteLib's most powerful features is the SQLite API, which allows developers to easily create and interact with SQLite databases in a type-safe, object-oriented manner.

The API preserves the flexibility of raw SQL while providing higher-level tools for common database interactions.

10 March 2026