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

Previous
Permissions & Security