Spigot Plugin Starter

Quickstart (Spigot, +Forks)

Start building Spigot, Paper, or forked server plugins effortlessly with Quartz Framework. This guide walks you through setting up your project with the Quartz Spigot 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-spigot-plugin-starter dependency in <dependencies> block:

<dependencies>
    <dependency>
        <groupId>xyz.quartzframework</groupId>
        <artifactId>quartz-spigot-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.

plugins {
  java
  id("xyz.quartzframework:quartz-parent") version "{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-spigot-plugin-starter dependency in <dependencies> block:

dependencies {
    implementation("xyz.quartzframework:quartz-spigot-plugin-starter")
}

Define your Main class

@QuartzApplication
public class MyPlugin extends SpigotPlugin {

    @Override
    public void main() {
        SpigotPlugin
            .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 plugin.yml

name: '@project.name@'
version: '@project.version@'
main: xyz.foo.bar.MyPlugin

You should remember

Remember to correctly reference your main class in your plugin.yml

Previous
Command System