-
Notifications
You must be signed in to change notification settings - Fork 29
Minestom Support #231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Minestom Support #231
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Merged
|
Shouldnt properties also include a configuration for the predicate if the sender could use a command? Id assume this would be better than relying on permission levels. Also just having a T/F for registering commands to begin with. |
TrentinTheKid
approved these changes
Sep 12, 2025
ItsNature
added a commit
that referenced
this pull request
Sep 15, 2025
* apollo minestom implementation * minestom markdown docs * publish minestom jar * update javadoc version tags to 1.2.0 * Implement Minestom user metadata * implement minestom properties & finish docs * send the apollo version in the start server request * add minestom to the download page * remove unused imports * fix update required version logic * Remove gradle publish for the minestom branch * Add command properties
ItsNature
added a commit
that referenced
this pull request
Sep 15, 2025
* Deploy as 1.2.0-SNAPSHOT * Update adventure version (#232) * Minestom Support (#231) * apollo minestom implementation * minestom markdown docs * publish minestom jar * update javadoc version tags to 1.2.0 * Implement Minestom user metadata * implement minestom properties & finish docs * send the apollo version in the start server request * add minestom to the download page * remove unused imports * fix update required version logic * Remove gradle publish for the minestom branch * Add command properties * Convert client brands & mods metadata to be a count-based system (#233) * Bump to 1.2.0 (#235) --------- Co-authored-by: Golfing7 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
type: Documentation
Documentation improvement or issue
type: Enhancement
Feature improvement or addition
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Apollo for Minestom
Minestom is a modern, open-source Minecraft server that enables developers to build highly performant and flexible servers from the ground up. It operates as a library, rather than relying on a traditional plugin-based architecture.
Integrating Apollo with your Minestom server is straightforward. Instead of installing a plugin, you'll simply add the
apollo-minestomartifact as a library dependency to your project and initialize theApolloMinestomPlatformwithin your server's startup sequence.Adding the Repository
First, you need to add the Lunar Client Maven repository to your build configuration.
build.gradle.ktsrepositories { maven { name = "lunarclient" url = uri("https://repo.lunarclient.dev") } }build.gradlerepositories { maven { name = 'lunarclient' url = 'https://repo.lunarclient.dev' } }pom.xmlAdding the Dependency
Next, add the
apollo-minestomdependency to your project.build.gradle.ktsdependencies { implementation("com.lunarclient:apollo-minestom:1.2.0") }build.gradledependencies { implementation 'com.lunarclient:apollo-minestom:1.2.0' }pom.xmlInitialization
To initialize Apollo, simply call
ApolloMinestomPlatform.init(ApolloMinestomProperties.DEFAULT_PROPERTIES)in your server's startup code, before you start the server. This will set up all the necessary listeners and modules.Here is an example of a simple Minestom server with Apollo integrated:
Configuration
You can customize Apollo's behavior by passing a configured
ApolloMinestomPropertiesobject during initialization. WhileApolloMinestomProperties.DEFAULT_PROPERTIESis sufficient for most use cases, you can tailor the settings to your server's specific needs.Here’s an overview of the available properties and how to use them.
Properties
These properties control the core functionalities of Apollo on the Minestom platform.
sendRegisterPacket- Default:
- Description: Controls whether Apollo should send the
If you disable this, you are responsible for registering the `lunar:apollo` channel manually. Failure to do so will prevent Apollo from communicating with clients.trueminecraft:registerpacket for its plugin channel (lunar:apollo). Unlike other server platforms, Minestom does not manage a global registry of plugin channels, so this step is necessary for the client to recognize Apollo.configPath./Apollo/Apollofolder in your server's root directory. You can change this to integrate with your existing configuration structure.Commands
Apollo's in-game commands can be fine-tuned using the
commandPropertiesbuilder. This allows you to disable commands or integrate with your own permissions system.Since Minestom lacks a traditional, unified permissions API, Apollo provides a flexible predicate-based system. By default, it relies on Minestom's built-in operator permission levels.
/apollo,/lunarclient):2Apollo Available Updatenotifications:4Disabling Commands
Custom Permissions
Complete Example
Here is an example of a complete initialization call with custom properties:
Review Request Checklist
feature/add-module&bugfix/fix-issue)