Bungee Plugin Starter
Quickstart (BungeeCord)
Start building BungeeCord or Waterfall plugins effortlessly with Quartz Framework. This guide walks you through setting up your project using the Quartz Bungee Plugin Starter.
Maven Setup
Add Quartz Parent
First, include the Quartz parent BOM in your Maven project. This centralizes version management and simplifies dependency declarations.
<parent>
<groupId>xyz.quartzframework</groupId>
<artifactId>quartz-parent</artifactId>
<version>{version}</version>
<relativePath/>
</parent>
Add Snapshot Repository
Quartz is published through Maven Central, but if you are using a snapshot version, be sure to add their repository to your <repositories> block:
<repositories>
<repository>
<id>sonatype-central</id>
<url>https://central.sonatype.com/repository/maven-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
Add Dependency
Then, make sure you have the quartz-bungee-plugin-starter dependency in <dependencies> block:
<dependencies>
<dependency>
<groupId>xyz.quartzframework</groupId>
<artifactId>quartz-bungee-plugin-starter</artifactId>
</dependency>
</dependencies>
Gradle Setup
Add Quartz dependencies in your build.gradle.kts or build.gradle.
Add Quartz Parent
First, include the Quartz parent BOM in your Gradle project. This centralizes version management and simplifies dependency declarations.
dependencies {
implementation(platform("xyz.quartzframework:quartz-parent:{version}"))
}
Add Snapshot Repository
Quartz is published through Maven Central, but if you are using a snapshot version, be sure to add their repository to your repositories {} block:
repositories {
mavenCentral()
maven {
name = "SonatypeSnapshots"
url = uri("https://central.sonatype.com/repository/maven-snapshots")
mavenContent {
snapshotsOnly()
}
}
}
Add Dependency
Then, make sure you have the quartz-bungee-plugin-starter dependency in dependencies {} block:
dependencies {
implementation("xyz.quartzframework:quartz-bungee-plugin-starter")
}
Define your Main class
@QuartzApplication
public class MyPlugin extends BungeePlugin {
@Override
public void main() {
BungeePlugin
.builder(this)
.build();
}
You should know
The Quartz Framework will not handle your plugin if you do not annotate your main class with @QuartzApplication
Create your bungee.yml
name: '@project.name@'
version: '@project.version@'
main: xyz.foo.bar.MyPlugin
You should remember
Remember to correctly reference your main class in your bungee.yml