Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rexlmanu/paper-plugin-starter
A ready to start boilerplate for paper plugins including config, command and listeners
https://github.com/rexlmanu/paper-plugin-starter
boilerplate gradle guice paper spigot
Last synced: 2 months ago
JSON representation
A ready to start boilerplate for paper plugins including config, command and listeners
- Host: GitHub
- URL: https://github.com/rexlmanu/paper-plugin-starter
- Owner: rexlManu
- License: mit
- Created: 2023-08-04T01:33:56.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-04T10:32:07.000Z (2 months ago)
- Last Synced: 2024-12-07T21:50:55.275Z (2 months ago)
- Topics: boilerplate, gradle, guice, paper, spigot
- Language: Java
- Homepage:
- Size: 290 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# paper-plugin-starter
This is a boilerplate for creating a Paper plugin.
## Features
- Gradle Kotlin DSL
- GitHub Actions
- `paper-plugin.yml` dynamically generated via gradle
- Dependencies are downloaded while runtime instead of shading them
- Dependency Injection via Guice
- Automatic discovery of Components
- Typed Configurations that support reloading
- Incendo Cloud v2 Command Framework
- Listeners and annotation based commands are registered when discovered
- Annotations for Lifecycle Events like `@OnPluginEnable`, `@OnPluginDisable` and `@OnPluginReload`
- Lifecycle Hooks `@RunBefore` and `@RunAfter` for precise declaration when methods are executed
- Define methods as `@TimedTask` to run them on an async repeating schedule
- Extensive Task Scheduler that also supports Folia
- Gradle Version Catalogs## Libraries
- [Paper](https://papermc.io/)
- [Guice](https://github.com/google/guice)
- [ConfigLib](https://github.com/Exlll/ConfigLib)
- [Cloud](https://github.com/Incendo/cloud)
- [Classgraph](https://github.com/classgraph/classgraph)
- [Annotations](https://github.com/JetBrains/java-annotations)
- [InvUI](https://github.com/NichtStudioCode/InvUI)## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Author
- [Emmanuel Lampe](https://github.com/rexlManu)