Thank you for your interest in improving our Minecraft plugins! We welcome community contributions, bug fixes, and feature enhancements via Pull Requests.
Please note that this project is released under a Source-Available License (see our LICENSE file). By contributing to this repository, you agree to the terms outlined below.
By submitting a Pull Request, you explicitly agree that:
- Your contributions are provided under the same non-commercial, non-redistribution terms as the rest of the project.
- You grant ESMP a perpetual, irrevocable, worldwide, royalty-free license to use, modify, and distribute your code within this project.
- Language: Kotlin is our project standard. Avoid using Java unless explicitly required for specific library compatibility.
- Code Style: Follow standard Kotlin coding conventions (official JetBrains style guide). Ensure your code is clean, idiomatic, and properly documented.
- Build System: Ensure any dependencies you add are properly scoped in the Gradle build files (
build.gradle.kts). - Performance: Minecraft server performance is critical. Avoid heavy, unoptimized operations on the main server thread. Use asynchronous tasks where appropriate.
Before writing code, please check the Issues tab to see if your topic is already being discussed. If not, open a new issue using our issue template.
- Fork the Repository: Create your own copy of this repository on GitHub.
- Create a Branch: Create an isolated branch for your changes (e.g.,
git checkout -b feature/cool-mechanicorgit checkout -b fix/event-leak). - Make Your Changes: Write your Kotlin code, keeping server resource usage in mind.
- Test Locally: Build the
.jarand test it on a local development Minecraft server. Ensure it runs smoothly without throwing stack traces in the console. - Commit & Push: Commit your changes with descriptive messages and push them to your fork.
- Open a PR: Submit a Pull Request from your fork back to our
mainbranch.
Thank you for helping us optimize and expand our Minecraft plugins!