Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Apollo

Lunar Client's Official Server-Sided API.

Lunar Client Maven Apollo Documentation Apollo GitHub release Apollo GitHub issues Apollo GitHub license

Note: Some features require external integration for utilization.


What is Apollo?
Apollo is a complete revamp of Lunar Client’s legacy API with tons of new features. Apollo allows server owners to interact and utilize unique features for Lunar Client users. Apollo offers a range of features, modules, and opportunities to enrich the experience of servers way further than what’s possible within vanilla Minecraft. Allowing server owners and developers to explore new possibilities, from simply disabling mods, to providing users quality of life features to capture their creativity. Let’s dive into some of the capabilities and opportunities that can be found within Apollo. Apollo Integration Visual


Apollo Capabilities
Apollo has most of its features broken down into modules. These modules can be enabled by the server so Lunar Client users can utilize them. Here is a brief breakdown of all the current Apollo modules and their capabilities. If you’re interested in one of the modules click the read more following the description.

Beam
The beam module allows you to create custom beams resembling beacon beams, which can be placed on your server to highlight specific points of interest. [Read More]

Beam Showcase

Beam Module Example
Beams can be at any location and be any color!

Border
The border module not only enhances Minecraft's current world border system by allowing multiple borders in the world, but also backports all the improvements and vanilla features to Minecraft 1.7.10 players. [Read More]

Chat
The chat module allows you to interact with and modify users chat feeds. [Read More]

Chat Showcase

Chat Module Example
Example of simulating live chat!

Colored Fire
The colored fire module allows you to modify the color of a flame both on burning entities and normal flame blocks. [Read More]

Colored Fire Showcase

Colored Fire Module Example
Make users burn with any color!

Combat
The combat module allows you to modify certain aspects of combat that are usually handled client-sided. Allows you to remove the 1.8 'hit-miss' or 'hit-delay' penalty. [Read More]

Cooldown
The cooldown module allows servers to interact with the Cooldown mod found within Lunar Client. [Read More]

Cooldown Showcase

Cooldown Module Example
Display any in-game item, SVGs or textures found within resourcepacks! (1.7+)

Entity
The entity module allows you to interact with entities client-sided. [Read More]

Glint
The glint module allows you to control, display, and override a custom glint effect on an item. [Read More]

Glint Showcase

Glint Module Example
Set enchantment glints on any item with any color! (1.7-1.12)

Glow
The glow module allows you to take advantage of the vanilla Minecraft Glow Effect that is usually applied when hit by spectral arrows. [Read More]

Glow Showcase

Glow Module Example
Highlight any user with the glow effect, of any color on all versions!

Hologram
The hologram module enhances vanilla Minecraft's current system for holograms and backports all the improvements and vanilla features to Minecraft 1.7 players. [Read More]

Limb
The limb module allows you to hide any Armor piece and Body parts of a player. [Read More]

Limb Showcase

Limb Module HideBody Example Limb Module HideArmor Example
Hide select body parts and armor pieces!

Mod Settings
The mod setting module allows you to interact with Lunar Client users mods or mod settings when joining your server. [Read More]

Mod Settings Showcase

Mod Settings Module Example
When mods are disabled on the server, players will receive a notification!

Nametag
The nametag module enhances the vanilla Minecraft nametag. Allows you to have unlimited multi-line nametags for players, instead of a singular line. [Read More]

Nametag Showcase

Nametag Module Example
Display an unlimited amount of lines above a users head.

Nick Hider
The Nick Hider module allows you to pass in a nickname you want to hide for the user. [Read More]

Notification
The notification module allows you to send Lunar Client notifications to players actively on your server. Lunar Client notifications appear in the upper right of the user's screen. [Read More]

Notification Showcase

Notification Module Example
Send notifications using Lunar Client, with any icon, title, and description!

Packet Enrichment
The packet enrichment module provides servers with additional information about already existing packets and/or adds additional packets to provide servers with extra information about a player. [Read More]

