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