Apollo is a powerful tool that allows developers to create custom integrations with Lunar Client.
Resources
Use the Apollo API directly by depending on it from our Maven repository.
This is the most straightforward way to create plugins and modules that communicate with Lunar Client.
See the Waypoint module integration guide for a complete example.
Our Lightweight integration allows you to use Apollo features without running the Apollo plugin.
This is useful for developers who want Apollo functionality but prefer a more minimal approach.
There are two supported methods:
Both approaches achieve the same goal, but with different trade-offs in terms of complexity and flexibility.
Read the Lightweight introduction documentation to get started.
Apollo includes example plugins to help you get started quickly.
These are the same projects used for the code examples in the official documentation on lunarclient.dev.
Each module page on the documentation site shows how to use API, Lightweight JSON, and Lightweight Protobuf integrations, with code pulled directly from these projects.
- API example →
example/bukkit/api/build/libs - Lightweight JSON example →
example/bukkit/json/build/libs - Lightweight Protobuf example →
example/bukkit/protos/build/libs
- API example server →
example/minestom/api/build/libs
Apollo uses Gradle to handle dependencies and compile the project.
Prerequisites
- Java 8 JDK
- Build Tools for Spigot 1.8.8
Compiling
Running the following will compile the Apollo source for Java 8.
./gradlew buildThe compiled jars will be available in build/libs for each platform:
- Bukkit:
platform/bukkit/plugin/build/libs - Folia:
platform/folia/build/libs - Minestom:
platform/minestom/build/libs - BungeeCord:
platform/bungee/build/libs - Velocity:
platform/velocity/build/libs
The Apollo project is split into several modules.
- API - The publicly available interface for developers wishing to create custom integrations with Lunar Client.
- Common - The abstraction used by platform modules to reduce duplicate code and implement the protocol for Lunar Client.
- Bukkit, Folia, Minestom, BungeeCord, Velocity - Are modules that implement the common module for each respective platform.
Contributions can be made to Apollo by creating a pull request for improvements or fixes. For new feature ideas please consider making a suggestion by creating an issue or joining our discord.
Apollo is licensed under the MIT license.