Rich Presence
The rich presence module allows you to interact with Lunar Client's rich presence to display your server and game modes directly on Discord. [Read More]

Rich Presence Showcase

Rich Presence Module Example
Display information about your server on Discord and Lunar Client's rich presence!

Saturation
The saturation module allows you to interact with and set custom saturation and hunger values for the Saturation mod on Lunar Client. [Read More]

Saturation Showcase

Saturation Example
Set custom saturation and hunger display values for items!

Server Rule
The server rule module contains pre-created settings servers can enable or disable, comparable to Minecraft's /gamerule command. [Read More]

Staff Mod
The staff mod module allows you to interact with Lunar Client's built in staff mods. [Read More]

Staff Mod Showcase

Staff Mod Module Example
Allow your staff to use hidden staff only mods, like xray!

Stopwatch
The stopwatch module allows you to control the stopwatch mod inside Lunar Client. [Read More]

Stopwatch Showcase

Stopwatch Example
Start, Stop, and Reset the Lunar Client stopwatch mod!

Team
The team module will allow you to interact with the Team View mod in Lunar Client and enable various features for teammates in various other mods. [Read More]

Team Showcase

Team Module Example Teammates will have markers over their head, appear on Minimap Mod, and appear in the Direction HUD mod!

Title
The title module backports all vanilla title & subtitle features found in 1.8+ to 1.7 Lunar Client players. [Read More]

TNT Countdown
The TNT Countdown module allows you to interact with and set custom TNT timers for the TNT Countdown mod on Lunar Client. [Read More]

Transfer
The transfer module allows you to transfer players from one server to another, without the need of additional proxy setups, using the transfer packet. We've also introduced a ping packet to get a players ping to other servers. [Read More]

Transfer Showcase

Transfer Module Example
Attempt to transfer users from one server to another! (1.20.4 & lower)

Vignette
The vignette module gives the ability to apply a full-screen image overlay with transparency to the player's view. [Read More]

Waypoint
The waypoint module allows you to interact with the Waypoints mod and place waypoints at various different points of interest in your worlds. [Read More]

Waypoint Showcase

Waypoint Module Example Waypoints allow players on your server to know where the action is at!


Apollo Commands

  • /apollo

    • Description: The main command inside of Apollo, with no extra args it’ll respond with the current Apollo version running.
    • Permission: apollo.command
  • /apollo reload

    • Description: Reloads the Apollo configuration files, both config.yml and mods.yml
    • Permission: apollo.command
  • /apollo update

    • Description: Forcefully updates Apollo to the latest version.
    • Permission: apollo.command
  • /lunarclient <player>

    • Description: Checks if the provided <player> is running Lunar Client.
    • Permission: apollo.lunarclient

Apollo Configuration

The Apollo configurations are split into two parts;

  • General and module specific settings for Apollo are located in the config.yml.

  • Settings for Lunar Client mod options are located in the mods.yml.

The settings for the config.yml are generated with examples and comments, which you can modify to your liking.

The mods.yml is not generated with its settings or comments, which will require you to refer to each mod's documentation (example) for the keys and value(s) you can set. The settings in the mods.yml will override the mod options for players on Lunar Client while they are on your server and revert them back after they leave.

mods.yml - Configuration Example
Note: The following example is not a complete list of mod settings or guaranteed to be up to date. You should refer to the mod's documentation (example) for the latest settings.

mod_setting:
    # Set to ‘true’ to enable these mod overrides, otherwise set ‘false’.
    enable: true
    zoom:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: true
        # Quickly pressing and releasing the key will toggle zoom.
        toggle-key-zoom: false
        # When zoomed in the camera movement will move smoothly (cinematic camera).
        smooth-camera: true
        # Add a transition when zooming in and out.
        smooth-zoom: true
        # Adjust the zoom depth using Mouse Scroll Wheel.
        variable-zoom: false
        # Change the initial zoom depth.
        zoom-divisor: 4
    chat:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: true
        # Choose whether or not you want to increase the message history in chat.
        unlimited-chat: true
        # Choose whether or not you want to stack multiple of the same messages in chat.
        stack-messages: false
        # Moves the chat up 12 pixels so it doesn’t block health bar.
        chat-height: false
        # Set the opacity of the chat background.
        chat-background-opacity: 1.0
        # Show text shadow on chat lines.
        chat-shadow: true
        # Set whether the chat should be disabled.
        disable-chat: false
    nametag:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: true
        # Set whether the nametag should have a shadow.
        nametag-shadow: false
        # An option to see your own nametag in third person.
        nametag: true
        # An option to toggle LC logos in nametags.
        nametag-logo: true
        # Determines if we should send the message when nametags are toggled.
        toggle-nametags: true
        # Set the opacity of the nametag background.
        nametag-background-opacity: 1.0
    bossbar:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: true
        # Sets the scale of the boss bar.
        scale: 1.0
        # Sets whether to render the boss bar.
        render-bar: true
        # Sets whether to use the custom boss bar.
        custom-boss-bar: true
        # Set the boss bar color.
        bar-color: ‘#F249F2’
    freelook:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: false
        # Set whether to invert the pitch when using freelook.
        invert-pitch: false
        # Set whether to invert the yaw when using freelook.
        invert-yaw: false
        # Quickly pressing and releasing the key will toggle freelook.
        toggle-key-freelook: false
        # When zoomed in the camera movement will move smoothly (cinematic camera).
        smooth-camera: true
    lighting:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: true
        # Set whether or not to use full-bright.
        full-bright: true
        # Set the brightness boost.
        brightness-boost: 1.0
    damage-tint:
        # Set ‘true’ to enable the mod, otherwise set ‘false’.
        enabled: false
        # Set the color of the tint.
        vignette-color: ‘#000000’
        # Set the intensity of the tint.
        vignette-intensity: 1.0
        # Show the tint when you have less than this amount of health as a percentage.
        show-vignette-below: 100
        # Plays a heartbeat, becoming faster the lower your health.
        heartbeat-audio: false

Why use Apollo?

Apollo offers a complete overhaul of the legacy API with numerous innovative features. It empowers server owners and developers to engage with Lunar Client users with unique functionalities, extending beyond the bounds and capabilities of vanilla Minecraft. From incorporating quality of life features to fully in-depth modules, Apollo allows you to fully display your creativity and enrich your gamemodes. Adopting Apollo significantly elevates your servers, projects, or events functionality, creativity, and unique experiences.

If you have any concerns, questions, feature requests, or need support adding Apollo into your server, project, or event, you can contact us on our Developer Discord.

CTA Download Apollo


Apollo Installations

Maven
Add this section inside of <dependencies> tag in your pom.xml. Additionally, ensure you're always using the latest <version>.

    <dependency>
        <groupId>com.lunarclient</groupId>
        <artifactId>apollo-api</artifactId>
        <version>1.1.2</version>
    </dependency>
    <!— For Adventure support add the following dependency. —>
    <dependency>
        <groupId>com.lunarclient</groupId>
        <artifactId>apollo-extra-adventure4</artifactId>
        <version>1.1.2</version>
    </dependency>

Gradle (Groovy)
This should be inside of your build.gradle file.

dependencies {
    compileOnly ‘com.lunarclient:apollo-api:1.1.2// For Adventure support add the following dependency.
    compileOnly ‘com.lunarclient:apollo-extra-adventure4:1.1.2’
}

Gradle (Kotlin)
This should be inside of your build.gradle.kts file.

dependencies {
    compileOnly(“com.lunarclient:apollo-api:1.1.2”)
 
    // For Adventure support add the following dependency.
    compileOnly(“com.lunarclient:apollo-extra-adventure4:1.1.2”)
}

Project members

LunarClient

Member


Technical information

License
MIT
Project ID